diff -Nru libdap-3.19.1/aclocal.m4 libdap-3.20.5/aclocal.m4 --- libdap-3.19.1/aclocal.m4 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/aclocal.m4 2020-02-17 07:35:45.000000000 +0000 @@ -1235,6 +1235,7 @@ m4_include([gl/m4/wint_t.m4]) m4_include([conf/acinclude.m4]) m4_include([conf/cppunit.m4]) +m4_include([conf/cxx_flags_check.m4]) m4_include([conf/gcov_valgrind.m4]) m4_include([conf/libtool.m4]) m4_include([conf/ltoptions.m4]) diff -Nru libdap-3.19.1/AlarmHandler.h libdap-3.20.5/AlarmHandler.h --- libdap-3.19.1/AlarmHandler.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/AlarmHandler.h 2020-02-17 07:35:45.000000000 +0000 @@ -50,16 +50,16 @@ public: // Ensure that d_stream gets initialized... - AlarmHandler() : d_file( 0 )// , d_stream( cout ) + AlarmHandler() : d_file( 0 ) {} - AlarmHandler(FILE *s) : d_file(s)//, d_stream( cout ) + explicit AlarmHandler(FILE *s) : d_file(s)//, d_stream( cout ) {} /** Store information to be used by the handler. @param out Write to this stream. @deprecated The stream param is ignored. Use the default constructor instead. */ - AlarmHandler(ostream &) : d_file(0)//, d_stream( out ) + explicit AlarmHandler(ostream &) : d_file(0) {} virtual ~AlarmHandler() diff -Nru libdap-3.19.1/Ancillary.h libdap-3.20.5/Ancillary.h --- libdap-3.19.1/Ancillary.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Ancillary.h 2020-02-17 07:35:45.000000000 +0000 @@ -37,8 +37,6 @@ #include -using std::string ; - #include "DAS.h" #include "DDS.h" diff -Nru libdap-3.19.1/Array.cc libdap-3.20.5/Array.cc --- libdap-3.19.1/Array.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Array.cc 2020-02-17 07:35:45.000000000 +0000 @@ -1,4 +1,3 @@ - // -*- mode: c++; c-basic-offset:4 -*- // This file is part of libdap, A C++ implementation of the OPeNDAP Data @@ -35,7 +34,7 @@ #include "config.h" -// #define DODS_DEBUG +//#define DODS_DEBUG #include #include @@ -57,12 +56,14 @@ #include "debug.h" #include "InternalErr.h" #include "escaping.h" +#include "DapIndent.h" using namespace std; namespace libdap { -Array::dimension::dimension(D4Dimension *d) : dim(d), use_sdim_for_slice(true) +Array::dimension::dimension(D4Dimension *d) : + dim(d), use_sdim_for_slice(true) { size = d->size(); name = d->name(); @@ -73,17 +74,16 @@ c_size = size; } -void -Array::_duplicate(const Array &a) +void Array::_duplicate(const Array &a) { _shape = a._shape; // Deep copy the Maps if they are being used. if (a.d_maps) { - d_maps = new D4Maps(*(a.d_maps)); + d_maps = new D4Maps(*(a.d_maps)); } else { - d_maps = 0; + d_maps = 0; } // d_maps = a.d_maps ? new D4Maps(*(a.d_maps)) : 0; } @@ -95,13 +95,12 @@ // should probably work this way too, but it doesn't. 9/21/2001 jhrg /** @deprecated Calling this method should never be necessary. It is used - internally called whenever the size of the Array is changed, e.g., by a - constraint. + internally called whenever the size of the Array is changed, e.g., by a + constraint. - Changes the length property of the array. -*/ -void -Array::update_length(int) + Changes the length property of the array. + */ +void Array::update_length(int) { int length = 1; for (Dim_citer i = _shape.begin(); i != _shape.end(); i++) { @@ -120,47 +119,48 @@ // allocated using new - The dtor for Vector will delete this object. /** Build an array with a name and an element type. The name may be omitted, - which will create a nameless variable. The template (element type) pointer - may also be omitted, but if it is omitted when the Array is created, it - \e must be added (with \c add_var()) before \c read() or \c deserialize() - is called. - - @todo Force the Array::add_var() method to be used to add \e v. - This version of add_var() calls Vector::add_var(). - - @param n A string containing the name of the variable to be - created. - @param v A pointer to a variable of the type to be included - in the Array. May be null and set later using add_var() or add_var_nocopy() - @brief Array constructor -*/ -Array::Array(const string &n, BaseType *v, bool is_dap4 /* default:false */) - : Vector(n, 0, dods_array_c, is_dap4), d_maps(0) + which will create a nameless variable. The template (element type) pointer + may also be omitted, but if it is omitted when the Array is created, it + \e must be added (with \c add_var()) before \c read() or \c deserialize() + is called. + + @todo Force the Array::add_var() method to be used to add \e v. + This version of add_var() calls Vector::add_var(). + + @param n A string containing the name of the variable to be + created. + @param v A pointer to a variable of the type to be included + in the Array. May be null and set later using add_var() or add_var_nocopy() + @brief Array constructor + */ +Array::Array(const string &n, BaseType *v, bool is_dap4 /* default:false */) : + Vector(n, 0, dods_array_c, is_dap4), d_maps(0) { add_var(v); // Vector::add_var() stores null if v is null } /** Build an array on the server-side with a name, a dataset name from which - this Array is being created, and an element type. + this Array is being created, and an element type. - @todo Force the Array::add_var() method to be used to add \e v. - This version of add_var() calls Vector::add_var(). + @todo Force the Array::add_var() method to be used to add \e v. + This version of add_var() calls Vector::add_var(). - @param n A string containing the name of the variable to be created. - @param d A string containing the name of the dataset from which this - variable is being created. - @param v A pointer to a variable of the type to be included - in the Array. - @brief Array constructor -*/ -Array::Array(const string &n, const string &d, BaseType *v, bool is_dap4 /* default:false */) - : Vector(n, d, 0, dods_array_c, is_dap4), d_maps(0) + @param n A string containing the name of the variable to be created. + @param d A string containing the name of the dataset from which this + variable is being created. + @param v A pointer to a variable of the type to be included + in the Array. + @brief Array constructor + */ +Array::Array(const string &n, const string &d, BaseType *v, bool is_dap4 /* default:false */) : + Vector(n, d, 0, dods_array_c, is_dap4), d_maps(0) { add_var(v); // Vector::add_var() stores null if v is null } /** @brief The Array copy constructor. */ -Array::Array(const Array &rhs) : Vector(rhs) +Array::Array(const Array &rhs) : + Vector(rhs) { _duplicate(rhs); } @@ -168,7 +168,7 @@ /** @brief The Array destructor. */ Array::~Array() { - delete d_maps; + delete d_maps; } BaseType * @@ -180,8 +180,7 @@ Array & Array::operator=(const Array &rhs) { - if (this == &rhs) - return *this; + if (this == &rhs) return *this; dynamic_cast(*this) = rhs; @@ -190,89 +189,83 @@ return *this; } -void -Array::transform_to_dap4(D4Group *root, Constructor *container) +void Array::transform_to_dap4(D4Group *root, Constructor *container) { - DBG(cerr << __func__ << "() - BEGIN (array:" << name() << ")" << endl;); - Array *dest = static_cast(ptr_duplicate()); + Array *dest = static_cast(ptr_duplicate()); - // If it's already a DAP4 object then we can just return it! - if(is_dap4()){ - DBG(cerr << __func__ << "() - Already DAP4 type: Just making a copy and adding to container. " << endl;); - container->add_var_nocopy(dest); - DBG(cerr << __func__ << "() - END (Already DAP4 type)" << endl;); - } - // Process the Array's dimensions, making D4 shared dimensions for - // D2 dimensions that are named. If there is just a size, don't make - // a D4Dimension (In DAP4 you cannot share a dimension unless it has - // a name). jhrg 3/18/14 - - D4Dimensions *root_dims = root->dims(); - for (Array::Dim_iter dap2_dim = dest->dim_begin(), e = dest->dim_end(); dap2_dim != e; ++dap2_dim) { - if (!(*dap2_dim).name.empty()) { - DBG(cerr << __func__ << "() - Processing the array dimension '" << (*dap2_dim).name << "'" << endl;); - - // If a D4Dimension with the name already exists, use it. - D4Dimension *d4_dim = root_dims->find_dim((*dap2_dim).name); - if (!d4_dim) { - d4_dim = new D4Dimension((*dap2_dim).name, (*dap2_dim).size); - root_dims->add_dim_nocopy(d4_dim); - DBG(cerr << __func__ << "() -" << - " Added NEW D4Dimension '"<< d4_dim->name() << "' (" << - (void *)d4_dim << ") to root->dims()"<< endl;); - } - else { - DBG(cerr << __func__ << "() -" << - " Using Existing D4Dimension '"<< d4_dim->name() << "' (" << - (void *)d4_dim << ")"<< endl;); - - if (d4_dim->size() != (unsigned long) (*dap2_dim).size) { - // TODO Revisit this decision. jhrg 3/18/14 - // ...in case the name/size are different, make a unique D4Dimension - // but don't fiddle with the name. Not sure I like this idea, so I'm - // making the case explicit (could be rolled in to the block above). - // jhrg 3/18/14 - // - // This is causing problems in the FITS handler because there are cases - // where two arrays have dimensions with the same name but different - // sizes. The deserializing code is using the first size listed, which is - // wrong in some cases. I'm going to try making this new D4Dimension using - // the dim name along with the variable name. jhrg 8/15/14 + // If it's already a DAP4 object then we can just return it! + if (is_dap4()) { + container->add_var_nocopy(dest); + } + + // Process the Array's dimensions, making D4 shared dimensions for + // D2 dimensions that are named. If there is just a size, don't make + // a D4Dimension (In DAP4 you cannot share a dimension unless it has + // a name). jhrg 3/18/14 + + D4Dimensions *root_dims = root->dims(); + for (Array::Dim_iter dap2_dim = dest->dim_begin(), e = dest->dim_end(); dap2_dim != e; ++dap2_dim) { + if (!(*dap2_dim).name.empty()) { + + // If a D4Dimension with the name already exists, use it. + D4Dimension *d4_dim = root_dims->find_dim((*dap2_dim).name); + if (!d4_dim) { + d4_dim = new D4Dimension((*dap2_dim).name, (*dap2_dim).size); + root_dims->add_dim_nocopy(d4_dim); + } + else { + DBG(cerr << __func__ << "() -" << + " Using Existing D4Dimension '"<< d4_dim->name() << "' (" << + (void *)d4_dim << ")"<< endl);; + + if (d4_dim->size() != (unsigned long) (*dap2_dim).size) { + // TODO Revisit this decision. jhrg 3/18/14 + // ...in case the name/size are different, make a unique D4Dimension + // but don't fiddle with the name. Not sure I like this idea, so I'm + // making the case explicit (could be rolled in to the block above). + // jhrg 3/18/14 + // + // This is causing problems in the FITS handler because there are cases + // where two arrays have dimensions with the same name but different + // sizes. The deserializing code is using the first size listed, which is + // wrong in some cases. I'm going to try making this new D4Dimension using + // the dim name along with the variable name. jhrg 8/15/14 d4_dim = new D4Dimension((*dap2_dim).name + "_" + name(), (*dap2_dim).size); DBG(cerr << __func__ << "() -" << - " Utilizing Name/Size Conflict Naming Artifice. name'"<< d4_dim->name() << "' (" << - (void *)d4_dim << ")"<< endl;); + " Utilizing Name/Size Conflict Naming Artifice. name'"<< d4_dim->name() << "' (" << + (void *)d4_dim << ")"<< endl);; root_dims->add_dim_nocopy(d4_dim); - } - } - // At this point d4_dim's name and size == those of (*d) so just set - // the D4Dimension pointer so it matches the one in the D4Group. - (*dap2_dim).dim = d4_dim; - } - - } - - // Copy the D2 attributes to D4 Attributes - dest->attributes()->transform_to_dap4(get_attr_table()); - dest->set_is_dap4(true); - container->add_var_nocopy(dest); - DBG(cerr << __func__ << "() - END (array:" << name() << ")" << endl;); + } + } + // At this point d4_dim's name and size == those of (*d) so just set + // the D4Dimension pointer so it matches the one in the D4Group. + (*dap2_dim).dim = d4_dim; + } + + } + + // Copy the D2 attributes to D4 Attributes + dest->attributes()->transform_to_dap4(get_attr_table()); + dest->set_is_dap4(true); + container->add_var_nocopy(dest); + DBG(cerr << __func__ << "() - END (array:" << name() << ")" << endl);; } -bool Array::is_dap2_grid(){ +bool Array::is_dap2_grid() +{ bool is_grid = false; - if(this->is_dap4()){ - DBG( cerr << __func__ << "() - Array '"<< name() << "' is DAP4 object!" << endl;) + if (this->is_dap4()) { + DBG( cerr << __func__ << "() - Array '"<< name() << "' is DAP4 object!" << endl); D4Maps *d4_maps = this->maps(); is_grid = d4_maps->size(); // It can't be a grid if there are no maps... - if(is_grid){ - DBG( cerr << __func__ << "() - Array '"<< name() << "' has D4Maps." << endl;) + if (is_grid) { + DBG( cerr << __func__ << "() - Array '"<< name() << "' has D4Maps." << endl); // hmmm this might be a DAP2 Grid... D4Maps::D4MapsIter i = d4_maps->map_begin(); D4Maps::D4MapsIter e = d4_maps->map_end(); - while(i!=e){ - DBG( cerr << __func__ << "() - Map '"<< (*i)->array()->name() << " has " << (*i)->array()->_shape.size() << " dimension(s)." << endl;) - if((*i)->array()->_shape.size() > 1){ + while (i != e) { + DBG( cerr << __func__ << "() - Map '"<< (*i)->array()->name() << " has " << (*i)->array()->_shape.size() << " dimension(s)." << endl); + if ((*i)->array()->_shape.size() > 1) { is_grid = false; i = e; } @@ -282,10 +275,11 @@ } } else { - DBG( cerr << __func__ << "() - Array '"<< name() << "' has no D4Maps." << endl;) + DBG( cerr << __func__ << "() - Array '"<< name() << "' has no D4Maps." << endl); } } - DBG( cerr << __func__ << "() - is_grid: "<< (is_grid?"true":"false") << endl;) + + DBG( cerr << __func__ << "() - is_grid: "<< (is_grid?"true":"false") << endl); return is_grid; } @@ -305,59 +299,56 @@ * a type that cannot be represented in DAP2 the return will be NULL. */ std::vector * -Array::transform_to_dap2(AttrTable *){ - DBG(cerr << __func__ << "() - BEGIN Array '"<< name() << "'" << endl;); +Array::transform_to_dap2(AttrTable *) +{ + DBG(cerr << __func__ << "() - BEGIN Array '"<< name() << "'" << endl);; BaseType *dest; - if(is_dap4()){ // Don't convert a DAP2 thing - - // Can Precious be represented as a DAP2 Grid - if(is_dap2_grid()){ + if (!is_dap4()) { // Don't convert a DAP2 thing + dest = ptr_duplicate(); + } + else { + // At this point we have a DAP4 Array. It have D4Attributes and nothing + // in the DAP2 AttrTable (which is held as a reference, defined in BaseType). + // This test determines in the D4 Array qualifies as a D2 Grid. + if (is_dap2_grid()) { // Oh yay! Grids are special. - DBG(cerr << __func__ << "() - Array '"<< name() << "' is dap2 Grid!" << endl;); + DBG(cerr << __func__ << "() - Array '"<< name() << "' is dap2 Grid!" << endl);; Grid *g = new Grid(name()); dest = g; - Array *grid_array = (Array *) this->ptr_duplicate(); + Array *grid_array = static_cast(ptr_duplicate()); g->set_array(grid_array); - // Get the metadata into the Grid - AttrTable *grid_attrs = attributes()->get_AttrTable(name()); - g->set_attr_table(*grid_attrs); // Copy it into the Grid object. - // grid_array->set_attr_table(*grid_attrs); // Copy it into the data Array. - delete grid_attrs; - - // Clear the Grid data Array attributes. - AttrTable at; - at.set_name(name()); - grid_array->set_attr_table(at); + // Fix for HK-403. jhrg 6/17/19 + attributes()->transform_attrs_to_dap2(&grid_array->get_attr_table()); // Process the Map Arrays. D4Maps *d4_maps = this->maps(); vector dropped_maps; D4Maps::D4MapsIter miter = d4_maps->map_begin(); D4Maps::D4MapsIter end = d4_maps->map_end(); - for( ; miter!=end; miter++){ - D4Map *d4_map = (*miter); + for (; miter != end; miter++) { + D4Map *d4_map = (*miter); Array *d4_map_array = const_cast(d4_map->array()); vector *d2_result = d4_map_array->transform_to_dap2(&(g->get_attr_table())); - if(d2_result){ - if(d2_result->size()>1) - throw Error(internal_error,string(__func__)+"() - ERROR: D4Map Array conversion resulted in multiple DAP2 objects."); + if (d2_result) { + if (d2_result->size() > 1) + throw Error(internal_error, "D4Map Array conversion resulted in multiple DAP2 objects."); // TODO - This is probably slow and needs a better pattern. const_cast? static_cast? Array *d2_map_array = dynamic_cast((*d2_result)[0]); - if(d2_map_array){ - if(d2_map_array->dimensions()!=1) - throw Error(internal_error,string(__func__)+"() - ERROR: DAP2 array from D4Map Array conversion has more than 1 dimension."); + if (d2_map_array) { + if (d2_map_array->dimensions() != 1) + throw Error(internal_error, "DAP2 array from D4Map Array conversion has more than 1 dimension."); - g->add_map(d2_map_array,false); + g->add_map(d2_map_array, false); AttrTable at = d2_map_array->get_attr_table(); DBG( cerr << __func__ << "() - " << "DAS For Grid Map '" << d2_map_array->name() << "':" << endl; - at.print(cerr); ); + at.print(cerr); ); } else { - throw Error(internal_error,string(__func__)+"() - Unable to interpret returned DAP2 content."); + throw Error(internal_error, "Unable to interpret returned DAP2 content."); } delete d2_result; } @@ -367,60 +358,61 @@ } // Did we have a transform failure? - if(!dropped_maps.empty()){ + if (!dropped_maps.empty()) { // Yup... tell the story in the attributes. AttrTable *dv_table = Constructor::make_dropped_vars_attr_table(&dropped_maps); - dest->get_attr_table().append_container(dv_table,dv_table->get_name()); + dest->get_attr_table().append_container(dv_table, dv_table->get_name()); } } else { - // It's not a Grid so we can make a simple copy of our Precious. - DBG( cerr << __func__ << "() - Array '"<< name() << "' is not a Grid!" << endl); - BaseType *proto = this->prototype(); - switch(proto->type()){ + DBG( cerr << __func__ << "() - Array '"<< name() << "' is not a Grid!" << endl); + + BaseType *proto = prototype(); + switch (proto->type()) { case dods_int64_c: case dods_uint64_c: case dods_enum_c: case dods_opaque_c: - { - // For now we punt on these type as they have no easy representation in + // For now we punt on these types as they have no easy representation in // the DAP2 data model. By setting this to NULL we cause the Array to be // dropped and this will be reflected in the metadata (DAS). dest = NULL; break; - } + default: - { - dest = this->ptr_duplicate(); - // convert the d4 attributes to a dap2 attribute table. - AttrTable *attrs = this->attributes()->get_AttrTable(name()); - dest->set_attr_table(*attrs); - dest->set_is_dap4(false); - AttrTable at = dest->get_attr_table(); - DBG( cerr << __func__ << "() - " << - "DAS for new Array '" << dest->name() << "':" << endl; - at.print(cerr); ) + // ptr_duplicate() does the Attributes too. + dest = ptr_duplicate(); + // Fix for HK-403. jhrg 6/17/19 + // Only transform the DAP4 attributes to DAP2 ones if the DAP2 object lacks + // attributes. If the new DAP2 variable already has attributes, they were + // added by this process (driven by D4Group::transform_to_dap2() and calling + // attributes()->transform_to_dap2() will put a second copy of each attribute's + // value in the DAP2 AttrTable. This attribute transform code (here and elsewhere) + // depends on the AttrTable for a DAP4 variable initially being empty. Once it + // contains attributes, the code assumes they were put there by this transform + // process. jhrg 6/18/19 + if (dest->get_attr_table().get_size() == 0) { + attributes()->transform_attrs_to_dap2(&dest->get_attr_table()); + dest->get_attr_table().set_name(name()); + } + + dest->set_is_dap4(false); break; } - } } - - } - else { - // If it's a DAP2 Array already then we just make a copy of our Precious. - dest = this->ptr_duplicate(); } - // attrs->print(cerr,"",true); + vector *result; - if(dest){ - result = new vector(); + if (dest) { + result = new vector(); result->push_back(dest); } else { result = NULL; } - DBG( cerr << __func__ << "() - END Array '"<< name() << "'" << endl;); + + DBG( cerr << __func__ << "() - END Array '"<< name() << "'" << endl);; return result; } @@ -435,53 +427,51 @@ * @param old_dims The Old D4Dimension objects (held in a D4Dimensions instance) * @param new_dims The New D4Dimension objects. */ -void -Array::update_dimension_pointers(D4Dimensions *old_dims, D4Dimensions *new_dims) +void Array::update_dimension_pointers(D4Dimensions *old_dims, D4Dimensions *new_dims) { - std::vector::iterator i = _shape.begin(), e = _shape.end(); - while (i != e) { - D4Dimensions::D4DimensionsIter old_i = old_dims->dim_begin(), old_e = old_dims->dim_end(); - while (old_i != old_e) { - if ((*i).dim == *old_i) { - (*i).dim = new_dims->find_dim((*old_i)->name()); - } - ++old_i; - } + std::vector::iterator i = _shape.begin(), e = _shape.end(); + while (i != e) { + D4Dimensions::D4DimensionsIter old_i = old_dims->dim_begin(), old_e = old_dims->dim_end(); + while (old_i != old_e) { + if ((*i).dim == *old_i) { + (*i).dim = new_dims->find_dim((*old_i)->name()); + } + ++old_i; + } - ++i; - } + ++i; + } } /** @brief Add the BaseType pointer to this constructor type - instance. + instance. + + Propagate the name of the BaseType instance to this instance. This + ensures that variables at any given level of the DDS table have + unique names (i.e., that Arrays do not have their default name ""). If + v's name is null, then assume that the array \e is named and + don't overwrite it with v's null name. + + @note It is possible for the BaseType pointer to be null when this + method is called, a behavior that differs considerably from that of + the other 'add_var()' methods. + + @note This version checks to see if \e v is an array. If so, it calls + Vector::add_var() using the template variable of \e v and then appends + the dimensions of \e v to this array. This somewhat obscure behavior + simplifies 'translating' Sequences to arrays when the actual variable + being translated is not a regular Sequence but an array of Sequences. + This is of very debatable usefulness, but it's here all the same. + + @param v The template variable for the array + @param p The Part parameter defaults to nil and is ignored by this method. + */ - Propagate the name of the BaseType instance to this instance. This - ensures that variables at any given level of the DDS table have - unique names (i.e., that Arrays do not have their default name ""). If - v's name is null, then assume that the array \e is named and - don't overwrite it with v's null name. - - @note It is possible for the BaseType pointer to be null when this - method is called, a behavior that differs considerably from that of - the other 'add_var()' methods. - - @note This version checks to see if \e v is an array. If so, it calls - Vector::add_var() using the template variable of \e v and then appends - the dimensions of \e v to this array. This somewhat obscure behavior - simplifies 'translating' Sequences to arrays when the actual variable - being translated is not a regular Sequence but an array of Sequences. - This is of very debatable usefulness, but it's here all the same. - - @param v The template variable for the array - @param p The Part parameter defaults to nil and is ignored by this method. -*/ - -void -Array::add_var(BaseType *v, Part) -{ - // If 'v' is an Array, add the template instance to this object and - // then copy the dimension information. Odd semantics; I wonder if this - //is ever used. jhrg 6/13/12 +void Array::add_var(BaseType *v, Part) +{ +// If 'v' is an Array, add the template instance to this object and +// then copy the dimension information. Odd semantics; I wonder if this +//is ever used. jhrg 6/13/12 if (v && v->type() == dods_array_c) { Array *a = static_cast(v); Vector::add_var(a->var()); @@ -498,12 +488,11 @@ } } -void -Array::add_var_nocopy(BaseType *v, Part) +void Array::add_var_nocopy(BaseType *v, Part) { - // If 'v' is an Array, add the template instance to this object and - // then copy the dimension information. Odd semantics; I wonder if this - //is ever used. jhrg 6/13/12 +// If 'v' is an Array, add the template instance to this object and +// then copy the dimension information. Odd semantics; I wonder if this +//is ever used. jhrg 6/13/12 if (v && v->type() == dods_array_c) { Array &a = dynamic_cast(*v); Vector::add_var_nocopy(a.var()); @@ -520,18 +509,17 @@ } /** Given a size and a name, this function adds a dimension to the - array. For example, if the Array is already 10 elements long, - calling append_dim with a size of 5 will transform the array - into a 10x5 matrix. Calling it again with a size of 2 will - create a 10x5x2 array, and so on. This sets Vector's length - member as a side effect. - - @param size The size of the desired new row. - @param name The name of the new dimension. This defaults to - an empty string. - @brief Add a dimension of a given size. */ -void -Array::append_dim(int size, const string &name) + array. For example, if the Array is already 10 elements long, + calling append_dim with a size of 5 will transform the array + into a 10x5 matrix. Calling it again with a size of 2 will + create a 10x5x2 array, and so on. This sets Vector's length + member as a side effect. + + @param size The size of the desired new row. + @param name The name of the new dimension. This defaults to + an empty string. + @brief Add a dimension of a given size. */ +void Array::append_dim(int size, const string &name) { dimension d(size, www2id(name)); _shape.push_back(d); @@ -539,10 +527,9 @@ update_length(); } -void -Array::append_dim(D4Dimension *dim) +void Array::append_dim(D4Dimension *dim) { - dimension d(/*dim->size(), www2id(dim->name()),*/ dim); + dimension d(/*dim->size(), www2id(dim->name()),*/dim); _shape.push_back(d); update_length(); @@ -553,42 +540,57 @@ * @param size cardinality of the new dimension * @param name optional name for the new dimension */ -void -Array::prepend_dim(int size, const string& name/* = "" */) +void Array::prepend_dim(int size, const string& name/* = "" */) { - dimension d(size, www2id(name)); - // Shifts the whole array, but it's tiny in general - _shape.insert(_shape.begin(), d); + dimension d(size, www2id(name)); +// Shifts the whole array, but it's tiny in general + _shape.insert(_shape.begin(), d); - update_length(); // the number is ignored... + update_length(); // the number is ignored... } -void -Array::prepend_dim(D4Dimension *dim) +void Array::prepend_dim(D4Dimension *dim) { - dimension d(/*dim->size(), www2id(dim->name()),*/ dim); - // Shifts the whole array, but it's tiny in general - _shape.insert(_shape.begin(), d); + dimension d(/*dim->size(), www2id(dim->name()),*/dim); +// Shifts the whole array, but it's tiny in general + _shape.insert(_shape.begin(), d); - update_length(); // the number is ignored... + update_length(); // the number is ignored... } /** Remove all the dimensions currently set for the Array. This also * removes all constraint information. */ -void -Array::clear_all_dims() +void Array::clear_all_dims() { - _shape.clear(); + _shape.clear(); +} + +/** Renames dimension to a new name + + @brief Renames dimension. + */ + +void Array::rename_dim(const string &oldName, const string &newName) +{ + std::vector::iterator i = _shape.begin(), e = _shape.end(); + while (i != e) { + dimension &d = *i; + if (d.name == oldName) { + DBG(cerr << "Old name = " << d.name << " newName = " << newName << endl); + d.name = newName; + } + + ++i; + } } -/** Resets the dimension constraint information so that the entire - array is selected. - @brief Reset constraint to select entire array. -*/ +/** Resets the dimension constraint information so that the entire + array is selected. -void -Array::reset_constraint() + @brief Reset constraint to select entire array. + */ +void Array::reset_constraint() { set_length(-1); @@ -602,67 +604,61 @@ } } - /** Tell the Array object to clear the constraint information about - dimensions. Do this once before calling add_constraint() - for each new constraint expression. Only the dimensions explicitly - selected using add_constraint() will be sent. - - @deprecated This should never be used. - @brief Clears the projection; add each projected dimension explicitly using - add_constraint. -*/ -void -Array::clear_constraint() + dimensions. Do this once before calling add_constraint() + for each new constraint expression. Only the dimensions explicitly + selected using add_constraint() will be sent. + + @deprecated This should never be used. + @brief Clears the projection; add each projected dimension explicitly using + add_constraint. + */ +void Array::clear_constraint() { reset_constraint(); } // Note: MS VC++ won't tolerate embedded newlines in strings, hence the \n // is explicit. -static const char *array_sss = \ -"Invalid constraint parameters: At least one of the start, stride or stop \n\ +static const char *array_sss = + "Invalid constraint parameters: At least one of the start, stride or stop \n\ specified do not match the array variable."; /** Once a dimension has been created (see append_dim()), it can - be constrained. This will make the array appear to the rest - of the world to be smaller than it is. This functions sets the - projection for a dimension, and marks that dimension as part of the - current projection. - - @note A stride value <= 0 or > the array size is an error and causes - add_constraint to throw an Error. Similarly, start or stop values > - size also cause an Error exception to be thrown. - - @brief Adds a constraint to an Array dimension. - - @param i An iterator pointing to the dimension in the list of - dimensions. - @param start The start index of the constraint. - @param stride The stride value of the constraint. - @param stop The stop index of the constraint. A value of -1 indicates - 'to the end' of the array. - @exception Error Thrown if the any of values of start, stop or stride - cannot be applied to this array. */ -void -Array::add_constraint(Dim_iter i, int start, int stride, int stop) -{ - dimension &d = *i ; - - // if stop is -1, set it to the array's max element index - // jhrg 12/20/12 - if (stop == -1) - stop = d.size - 1; - - // Check for bad constraints. - // Jose Garcia - // Usually invalid data for a constraint is the user's mistake - // because they build a wrong URL in the client side. - if (start >= d.size || stop >= d.size || stride > d.size || stride <= 0) - throw Error(malformed_expr, array_sss); + be constrained. This will make the array appear to the rest + of the world to be smaller than it is. This functions sets the + projection for a dimension, and marks that dimension as part of the + current projection. + + @note A stride value <= 0 or > the array size is an error and causes + add_constraint to throw an Error. Similarly, start or stop values > + size also cause an Error exception to be thrown. + + @brief Adds a constraint to an Array dimension. + + @param i An iterator pointing to the dimension in the list of + dimensions. + @param start The start index of the constraint. + @param stride The stride value of the constraint. + @param stop The stop index of the constraint. A value of -1 indicates + 'to the end' of the array. + @exception Error Thrown if the any of values of start, stop or stride + cannot be applied to this array. */ +void Array::add_constraint(Dim_iter i, int start, int stride, int stop) +{ + dimension &d = *i; + +// if stop is -1, set it to the array's max element index +// jhrg 12/20/12 + if (stop == -1) stop = d.size - 1; + +// Check for bad constraints. +// Jose Garcia +// Usually invalid data for a constraint is the user's mistake +// because they build a wrong URL in the client side. + if (start >= d.size || stop >= d.size || stride > d.size || stride <= 0) throw Error(malformed_expr, array_sss); - if (((stop - start) / stride + 1) > d.size) - throw Error(malformed_expr, array_sss); + if (((stop - start) / stride + 1) > d.size) throw Error(malformed_expr, array_sss); d.start = start; d.stop = stop; @@ -677,70 +673,64 @@ d.use_sdim_for_slice = false; } -void -Array::add_constraint(Dim_iter i, D4Dimension *dim) +void Array::add_constraint(Dim_iter i, D4Dimension *dim) { - dimension &d = *i ; + dimension &d = *i; - if (dim->constrained()) - add_constraint(i, dim->c_start(), dim->c_stride(), dim->c_stop()); + if (dim->constrained()) add_constraint(i, dim->c_start(), dim->c_stride(), dim->c_stop()); dim->set_used_by_projected_var(true); - // In this case the value below overrides the value for use_sdim_for_slice - // set in the above call. jhrg 12/20/13 - d.use_sdim_for_slice = true; +// In this case the value below overrides the value for use_sdim_for_slice +// set in the above call. jhrg 12/20/13 + d.use_sdim_for_slice = true; } /** Returns an iterator to the first dimension of the Array. */ -Array::Dim_iter -Array::dim_begin() +Array::Dim_iter Array::dim_begin() { - return _shape.begin() ; + return _shape.begin(); } /** Returns an iterator past the last dimension of the Array. */ -Array::Dim_iter -Array::dim_end() +Array::Dim_iter Array::dim_end() { - return _shape.end() ; + return _shape.end(); } //TODO Many of these methods take a bool parameter that serves no use; remove. /** Return the total number of dimensions contained in the array. - When constrained is TRUE, return the number of dimensions - given the most recently evaluated constraint expression. + When constrained is TRUE, return the number of dimensions + given the most recently evaluated constraint expression. - @brief Return the total number of dimensions in the array. - @param constrained A boolean flag to indicate whether the array is - constrained or not. Ignored. -*/ -unsigned int -Array::dimensions(bool /*constrained*/) + @brief Return the total number of dimensions in the array. + @param constrained A boolean flag to indicate whether the array is + constrained or not. Ignored. + */ +unsigned int Array::dimensions(bool /*constrained*/) { return _shape.size(); } /** Return the size of the array dimension referred to by i. - If the dimension is constrained the constrained size is returned if - constrained is \c true. + If the dimension is constrained the constrained size is returned if + constrained is \c true. - @brief Returns the size of the dimension. + @brief Returns the size of the dimension. - @param i The dimension. + @param i The dimension. - @param constrained If this parameter is TRUE, the method returns the - constrained size of the array so long as a constraint has been applied to - this dimension. If TRUE and no constraint has been applied, this method - returns zero. If it is FALSE, the method ignores any constraint that - has been applied to this dimension and returns the full size of the - dimension. The default value is FALSE. - - @return An integer containing the size of the specified dimension. -*/ -int -Array::dimension_size(Dim_iter i, bool constrained) + @param constrained If this parameter is TRUE, the method returns the + constrained size of the array so long as a constraint has been applied to + this dimension. If TRUE and no constraint has been applied, this method + returns zero. If it is FALSE, the method ignores any constraint that + has been applied to this dimension and returns the full size of the + dimension. The default value is FALSE. + + @return An integer containing the size of the specified dimension. + */ +int Array::dimension_size(Dim_iter i, bool constrained) { int size = 0; @@ -755,113 +745,107 @@ } /** Use this function to return the start index of an array - dimension. If the array is constrained (indicated with the - constrained argument), the start index of the constrained - array is returned (or zero if the dimension in question is not - selected at all). See also dimension_stop() and - dimension_stride(). - - @brief Return the start index of a dimension. - - @param i The dimension. - @param constrained If this parameter is TRUE, the function - returns the start index only if the dimension is constrained - (subject to a start, stop, or stride constraint). If - the dimension is not constrained, the function returns zero. If it - is FALSE, the function returns the start index whether or not - the dimension is constrained. - @return The desired start index. -*/ -int -Array::dimension_start(Dim_iter i, bool /*constrained*/) + dimension. If the array is constrained (indicated with the + constrained argument), the start index of the constrained + array is returned (or zero if the dimension in question is not + selected at all). See also dimension_stop() and + dimension_stride(). + + @brief Return the start index of a dimension. + + @param i The dimension. + @param constrained If this parameter is TRUE, the function + returns the start index only if the dimension is constrained + (subject to a start, stop, or stride constraint). If + the dimension is not constrained, the function returns zero. If it + is FALSE, the function returns the start index whether or not + the dimension is constrained. + @return The desired start index. + */ +int Array::dimension_start(Dim_iter i, bool /*constrained*/) { return (!_shape.empty()) ? (*i).start : 0; } /** Use this function to return the stop index of an array - dimension. If the array is constrained (indicated with the - constrained argument), the stop index of the constrained - array is returned (or zero if the dimension in question is not - selected at all). See also dimension_start() and - dimension_stride(). - - @brief Return the stop index of the constraint. - - @param i The dimension. - @param constrained If this parameter is TRUE, the function - returns the stop index only if the dimension is constrained - (subject to a start, stop, or stride constraint). If - the dimension is not constrained, the function returns zero. If it - is FALSE, the function returns the stop index whether or not - the dimension is constrained. - @return The desired stop index. -*/ -int -Array::dimension_stop(Dim_iter i, bool /*constrained*/) + dimension. If the array is constrained (indicated with the + constrained argument), the stop index of the constrained + array is returned (or zero if the dimension in question is not + selected at all). See also dimension_start() and + dimension_stride(). + + @brief Return the stop index of the constraint. + + @param i The dimension. + @param constrained If this parameter is TRUE, the function + returns the stop index only if the dimension is constrained + (subject to a start, stop, or stride constraint). If + the dimension is not constrained, the function returns zero. If it + is FALSE, the function returns the stop index whether or not + the dimension is constrained. + @return The desired stop index. + */ +int Array::dimension_stop(Dim_iter i, bool /*constrained*/) { return (!_shape.empty()) ? (*i).stop : 0; } /** Use this function to return the stride value of an array - dimension. If the array is constrained (indicated with the - constrained argument), the stride value of the constrained - array is returned (or zero if the dimension in question is not - selected at all). See also dimension_stop() and - dimension_start(). - - @brief Returns the stride value of the constraint. - - @param i The dimension. - @param constrained If this parameter is TRUE, the function - returns the stride value only if the dimension is constrained - (subject to a start, stop, or stride constraint). If - the dimension is not constrained, the function returns zero. If it - is FALSE, the function returns the stride value whether or not - the dimension is constrained. - @return The stride value requested, or zero, if constrained - is TRUE and the dimension is not selected. -*/ -int -Array::dimension_stride(Dim_iter i, bool /*constrained*/) + dimension. If the array is constrained (indicated with the + constrained argument), the stride value of the constrained + array is returned (or zero if the dimension in question is not + selected at all). See also dimension_stop() and + dimension_start(). + + @brief Returns the stride value of the constraint. + + @param i The dimension. + @param constrained If this parameter is TRUE, the function + returns the stride value only if the dimension is constrained + (subject to a start, stop, or stride constraint). If + the dimension is not constrained, the function returns zero. If it + is FALSE, the function returns the stride value whether or not + the dimension is constrained. + @return The stride value requested, or zero, if constrained + is TRUE and the dimension is not selected. + */ +int Array::dimension_stride(Dim_iter i, bool /*constrained*/) { return (!_shape.empty()) ? (*i).stride : 0; } /** This function returns the name of the dimension indicated with - p. Since this method is public, it is possible to call it - before the Array object has been properly initialized. This will - cause an exception. So don't do that. - - @brief Returns the name of the specified dimension. - - @param i The dimension. - @return A pointer to a string containing the dimension name. -*/ -string -Array::dimension_name(Dim_iter i) -{ - // Jose Garcia - // Since this method is public, it is possible for a user - // to call it before the Array object has been properly set - // this will cause an exception which is the user's fault. - // (User in this context is the developer of the surrogate library.) - if (_shape.empty()) - throw InternalErr(__FILE__, __LINE__, - "*This* array has no dimensions."); + p. Since this method is public, it is possible to call it + before the Array object has been properly initialized. This will + cause an exception. So don't do that. + + @brief Returns the name of the specified dimension. + + @param i The dimension. + @return A pointer to a string containing the dimension name. + */ +string Array::dimension_name(Dim_iter i) +{ +// Jose Garcia +// Since this method is public, it is possible for a user +// to call it before the Array object has been properly set +// this will cause an exception which is the user's fault. +// (User in this context is the developer of the surrogate library.) + if (_shape.empty()) throw InternalErr(__FILE__, __LINE__, "*This* array has no dimensions."); return (*i).name; } D4Dimension * Array::dimension_D4dim(Dim_iter i) { - return (!_shape.empty()) ? (*i).dim : 0; + return (!_shape.empty()) ? (*i).dim : 0; } D4Maps * Array::maps() { - if (!d_maps) d_maps = new D4Maps(this); // init with this as parent - return d_maps; + if (!d_maps) d_maps = new D4Maps(this); // init with this as parent + return d_maps; } #if 0 @@ -874,87 +858,96 @@ unsigned int Array::width(bool constrained) const { - if (constrained) { - // This preserves the original method's semantics when we ask for the - // size of the constrained array but no constraint has been applied. - // In this case, length will be -1. Wrong, I know... - return length() * var()->width(constrained); - } - else { - int length = 1; - for (Dim_iter i = _shape.begin(); i != _shape.end(); i++) { - length *= dimension_size(i, false); - } - return length * var()->width(false); - } + if (constrained) { + // This preserves the original method's semantics when we ask for the + // size of the constrained array but no constraint has been applied. + // In this case, length will be -1. Wrong, I know... + return length() * var()->width(constrained); + } + else { + int length = 1; + for (Dim_iter i = _shape.begin(); i != _shape.end(); i++) { + length *= dimension_size(i, false); + } + return length * var()->width(false); + } } #endif class PrintD4ArrayDimXMLWriter: public unary_function { - XMLWriter &xml; - // Was this variable constrained using local/direct slicing? i.e., is d_local_constraint set? - // If so, don't use shared dimensions; instead emit Dim elements that are anonymous. - bool d_constrained; + XMLWriter &xml; +// Was this variable constrained using local/direct slicing? i.e., is d_local_constraint set? +// If so, don't use shared dimensions; instead emit Dim elements that are anonymous. + bool d_constrained; public: - PrintD4ArrayDimXMLWriter(XMLWriter &xml, bool c) : xml(xml), d_constrained(c) { } + PrintD4ArrayDimXMLWriter(XMLWriter &xml, bool c) : + xml(xml), d_constrained(c) + { + } + + void operator()(Array::dimension &d) + { + // This duplicates code in D4Dimensions (where D4Dimension::print_dap4() is defined + // because of the need to print the constrained size of a dimension. I think that + // the constraint information has to be kept here and not in the dimension (since they + // are shared dims). Could hack print_dap4() to take the constrained size, however. + if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "Dim") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write Dim element"); + + string name = (d.dim) ? d.dim->fully_qualified_name() : d.name; + // If there is a name, there must be a Dimension (named dimension) in scope + // so write its name but not its size. + if (!d_constrained && !name.empty()) { + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*) name.c_str()) + < 0) throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); + } + else if (d.use_sdim_for_slice) { + assert(!name.empty()); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*) name.c_str()) + < 0) throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); + } + else { + ostringstream size; + size << (d_constrained ? d.c_size : d.size); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "size", + (const xmlChar*) size.str().c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); + } - void operator()(Array::dimension &d) - { - // This duplicates code in D4Dimensions (where D4Dimension::print_dap4() is defined - // because of the need to print the constrained size of a dimension. I think that - // the constraint information has to be kept here and not in the dimension (since they - // are shared dims). Could hack print_dap4() to take the constrained size, however. - if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "Dim") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write Dim element"); - - string name = (d.dim) ? d.dim->fully_qualified_name() : d.name; - // If there is a name, there must be a Dimension (named dimension) in scope - // so write its name but not its size. - if (!d_constrained && !name.empty()) { - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*) name.c_str()) - < 0) throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); - } - else if (d.use_sdim_for_slice) { - assert(!name.empty()); - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*) name.c_str()) - < 0) throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); - } - else { - ostringstream size; - size << (d_constrained ? d.c_size : d.size); - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "size", - (const xmlChar*) size.str().c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); - } - - if (xmlTextWriterEndElement(xml.get_writer()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not end Dim element"); - } + if (xmlTextWriterEndElement(xml.get_writer()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not end Dim element"); + } }; class PrintD4ConstructorVarXMLWriter: public unary_function { - XMLWriter &xml; - bool d_constrained; + XMLWriter &xml; + bool d_constrained; public: - PrintD4ConstructorVarXMLWriter(XMLWriter &xml, bool c) : xml(xml), d_constrained(c) { } + PrintD4ConstructorVarXMLWriter(XMLWriter &xml, bool c) : + xml(xml), d_constrained(c) + { + } - void operator()(BaseType *btp) - { - btp->print_dap4(xml, d_constrained); - } + void operator()(BaseType *btp) + { + btp->print_dap4(xml, d_constrained); + } }; class PrintD4MapXMLWriter: public unary_function { - XMLWriter &xml; + XMLWriter &xml; public: - PrintD4MapXMLWriter(XMLWriter &xml) : xml(xml) { } + PrintD4MapXMLWriter(XMLWriter &xml) : + xml(xml) + { + } - void operator()(D4Map *m) - { - m->print_dap4(xml); - } + void operator()(D4Map *m) + { + m->print_dap4(xml); + } }; /** @@ -962,67 +955,64 @@ * @param xml * @param constrained */ -void -Array::print_dap4(XMLWriter &xml, bool constrained /* default: false*/) +void Array::print_dap4(XMLWriter &xml, bool constrained /* default: false*/) { - if (constrained && !send_p()) return; + if (constrained && !send_p()) return; - if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) var()->type_name().c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write " + type_name() + " element"); + if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) var()->type_name().c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write " + type_name() + " element"); - if (!name().empty()) - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*)name().c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); - - // Hack job... Copied from D4Enum::print_xml_writer. jhrg 11/12/13 - if (var()->type() == dods_enum_c) { - D4Enum *e = static_cast(var()); - string path = e->enumeration()->name(); - if (e->enumeration()->parent()) { - // print the FQN for the enum def; D4Group::FQN() includes the trailing '/' - path = static_cast(e->enumeration()->parent()->parent())->FQN() + path; - } - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "enum", (const xmlChar*)path.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for enum"); - } - - if (prototype()->is_constructor_type()) { - Constructor &c = static_cast(*prototype()); - for_each(c.var_begin(), c.var_end(), PrintD4ConstructorVarXMLWriter(xml, constrained)); - // bind2nd(mem_fun_ref(&BaseType::print_dap4), xml)); - } + if (!name().empty()) + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*) name().c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); - // Drop the local_constraint which is per-array and use a per-dimension on instead +// Hack job... Copied from D4Enum::print_xml_writer. jhrg 11/12/13 + if (var()->type() == dods_enum_c) { + D4Enum *e = static_cast(var()); + string path = e->enumeration()->name(); + if (e->enumeration()->parent()) { + // print the FQN for the enum def; D4Group::FQN() includes the trailing '/' + path = static_cast(e->enumeration()->parent()->parent())->FQN() + path; + } + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "enum", (const xmlChar*) path.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for enum"); + } + + if (prototype()->is_constructor_type()) { + Constructor &c = static_cast(*prototype()); + for_each(c.var_begin(), c.var_end(), PrintD4ConstructorVarXMLWriter(xml, constrained)); + // bind2nd(mem_fun_ref(&BaseType::print_dap4), xml)); + } + +// Drop the local_constraint which is per-array and use a per-dimension on instead for_each(dim_begin(), dim_end(), PrintD4ArrayDimXMLWriter(xml, constrained)); - attributes()->print_dap4(xml); + attributes()->print_dap4(xml); - for_each(maps()->map_begin(), maps()->map_end(), PrintD4MapXMLWriter(xml)); + for_each(maps()->map_begin(), maps()->map_end(), PrintD4MapXMLWriter(xml)); - if (xmlTextWriterEndElement(xml.get_writer()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not end " + type_name() + " element"); + if (xmlTextWriterEndElement(xml.get_writer()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not end " + type_name() + " element"); } /** Prints a declaration for the Array. This is what appears in a - DDS. If the Array is constrained, the declaration will reflect - the size of the Array once the constraint is applied. + DDS. If the Array is constrained, the declaration will reflect + the size of the Array once the constraint is applied. - @brief Prints a DDS entry for the Array. + @brief Prints a DDS entry for the Array. - @param out Write the output to this FILE *. - @param space A string containing spaces to precede the - declaration. - @param print_semi A boolean indicating whether to print a - semi-colon after the declaration. (TRUE means ``print a - semi-colon.'') - @param constraint_info A boolean value. See - BaseType::print_decl(). - @param constrained This argument should be TRUE if the Array is - constrained, and FALSE otherwise. -*/ -void -Array::print_decl(FILE *out, string space, bool print_semi, - bool constraint_info, bool constrained) + @param out Write the output to this FILE *. + @param space A string containing spaces to precede the + declaration. + @param print_semi A boolean indicating whether to print a + semi-colon after the declaration. (TRUE means ``print a + semi-colon.'') + @param constraint_info A boolean value. See + BaseType::print_decl(). + @param constrained This argument should be TRUE if the Array is + constrained, and FALSE otherwise. + */ +void Array::print_decl(FILE *out, string space, bool print_semi, bool constraint_info, bool constrained) { ostringstream oss; print_decl(oss, space, print_semi, constraint_info, constrained); @@ -1030,27 +1020,27 @@ } /** Prints a declaration for the Array. This is what appears in a - DDS. If the Array is constrained, the declaration will reflect - the size of the Array once the constraint is applied. + DDS. If the Array is constrained, the declaration will reflect + the size of the Array once the constraint is applied. - @brief Prints a DDS entry for the Array. + @brief Prints a DDS entry for the Array. - @param out Write the output to this ostream. - @param space A string containing spaces to precede the - declaration. - @param print_semi A boolean indicating whether to print a - semi-colon after the declaration. (TRUE means ``print a - semi-colon.'') - @param constraint_info A boolean value. See - BaseType::print_decl(). - @param constrained This argument should be TRUE if the Array is - constrained, and FALSE otherwise. -*/ + @param out Write the output to this ostream. + @param space A string containing spaces to precede the + declaration. + @param print_semi A boolean indicating whether to print a + semi-colon after the declaration. (TRUE means ``print a + semi-colon.'') + @param constraint_info A boolean value. See + BaseType::print_decl(). + @param constrained This argument should be TRUE if the Array is + constrained, and FALSE otherwise. + */ void Array::print_decl(ostream &out, string space, bool print_semi, bool constraint_info, bool constrained) { if (constrained && !send_p()) return; - // print it, but w/o semicolon +// print it, but w/o semicolon var()->print_decl(out, space, false, constraint_info, constrained); for (Dim_citer i = _shape.begin(); i != _shape.end(); i++) { @@ -1074,8 +1064,7 @@ /** * @deprecated */ -void -Array::print_xml(FILE *out, string space, bool constrained) +void Array::print_xml(FILE *out, string space, bool constrained) { XMLWriter xml(space); print_xml_writer_core(xml, constrained, "Array"); @@ -1085,8 +1074,7 @@ /** * @deprecated */ -void -Array::print_xml(ostream &out, string space, bool constrained) +void Array::print_xml(ostream &out, string space, bool constrained) { XMLWriter xml(space); print_xml_writer_core(xml, constrained, "Array"); @@ -1096,8 +1084,7 @@ /** * @deprecated */ -void -Array::print_as_map_xml(FILE *out, string space, bool constrained) +void Array::print_as_map_xml(FILE *out, string space, bool constrained) { XMLWriter xml(space); print_xml_writer_core(xml, constrained, "Map"); @@ -1107,8 +1094,7 @@ /** * @deprecated */ -void -Array::print_as_map_xml(ostream &out, string space, bool constrained) +void Array::print_as_map_xml(ostream &out, string space, bool constrained) { XMLWriter xml(space); print_xml_writer_core(xml, constrained, "Map"); @@ -1118,8 +1104,7 @@ /** * @deprecated */ -void -Array::print_xml_core(FILE *out, string space, bool constrained, string tag) +void Array::print_xml_core(FILE *out, string space, bool constrained, string tag) { XMLWriter xml(space); print_xml_writer_core(xml, constrained, tag); @@ -1129,63 +1114,60 @@ /** * @deprecated */ -void -Array::print_xml_core(ostream &out, string space, bool constrained, string tag) +void Array::print_xml_core(ostream &out, string space, bool constrained, string tag) { XMLWriter xml(space); print_xml_writer_core(xml, constrained, tag); out << xml.get_doc(); } -void -Array::print_xml_writer(XMLWriter &xml, bool constrained) +void Array::print_xml_writer(XMLWriter &xml, bool constrained) { print_xml_writer_core(xml, constrained, "Array"); } -void -Array::print_as_map_xml_writer(XMLWriter &xml, bool constrained) +void Array::print_as_map_xml_writer(XMLWriter &xml, bool constrained) { print_xml_writer_core(xml, constrained, "Map"); } -class PrintArrayDimXMLWriter : public unary_function -{ +class PrintArrayDimXMLWriter: public unary_function { XMLWriter &xml; bool d_constrained; public: - PrintArrayDimXMLWriter(XMLWriter &xml, bool c) : xml(xml), d_constrained(c) {} + PrintArrayDimXMLWriter(XMLWriter &xml, bool c) : + xml(xml), d_constrained(c) + { + } void operator()(Array::dimension &d) { - if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*)"dimension") < 0) + if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "dimension") < 0) throw InternalErr(__FILE__, __LINE__, "Could not write dimension element"); if (!d.name.empty()) - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*)d.name.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*) d.name.c_str()) + < 0) throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); ostringstream size; size << (d_constrained ? d.c_size : d.size); - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "size", (const xmlChar*)size.str().c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "size", (const xmlChar*) size.str().c_str()) + < 0) throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); if (xmlTextWriterEndElement(xml.get_writer()) < 0) throw InternalErr(__FILE__, __LINE__, "Could not end dimension element"); } }; -void -Array::print_xml_writer_core(XMLWriter &xml, bool constrained, string tag) +void Array::print_xml_writer_core(XMLWriter &xml, bool constrained, string tag) { - if (constrained && !send_p()) - return; + if (constrained && !send_p()) return; - if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*)tag.c_str()) < 0) + if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) tag.c_str()) < 0) throw InternalErr(__FILE__, __LINE__, "Could not write " + tag + " element"); if (!name().empty()) - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*)name().c_str()) < 0) + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*) name().c_str()) < 0) throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); get_attr_table().print_xml_writer(xml); @@ -1203,19 +1185,17 @@ } /** Prints the values in ASCII of the entire (constrained) array. This method - Attempts to make an aesthetically pleasing display. However, it is - primarily intended for debugging purposes. + Attempts to make an aesthetically pleasing display. However, it is + primarily intended for debugging purposes. + + @param out Write the output to this FILE *. + @param index + @param dims + @param shape - @param out Write the output to this FILE *. - @param index - @param dims - @param shape - - @brief Print the value given the current constraint. -*/ -unsigned int -Array::print_array(FILE *out, unsigned int index, unsigned int dims, - unsigned int shape[]) + @brief Print the value given the current constraint. + */ +unsigned int Array::print_array(FILE *out, unsigned int index, unsigned int dims, unsigned int shape[]) { ostringstream oss; unsigned int i = print_array(oss, index, dims, shape); @@ -1225,23 +1205,23 @@ } /** Prints the values in ASCII of the entire (constrained) array. This method - Attempts to make an anesthetically pleasing display. However, it is - primarily intended for debugging purposes. + Attempts to make an anesthetically pleasing display. However, it is + primarily intended for debugging purposes. - @param out Write the output to this ostream - @param index - @param dims - @param shape + @param out Write the output to this ostream + @param index + @param dims + @param shape - @brief Print the value given the current constraint. -*/ + @brief Print the value given the current constraint. + */ unsigned int Array::print_array(ostream &out, unsigned int index, unsigned int dims, unsigned int shape[]) { - if (dims == 1) { - out << "{"; + if (dims == 1) { + out << "{"; - // Added test in case this method is passed an array with no elements. jhrg 1/27/16 - if (shape[0] >= 1) { + // Added test in case this method is passed an array with no elements. jhrg 1/27/16 + if (shape[0] >= 1) { for (unsigned i = 0; i < shape[0] - 1; ++i) { var(index++)->print_val(out, "", false); out << ", "; @@ -1249,23 +1229,23 @@ var(index++)->print_val(out, "", false); } - out << "}"; + out << "}"; - return index; - } - else { - out << "{"; - // Fixed an off-by-one error in the following loop. Since the array - // length is shape[dims-1]-1 *and* since we want one less dimension - // than that, the correct limit on this loop is shape[dims-2]-1. From - // Todd Karakasian. - // - // The saga continues; the loop test should be `i < shape[0]-1'. jhrg - // 9/12/96. - // - // For arrays that hold zero values but have rank > 1, the print out - // may look a little odd (e.g., x[4][0] will print as { {}, {}, {}, {} }) - // but it's not wrong and this is really for debugging mostly. jhrg 1/28/16 + return index; + } + else { + out << "{"; + // Fixed an off-by-one error in the following loop. Since the array + // length is shape[dims-1]-1 *and* since we want one less dimension + // than that, the correct limit on this loop is shape[dims-2]-1. From + // Todd Karakasian. + // + // The saga continues; the loop test should be `i < shape[0]-1'. jhrg + // 9/12/96. + // + // For arrays that hold zero values but have rank > 1, the print out + // may look a little odd (e.g., x[4][0] will print as { {}, {}, {}, {} }) + // but it's not wrong and this is really for debugging mostly. jhrg 1/28/16 if (shape[0] > 0) { for (unsigned i = 0; i < shape[0] - 1; ++i) { index = print_array(out, index, dims - 1, shape + 1); @@ -1275,32 +1255,30 @@ index = print_array(out, index, dims - 1, shape + 1); } - out << "}"; + out << "}"; - return index; - } + return index; + } } -void -Array::print_val(FILE *out, string space, bool print_decl_p) +void Array::print_val(FILE *out, string space, bool print_decl_p) { ostringstream oss; print_val(oss, space, print_decl_p); fwrite(oss.str().data(), sizeof(char), oss.str().length(), out); } -void -Array::print_val(ostream &out, string space, bool print_decl_p) +void Array::print_val(ostream &out, string space, bool print_decl_p) { - // print the declaration if print decl is true. - // for each dimension, - // for each element, - // print the array given its shape, number of dimensions. - // Add the `;' +// print the declaration if print decl is true. +// for each dimension, +// for each element, +// print the array given its shape, number of dimensions. +// Add the `;' if (print_decl_p) { print_decl(out, space, false, false, false); - out << " = " ; + out << " = "; } unsigned int *shape = new unsigned int[dimensions(true)]; @@ -1310,29 +1288,28 @@ print_array(out, 0, dimensions(true), shape); - delete [] shape; shape = 0; + delete[] shape; + shape = 0; if (print_decl_p) { - out << ";\n" ; + out << ";\n"; } } /** This function checks semantic features of the Array. Currently, - the only check specific to the Array is that there must be - dimensions. The rest is inherited from - BaseType::check_semantics(). - - @brief Check semantic features of the Array. - @return A boolean value. FALSE means there was a problem. -*/ + the only check specific to the Array is that there must be + dimensions. The rest is inherited from + BaseType::check_semantics(). + + @brief Check semantic features of the Array. + @return A boolean value. FALSE means there was a problem. + */ -bool -Array::check_semantics(string &msg, bool) +bool Array::check_semantics(string &msg, bool) { bool sem = BaseType::check_semantics(msg) && !_shape.empty(); - if (!sem) - msg = "An array variable must have dimensions"; + if (!sem) msg = "An array variable must have dimensions"; return sem; } @@ -1345,33 +1322,29 @@ * @param strm C++ i/o stream to dump the information to * @return void */ -void -Array::dump(ostream &strm) const +void Array::dump(ostream &strm) const { - strm << DapIndent::LMarg << "Array::dump - (" - << (void *)this << ")" << endl ; - DapIndent::Indent() ; - Vector::dump(strm) ; - strm << DapIndent::LMarg << "shape:" << endl ; - DapIndent::Indent() ; - Dim_citer i = _shape.begin() ; - Dim_citer ie = _shape.end() ; - unsigned int dim_num = 0 ; + strm << DapIndent::LMarg << "Array::dump - (" << (void *) this << ")" << endl; + DapIndent::Indent(); + Vector::dump(strm); + strm << DapIndent::LMarg << "shape:" << endl; + DapIndent::Indent(); + Dim_citer i = _shape.begin(); + Dim_citer ie = _shape.end(); + unsigned int dim_num = 0; for (; i != ie; i++) { - strm << DapIndent::LMarg << "dimension " << dim_num++ << ":" - << endl ; - DapIndent::Indent() ; - strm << DapIndent::LMarg << "name: " << (*i).name << endl ; - strm << DapIndent::LMarg << "size: " << (*i).size << endl ; - strm << DapIndent::LMarg << "start: " << (*i).start << endl ; - strm << DapIndent::LMarg << "stop: " << (*i).stop << endl ; - strm << DapIndent::LMarg << "stride: " << (*i).stride << endl ; - strm << DapIndent::LMarg << "constrained size: " << (*i).c_size - << endl ; - DapIndent::UnIndent() ; + strm << DapIndent::LMarg << "dimension " << dim_num++ << ":" << endl; + DapIndent::Indent(); + strm << DapIndent::LMarg << "name: " << (*i).name << endl; + strm << DapIndent::LMarg << "size: " << (*i).size << endl; + strm << DapIndent::LMarg << "start: " << (*i).start << endl; + strm << DapIndent::LMarg << "stop: " << (*i).stop << endl; + strm << DapIndent::LMarg << "stride: " << (*i).stride << endl; + strm << DapIndent::LMarg << "constrained size: " << (*i).c_size << endl; + DapIndent::UnIndent(); } - DapIndent::UnIndent() ; - DapIndent::UnIndent() ; + DapIndent::UnIndent(); + DapIndent::UnIndent(); } } // namespace libdap diff -Nru libdap-3.19.1/Array.h libdap-3.20.5/Array.h --- libdap-3.19.1/Array.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Array.h 2020-02-17 07:35:45.000000000 +0000 @@ -224,6 +224,7 @@ void prepend_dim(int size, const string& name = ""); void prepend_dim(D4Dimension *dim); void clear_all_dims(); + void rename_dim(const string &oldName = "", const string &newName = ""); virtual void add_constraint(Dim_iter i, int start, int stride, int stop); virtual void add_constraint(Dim_iter i, D4Dimension *dim); diff -Nru libdap-3.19.1/AttrTable.cc libdap-3.20.5/AttrTable.cc --- libdap-3.19.1/AttrTable.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/AttrTable.cc 2020-02-17 07:35:45.000000000 +0000 @@ -39,6 +39,7 @@ #include "util.h" #include "escaping.h" +#include "DapIndent.h" #include "debug.h" @@ -222,7 +223,7 @@ } //@} -/** Attributes that are containers count one attribute, as do +/** Attributes that are containers count as one attribute, as do attributes with both scalar and vector values. @return The number of entries. @brief Get the number of entries in this attribute table. diff -Nru libdap-3.19.1/BaseType.cc libdap-3.20.5/BaseType.cc --- libdap-3.19.1/BaseType.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/BaseType.cc 2020-02-17 07:35:45.000000000 +0000 @@ -66,6 +66,7 @@ #include "util.h" #include "escaping.h" +#include "DapIndent.h" #include "debug.h" @@ -259,10 +260,18 @@ { BaseType *dest = this->ptr_duplicate(); // convert the d4 attributes to a dap2 attribute table. + // HK-403. jhrg 6/17/19 +#if 0 AttrTable *attrs = this->attributes()->get_AttrTable(name()); dest->set_attr_table(*attrs); +#else + if (dest->get_attr_table().get_size() == 0) { + attributes()->transform_attrs_to_dap2(&dest->get_attr_table()); + dest->get_attr_table().set_name(name()); + } +#endif + dest->set_is_dap4(false); - // attrs->print(cerr,"",true); vector *result = new vector(); result->push_back(dest); @@ -1276,14 +1285,12 @@ } /** - * @brief How many bytes does this use + * @brief How many bytes does this variable use * Return the number of bytes of storage this variable uses. For scalar types, * this is pretty simple (an int32 uses 4 bytes, etc.). For arrays and Constructors, * it is a bit more complex. Note that a scalar String variable uses sizeof(String*) - * bytes, not the length of the string. In other words, the value returned is - * independent of the type. Also note width() of a String array returns the number of - * elements in the array times sizeof(String*). That is, each different array size - * is a different data type. + * bytes, not the length of the string value. The width() of a String array returns + * the number of elements in the array times sizeof(String*). * * @param constrained Should the current constraint be taken into account? * @return Bytes of storage @@ -1292,9 +1299,6 @@ BaseType::width(bool /* constrained */) const { throw InternalErr(__FILE__, __LINE__, "not implemented"); -#if 0 - return width(constrained); -#endif } } // namespace libdap diff -Nru libdap-3.19.1/Byte.cc libdap-3.20.5/Byte.cc --- libdap-3.19.1/Byte.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Byte.cc 2020-02-17 07:35:45.000000000 +0000 @@ -67,6 +67,7 @@ #include "parser.h" #include "dods-limits.h" #include "InternalErr.h" +#include "DapIndent.h" using std::cerr; using std::endl; @@ -350,7 +351,7 @@ ostringstream oss; oss << __func__ << "() - Something Bad Happened. This transform should produce only "; oss << " a single BaseType yet it produced " << vec->size(); - throw new Error(internal_error,oss.str()); + throw Error(internal_error,oss.str()); } BaseType *dest = (*vec)[0]; diff -Nru libdap-3.19.1/ce_expr.tab.cc libdap-3.20.5/ce_expr.tab.cc --- libdap-3.19.1/ce_expr.tab.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/ce_expr.tab.cc 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,11 +41,14 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "3.0.4" +#define YYBISON_VERSION "3.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -58,7 +62,8 @@ /* Pull parsers. */ #define YYPULL 1 - +/* Substitute the type names. */ +#define YYSTYPE CE_EXPRSTYPE /* Substitute the variable and function names. */ #define yyparse ce_exprparse #define yylex ce_exprlex @@ -69,15 +74,16 @@ #define yylval ce_exprlval #define yychar ce_exprchar -/* Copy the first part of user declarations. */ - -#line 75 "ce_expr.tab.cc" /* yacc.c:339 */ # ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif # else -# define YY_NULLPTR 0 +# define YY_NULLPTR ((void*)0) # endif # endif @@ -94,14 +100,22 @@ #ifndef YY_CE_EXPR_CE_EXPR_TAB_HH_INCLUDED # define YY_CE_EXPR_CE_EXPR_TAB_HH_INCLUDED /* Debug traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif +#ifndef CE_EXPRDEBUG +# if defined YYDEBUG #if YYDEBUG +# define CE_EXPRDEBUG 1 +# else +# define CE_EXPRDEBUG 0 +# endif +# else /* ! defined YYDEBUG */ +# define CE_EXPRDEBUG 1 +# endif /* ! defined YYDEBUG */ +#endif /* ! defined CE_EXPRDEBUG */ +#if CE_EXPRDEBUG extern int ce_exprdebug; #endif /* "%code requires" blocks. */ -#line 41 "ce_expr.yy" /* yacc.c:355 */ +#line 41 "ce_expr.yy" /* yacc.c:352 */ #include "config.h" @@ -155,6 +169,7 @@ #define EVALUATOR(arg) (static_cast(arg)->get_eval()) #define DDS(arg) (static_cast(arg)->get_dds()) +#define YYERROR_VERBOSE 0 // #define YYPARSE_PARAM arg int ce_exprlex(void); /* the scanner; see expr.lex */ @@ -197,12 +212,12 @@ rvalue *build_constant_array(vector *values, DDS *dds); -#line 201 "ce_expr.tab.cc" /* yacc.c:355 */ +#line 216 "ce_expr.tab.cc" /* yacc.c:352 */ /* Token type. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - enum yytokentype +#ifndef CE_EXPRTOKENTYPE +# define CE_EXPRTOKENTYPE + enum ce_exprtokentype { SCAN_STR = 258, SCAN_WORD = 259, @@ -225,11 +240,11 @@ #endif /* Value type. */ -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +#if ! defined CE_EXPRSTYPE && ! defined CE_EXPRSTYPE_IS_DECLARED -union YYSTYPE +union CE_EXPRSTYPE { -#line 145 "ce_expr.yy" /* yacc.c:355 */ +#line 146 "ce_expr.yy" /* yacc.c:352 */ bool boolean; int op; @@ -262,32 +277,30 @@ libdap::rvalue *rval_ptr; libdap::rvalue_list *r_val_l_ptr; -#line 266 "ce_expr.tab.cc" /* yacc.c:355 */ +#line 281 "ce_expr.tab.cc" /* yacc.c:352 */ }; -typedef union YYSTYPE YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define YYSTYPE_IS_DECLARED 1 +typedef union CE_EXPRSTYPE CE_EXPRSTYPE; +# define CE_EXPRSTYPE_IS_TRIVIAL 1 +# define CE_EXPRSTYPE_IS_DECLARED 1 #endif -extern YYSTYPE ce_exprlval; +extern CE_EXPRSTYPE ce_exprlval; int ce_exprparse (ce_parser_arg *arg); #endif /* !YY_CE_EXPR_CE_EXPR_TAB_HH_INCLUDED */ -/* Copy the second part of user declarations. */ -#line 283 "ce_expr.tab.cc" /* yacc.c:358 */ /* Unqualified %code blocks. */ -#line 232 "ce_expr.yy" /* yacc.c:359 */ +#line 233 "ce_expr.yy" /* yacc.c:355 */ /* This global is used by the rule 'arg_length_hint' so that the hint can be used during the paraent rule's parse. See fast_int32_arg_list. */ unsigned long arg_length_hint_value = 0; -#line 291 "ce_expr.tab.cc" /* yacc.c:359 */ +#line 304 "ce_expr.tab.cc" /* yacc.c:355 */ #ifdef short # undef short @@ -308,13 +321,13 @@ #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else -typedef unsigned short int yytype_uint16; +typedef unsigned short yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else -typedef short int yytype_int16; +typedef short yytype_int16; #endif #ifndef YYSIZE_T @@ -326,7 +339,7 @@ # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else -# define YYSIZE_T unsigned int +# define YYSIZE_T unsigned # endif #endif @@ -362,15 +375,6 @@ # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -378,7 +382,7 @@ # define YYUSE(E) /* empty */ #endif -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ @@ -468,7 +472,7 @@ #if (! defined yyoverflow \ && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined CE_EXPRSTYPE_IS_TRIVIAL && CE_EXPRSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc @@ -540,16 +544,16 @@ /* YYNSTATES -- Number of states. */ #define YYNSTATES 149 -/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 274 +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ + as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -582,23 +586,23 @@ 15, 16, 17, 18, 19 }; -#if YYDEBUG +#if CE_EXPRDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 241, 241, 247, 249, 249, 253, 259, 260, 266, - 278, 282, 286, 310, 316, 322, 328, 334, 340, 346, - 355, 366, 370, 377, 384, 388, 395, 402, 406, 413, - 420, 424, 431, 438, 442, 449, 456, 460, 467, 474, - 478, 485, 492, 514, 515, 521, 530, 541, 548, 562, - 563, 573, 577, 583, 590, 599, 604, 609, 647, 671, - 684, 690, 699, 705, 716, 721, 735, 739, 753, 762, - 769, 781, 792, 807, 823, 824, 825, 826, 827, 828, - 829 + 0, 242, 242, 248, 250, 250, 254, 260, 261, 267, + 279, 283, 287, 311, 317, 323, 329, 335, 341, 347, + 356, 367, 371, 378, 385, 389, 396, 403, 407, 414, + 421, 425, 432, 439, 443, 450, 457, 461, 468, 475, + 479, 486, 493, 515, 516, 522, 531, 542, 549, 563, + 564, 574, 578, 584, 591, 600, 605, 610, 648, 672, + 685, 691, 700, 706, 717, 722, 736, 740, 754, 763, + 770, 782, 793, 808, 824, 825, 826, 827, 828, 829, + 830 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || 0 +#if CE_EXPRDEBUG || YYERROR_VERBOSE || 0 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = @@ -811,22 +815,22 @@ #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (arg, YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (arg, YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) /* Error token number */ #define YYTERROR 1 @@ -835,7 +839,7 @@ /* Enable debugging if requested. */ -#if YYDEBUG +#if CE_EXPRDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ @@ -866,38 +870,38 @@ } while (0) -/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, ce_parser_arg *arg) +yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, ce_parser_arg *arg) { - FILE *yyo = yyoutput; - YYUSE (yyo); + FILE *yyoutput = yyo; + YYUSE (yyoutput); YYUSE (arg); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); + YYPRINT (yyo, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, ce_parser_arg *arg) +yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, ce_parser_arg *arg) { - YYFPRINTF (yyoutput, "%s %s (", + YYFPRINTF (yyo, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); - yy_symbol_value_print (yyoutput, yytype, yyvaluep, arg); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yytype, yyvaluep, arg); + YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. @@ -931,7 +935,7 @@ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, ce_parser_arg *arg) { - unsigned long int yylno = yyrline[yyrule]; + unsigned long yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", @@ -942,7 +946,7 @@ YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) + &yyvsp[(yyi + 1) - (yynrhs)] , arg); YYFPRINTF (stderr, "\n"); } @@ -957,12 +961,12 @@ /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; -#else /* !YYDEBUG */ +#else /* !CE_EXPRDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ +#endif /* !CE_EXPRDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ @@ -1046,7 +1050,10 @@ case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; - /* Fall through. */ + else + goto append; + + append: default: if (yyres) yyres[yyn] = *yyp; @@ -1064,7 +1071,7 @@ if (! yyres) return yystrlen (yystr); - return yystpcpy (yyres, yystr) - yyres; + return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres); } # endif @@ -1142,10 +1149,10 @@ yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } } } @@ -1157,6 +1164,7 @@ case N: \ yyformat = S; \ break + default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); @@ -1168,9 +1176,10 @@ { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } if (*yymsg_alloc < yysize) @@ -1297,23 +1306,31 @@ yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; + /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yynewstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + *yyssp = (yytype_int16) yystate; if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1); -#ifdef yyoverflow +# if defined yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into @@ -1329,14 +1346,10 @@ &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); - yyss = yyss1; yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; @@ -1352,22 +1365,22 @@ goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); @@ -1376,11 +1389,11 @@ goto yybackup; + /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ @@ -1453,7 +1466,7 @@ /*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ @@ -1474,47 +1487,47 @@ switch (yyn) { case 2: -#line 241 "ce_expr.yy" /* yacc.c:1661 */ +#line 242 "ce_expr.yy" /* yacc.c:1667 */ { DBG(cerr << "Mark all variables" << endl); DDS(arg)->mark_all(true); (yyval.boolean) = true; } -#line 1484 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1497 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 4: -#line 249 "ce_expr.yy" /* yacc.c:1661 */ +#line 250 "ce_expr.yy" /* yacc.c:1667 */ { DDS(arg)->mark_all(true); } -#line 1490 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1503 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 5: -#line 250 "ce_expr.yy" /* yacc.c:1661 */ +#line 251 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[0].boolean); } -#line 1498 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1511 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 6: -#line 254 "ce_expr.yy" /* yacc.c:1661 */ +#line 255 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[-2].boolean) && (yyvsp[0].boolean); } -#line 1506 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1519 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 8: -#line 261 "ce_expr.yy" /* yacc.c:1661 */ +#line 262 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[-2].boolean) && (yyvsp[0].boolean); } -#line 1514 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1527 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 9: -#line 267 "ce_expr.yy" /* yacc.c:1661 */ +#line 268 "ce_expr.yy" /* yacc.c:1667 */ { BaseType *var = DDS(arg)->var((yyvsp[0].id)); if (var) { @@ -1526,27 +1539,27 @@ no_such_ident(arg, (yyvsp[0].id), "identifier"); } } -#line 1530 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1543 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 10: -#line 279 "ce_expr.yy" /* yacc.c:1661 */ +#line 280 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[0].boolean); } -#line 1538 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1551 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 11: -#line 283 "ce_expr.yy" /* yacc.c:1661 */ +#line 284 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[0].boolean); } -#line 1546 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1559 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 12: -#line 287 "ce_expr.yy" /* yacc.c:1661 */ +#line 288 "ce_expr.yy" /* yacc.c:1667 */ { Array *array = dynamic_cast((yyvsp[0].rval_ptr)->bvalue(*DDS(arg))); if (array) { @@ -1564,67 +1577,67 @@ return false; } } -#line 1568 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1581 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 13: -#line 311 "ce_expr.yy" /* yacc.c:1661 */ +#line 312 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = build_constant_array((yyvsp[-1].byte_values), DDS(arg)); } -#line 1576 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1589 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 14: -#line 317 "ce_expr.yy" /* yacc.c:1661 */ +#line 318 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = build_constant_array((yyvsp[-1].int16_values), DDS(arg)); } -#line 1584 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1597 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 15: -#line 323 "ce_expr.yy" /* yacc.c:1661 */ +#line 324 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = build_constant_array((yyvsp[-1].uint16_values), DDS(arg)); } -#line 1592 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1605 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 16: -#line 329 "ce_expr.yy" /* yacc.c:1661 */ +#line 330 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = build_constant_array((yyvsp[-1].int32_values), DDS(arg)); } -#line 1600 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1613 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 17: -#line 335 "ce_expr.yy" /* yacc.c:1661 */ +#line 336 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = build_constant_array((yyvsp[-1].uint32_values), DDS(arg)); } -#line 1608 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1621 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 18: -#line 341 "ce_expr.yy" /* yacc.c:1661 */ +#line 342 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = build_constant_array((yyvsp[-1].float32_values), DDS(arg)); } -#line 1616 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1629 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 19: -#line 347 "ce_expr.yy" /* yacc.c:1661 */ +#line 348 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = build_constant_array((yyvsp[-1].float64_values), DDS(arg)); } -#line 1624 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1637 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 20: -#line 356 "ce_expr.yy" /* yacc.c:1661 */ +#line 357 "ce_expr.yy" /* yacc.c:1667 */ { if (!check_int32((yyvsp[0].id))) throw Error(malformed_expr, "$(hint, value, ...) special form expected hint to be an integer"); @@ -1632,179 +1645,179 @@ arg_length_hint_value = atoi((yyvsp[0].id)); (yyval.boolean) = true; } -#line 1636 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1649 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 21: -#line 367 "ce_expr.yy" /* yacc.c:1661 */ +#line 368 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.byte_values) = make_fast_arg_list(arg_length_hint_value, (yyvsp[0].byte_value)); } -#line 1644 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1657 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 22: -#line 371 "ce_expr.yy" /* yacc.c:1661 */ +#line 372 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.byte_values) = make_fast_arg_list((yyvsp[-2].byte_values), (yyvsp[0].byte_value)); } -#line 1652 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1665 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 23: -#line 378 "ce_expr.yy" /* yacc.c:1661 */ +#line 379 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.byte_value) = strtol((yyvsp[0].id), 0, 0); } -#line 1660 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1673 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 24: -#line 385 "ce_expr.yy" /* yacc.c:1661 */ +#line 386 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.int16_values) = make_fast_arg_list(arg_length_hint_value, (yyvsp[0].int16_value)); } -#line 1668 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1681 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 25: -#line 389 "ce_expr.yy" /* yacc.c:1661 */ +#line 390 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.int16_values) = make_fast_arg_list((yyvsp[-2].int16_values), (yyvsp[0].int16_value)); } -#line 1676 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1689 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 26: -#line 396 "ce_expr.yy" /* yacc.c:1661 */ +#line 397 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.int16_value) = strtol((yyvsp[0].id), 0, 0); } -#line 1684 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1697 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 27: -#line 403 "ce_expr.yy" /* yacc.c:1661 */ +#line 404 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.uint16_values) = make_fast_arg_list(arg_length_hint_value, (yyvsp[0].uint16_value)); } -#line 1692 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1705 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 28: -#line 407 "ce_expr.yy" /* yacc.c:1661 */ +#line 408 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.uint16_values) = make_fast_arg_list((yyvsp[-2].uint16_values), (yyvsp[0].uint16_value)); } -#line 1700 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1713 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 29: -#line 414 "ce_expr.yy" /* yacc.c:1661 */ +#line 415 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.uint16_value) = strtoul((yyvsp[0].id), 0, 0); } -#line 1708 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1721 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 30: -#line 421 "ce_expr.yy" /* yacc.c:1661 */ +#line 422 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.int32_values) = make_fast_arg_list(arg_length_hint_value, (yyvsp[0].int32_value)); } -#line 1716 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1729 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 31: -#line 425 "ce_expr.yy" /* yacc.c:1661 */ +#line 426 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.int32_values) = make_fast_arg_list((yyvsp[-2].int32_values), (yyvsp[0].int32_value)); } -#line 1724 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1737 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 32: -#line 432 "ce_expr.yy" /* yacc.c:1661 */ +#line 433 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.int32_value) = strtol((yyvsp[0].id), 0, 0); } -#line 1732 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1745 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 33: -#line 439 "ce_expr.yy" /* yacc.c:1661 */ +#line 440 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.uint32_values) = make_fast_arg_list(arg_length_hint_value, (yyvsp[0].uint32_value)); } -#line 1740 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1753 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 34: -#line 443 "ce_expr.yy" /* yacc.c:1661 */ +#line 444 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.uint32_values) = make_fast_arg_list((yyvsp[-2].uint32_values), (yyvsp[0].uint32_value)); } -#line 1748 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1761 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 35: -#line 450 "ce_expr.yy" /* yacc.c:1661 */ +#line 451 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.uint32_value) = strtoul((yyvsp[0].id), 0, 0); } -#line 1756 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1769 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 36: -#line 457 "ce_expr.yy" /* yacc.c:1661 */ +#line 458 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.float32_values) = make_fast_arg_list(arg_length_hint_value, (yyvsp[0].float32_value)); } -#line 1764 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1777 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 37: -#line 461 "ce_expr.yy" /* yacc.c:1661 */ +#line 462 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.float32_values) = make_fast_arg_list((yyvsp[-2].float32_values), (yyvsp[0].float32_value)); } -#line 1772 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1785 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 38: -#line 468 "ce_expr.yy" /* yacc.c:1661 */ +#line 469 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.float32_value) = strtof((yyvsp[0].id), 0); } -#line 1780 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1793 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 39: -#line 475 "ce_expr.yy" /* yacc.c:1661 */ +#line 476 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.float64_values) = make_fast_arg_list(arg_length_hint_value, (yyvsp[0].float64_value)); } -#line 1788 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1801 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 40: -#line 479 "ce_expr.yy" /* yacc.c:1661 */ +#line 480 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.float64_values) = make_fast_arg_list((yyvsp[-2].float64_values), (yyvsp[0].float64_value)); } -#line 1796 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1809 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 41: -#line 486 "ce_expr.yy" /* yacc.c:1661 */ +#line 487 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.float64_value) = strtod((yyvsp[0].id), 0); } -#line 1804 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1817 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 42: -#line 493 "ce_expr.yy" /* yacc.c:1661 */ +#line 494 "ce_expr.yy" /* yacc.c:1667 */ { proj_func p_f = 0; btp_func f = 0; @@ -1824,19 +1837,19 @@ no_such_func(arg, (yyvsp[-3].id)); } } -#line 1828 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1841 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 44: -#line 516 "ce_expr.yy" /* yacc.c:1661 */ +#line 517 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[-2].boolean) && (yyvsp[0].boolean); } -#line 1836 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1849 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 45: -#line 522 "ce_expr.yy" /* yacc.c:1661 */ +#line 523 "ce_expr.yy" /* yacc.c:1667 */ { if ((yyvsp[-4].rval_ptr)) { EVALUATOR(arg)->append_clause((yyvsp[-3].op), (yyvsp[-4].rval_ptr), (yyvsp[-1].r_val_l_ptr)); @@ -1845,11 +1858,11 @@ else (yyval.boolean) = false; } -#line 1849 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1862 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 46: -#line 531 "ce_expr.yy" /* yacc.c:1661 */ +#line 532 "ce_expr.yy" /* yacc.c:1667 */ { if ((yyvsp[-2].rval_ptr)) { rvalue_list *rv = new rvalue_list; @@ -1860,19 +1873,19 @@ else (yyval.boolean) = false; } -#line 1864 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1877 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 47: -#line 542 "ce_expr.yy" /* yacc.c:1661 */ +#line 543 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[0].boolean); } -#line 1872 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1885 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 48: -#line 549 "ce_expr.yy" /* yacc.c:1661 */ +#line 550 "ce_expr.yy" /* yacc.c:1667 */ { bool_func b_func = get_function((*EVALUATOR(arg)), (yyvsp[-3].id)); if (!b_func) { @@ -1883,11 +1896,11 @@ (yyval.boolean) = true; } } -#line 1887 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1900 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 50: -#line 564 "ce_expr.yy" /* yacc.c:1661 */ +#line 565 "ce_expr.yy" /* yacc.c:1667 */ { btp_func func = get_btp_function((*EVALUATOR(arg)), (yyvsp[-3].id)); if (func) { @@ -1897,65 +1910,65 @@ no_such_func(arg, (yyvsp[-3].id)); } } -#line 1901 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1914 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 51: -#line 574 "ce_expr.yy" /* yacc.c:1661 */ +#line 575 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = (yyvsp[0].rval_ptr); } -#line 1909 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1922 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 52: -#line 578 "ce_expr.yy" /* yacc.c:1661 */ +#line 579 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.rval_ptr) = (yyvsp[0].rval_ptr); } -#line 1917 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1930 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 53: -#line 584 "ce_expr.yy" /* yacc.c:1661 */ +#line 585 "ce_expr.yy" /* yacc.c:1667 */ { if ((yyvsp[0].rval_ptr)) (yyval.r_val_l_ptr) = make_rvalue_list((yyvsp[0].rval_ptr)); else (yyval.r_val_l_ptr) = 0; } -#line 1928 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1941 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 54: -#line 591 "ce_expr.yy" /* yacc.c:1661 */ +#line 592 "ce_expr.yy" /* yacc.c:1667 */ { if ((yyvsp[-2].r_val_l_ptr) && (yyvsp[0].rval_ptr)) (yyval.r_val_l_ptr) = append_rvalue_list((yyvsp[-2].r_val_l_ptr), (yyvsp[0].rval_ptr)); else (yyval.r_val_l_ptr) = 0; } -#line 1939 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1952 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 55: -#line 600 "ce_expr.yy" /* yacc.c:1661 */ +#line 601 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.r_val_l_ptr) = (yyvsp[0].r_val_l_ptr); } -#line 1947 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1960 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 56: -#line 604 "ce_expr.yy" /* yacc.c:1661 */ +#line 605 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.r_val_l_ptr) = 0; } -#line 1955 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 1968 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 57: -#line 610 "ce_expr.yy" /* yacc.c:1661 */ +#line 611 "ce_expr.yy" /* yacc.c:1667 */ { BaseType *btp = DDS(arg)->var(www2id((yyvsp[0].id))); if (btp) { @@ -1993,11 +2006,11 @@ (yyval.rval_ptr) = new rvalue(btp); } } -#line 1997 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2010 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 58: -#line 648 "ce_expr.yy" /* yacc.c:1661 */ +#line 649 "ce_expr.yy" /* yacc.c:1667 */ { if ((yyvsp[0].val).type != dods_str_c || (yyvsp[0].val).v.s == 0 || (yyvsp[0].val).v.s->empty()) ce_exprerror(arg, "Malformed string", ""); @@ -2016,11 +2029,11 @@ // See ticket 2240. jhrg 7/30/14 delete (yyvsp[0].val).v.s; } -#line 2020 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2033 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 59: -#line 672 "ce_expr.yy" /* yacc.c:1661 */ +#line 673 "ce_expr.yy" /* yacc.c:1667 */ { if (!bracket_projection((*DDS(arg)), (yyvsp[-1].id), (yyvsp[0].int_ll_ptr))) no_such_ident(arg, (yyvsp[-1].id), "array, grid or sequence"); @@ -2031,19 +2044,19 @@ DDS(arg)->mark((yyvsp[-1].id), true); (yyval.rval_ptr) = new rvalue(DDS(arg)->var((yyvsp[-1].id))); } -#line 2035 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2048 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 60: -#line 685 "ce_expr.yy" /* yacc.c:1661 */ +#line 686 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.boolean) = (*DDS(arg)).mark((yyvsp[0].id), true); } -#line 2043 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2056 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 61: -#line 691 "ce_expr.yy" /* yacc.c:1661 */ +#line 692 "ce_expr.yy" /* yacc.c:1667 */ { //string name = www2id($1); if (!bracket_projection((*DDS(arg)), (yyvsp[-1].id), (yyvsp[0].int_ll_ptr))) @@ -2052,21 +2065,21 @@ strncpy((yyval.id), (yyvsp[-1].id), ID_MAX-1); (yyval.id)[ID_MAX-1] = '\0'; } -#line 2056 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2069 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 62: -#line 700 "ce_expr.yy" /* yacc.c:1661 */ +#line 701 "ce_expr.yy" /* yacc.c:1667 */ { string name = string((yyvsp[-1].id)) + string((yyvsp[0].id)); strncpy((yyval.id), name.c_str(), ID_MAX-1); (yyval.id)[ID_MAX-1] = '\0'; } -#line 2066 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2079 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 63: -#line 706 "ce_expr.yy" /* yacc.c:1661 */ +#line 707 "ce_expr.yy" /* yacc.c:1667 */ { string name = string((yyvsp[-2].id)) + string((yyvsp[-1].id)); if (!bracket_projection((*DDS(arg)), name.c_str(), (yyvsp[0].int_ll_ptr))) @@ -2075,20 +2088,20 @@ strncpy((yyval.id), name.c_str(), ID_MAX-1); (yyval.id)[ID_MAX-1] = '\0'; } -#line 2079 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2092 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 64: -#line 717 "ce_expr.yy" /* yacc.c:1661 */ +#line 718 "ce_expr.yy" /* yacc.c:1667 */ { strncpy((yyval.id), www2id((yyvsp[0].id)).c_str(), ID_MAX-1); (yyval.id)[ID_MAX-1] = '\0'; } -#line 2088 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2101 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 65: -#line 722 "ce_expr.yy" /* yacc.c:1661 */ +#line 723 "ce_expr.yy" /* yacc.c:1667 */ { if ((yyvsp[0].val).type != dods_str_c || (yyvsp[0].val).v.s == 0 || (yyvsp[0].val).v.s->empty()) ce_exprerror(arg, "Malformed string", ""); @@ -2100,27 +2113,27 @@ (yyval.id)[ID_MAX-1] = '\0'; } -#line 2104 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2117 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 66: -#line 736 "ce_expr.yy" /* yacc.c:1661 */ +#line 737 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.int_ll_ptr) = make_array_indices((yyvsp[0].int_l_ptr)); } -#line 2112 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2125 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 67: -#line 740 "ce_expr.yy" /* yacc.c:1661 */ +#line 741 "ce_expr.yy" /* yacc.c:1667 */ { (yyval.int_ll_ptr) = append_array_index((yyvsp[-1].int_ll_ptr), (yyvsp[0].int_l_ptr)); } -#line 2120 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2133 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 68: -#line 754 "ce_expr.yy" /* yacc.c:1661 */ +#line 755 "ce_expr.yy" /* yacc.c:1667 */ { if (!check_uint32((yyvsp[-1].id))) throw Error(malformed_expr, "The word `" + string((yyvsp[-1].id)) + "' is not a valid array index."); @@ -2129,22 +2142,22 @@ i.v.i = atoi((yyvsp[-1].id)); (yyval.int_l_ptr) = make_array_index(i); } -#line 2133 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2146 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 69: -#line 763 "ce_expr.yy" /* yacc.c:1661 */ +#line 764 "ce_expr.yy" /* yacc.c:1667 */ { value i; i.type = dods_int32_c; i.v.i =-1; (yyval.int_l_ptr) = make_array_index(i); } -#line 2144 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2157 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 70: -#line 770 "ce_expr.yy" /* yacc.c:1661 */ +#line 771 "ce_expr.yy" /* yacc.c:1667 */ { if (!check_uint32((yyvsp[-3].id))) throw Error(malformed_expr, "The word `" + string((yyvsp[-3].id)) + "' is not a valid array index."); @@ -2156,11 +2169,11 @@ j.v.i = atoi((yyvsp[-1].id)); (yyval.int_l_ptr) = make_array_index(i, j); } -#line 2160 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2173 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 71: -#line 782 "ce_expr.yy" /* yacc.c:1661 */ +#line 783 "ce_expr.yy" /* yacc.c:1667 */ { if (!check_uint32((yyvsp[-3].id))) throw Error(malformed_expr, "The word `" + string((yyvsp[-3].id)) + "' is not a valid array index."); @@ -2171,11 +2184,11 @@ j.v.i = -1; (yyval.int_l_ptr) = make_array_index(i, j); } -#line 2175 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2188 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 72: -#line 793 "ce_expr.yy" /* yacc.c:1661 */ +#line 794 "ce_expr.yy" /* yacc.c:1667 */ { if (!check_uint32((yyvsp[-5].id))) throw Error(malformed_expr, "The word `" + string((yyvsp[-5].id)) + "' is not a valid array index."); @@ -2190,11 +2203,11 @@ k.v.i = atoi((yyvsp[-1].id)); (yyval.int_l_ptr) = make_array_index(i, j, k); } -#line 2194 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2207 "ce_expr.tab.cc" /* yacc.c:1667 */ break; case 73: -#line 808 "ce_expr.yy" /* yacc.c:1661 */ +#line 809 "ce_expr.yy" /* yacc.c:1667 */ { if (!check_uint32((yyvsp[-5].id))) throw Error(malformed_expr, "The word `" + string((yyvsp[-5].id)) + "' is not a valid array index."); @@ -2208,11 +2221,11 @@ k.v.i = -1; (yyval.int_l_ptr) = make_array_index(i, j, k); } -#line 2212 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2225 "ce_expr.tab.cc" /* yacc.c:1667 */ break; -#line 2216 "ce_expr.tab.cc" /* yacc.c:1661 */ +#line 2229 "ce_expr.tab.cc" /* yacc.c:1667 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -2237,14 +2250,13 @@ /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + } goto yynewstate; @@ -2327,12 +2339,10 @@ | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -2394,6 +2404,7 @@ yyresult = 0; goto yyreturn; + /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ @@ -2401,6 +2412,7 @@ yyresult = 1; goto yyreturn; + #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | @@ -2411,6 +2423,10 @@ /* Fall through. */ #endif + +/*-----------------------------------------------------. +| yyreturn -- parsing is finished, return the result. | +`-----------------------------------------------------*/ yyreturn: if (yychar != YYEMPTY) { @@ -2440,7 +2456,7 @@ #endif return yyresult; } -#line 832 "ce_expr.yy" /* yacc.c:1906 */ +#line 833 "ce_expr.yy" /* yacc.c:1918 */ // All these error reporting function now throw instances of Error. The expr @@ -2505,43 +2521,45 @@ { BaseType *var = table.var(name); Sequence *seq; // used in last else-if clause - - if (!var) - return false; - - if (is_array_t(var)) { - /* calls to set_send_p should be replaced with - calls to DDS::mark so that arrays of Structures, - etc. will be processed correctly when individual - elements are projected using short names. - 9/1/98 jhrg */ - /* var->set_send_p(true); */ - //table.mark(name, true); - // We don't call mark() here for an array. Instead it is called from - // within the parser. jhrg 10/10/08 - process_array_indices(var, indices); // throws on error - delete_array_indices(indices); + bool ret_val = true; + try { + if (!var) { + ret_val = false; + } + else if (is_array_t(var)) { + /* calls to set_send_p should be replaced with + calls to DDS::mark so that arrays of Structures, + etc. will be processed correctly when individual + elements are projected using short names. + 9/1/98 jhrg */ + /* var->set_send_p(true); */ + //table.mark(name, true); + // We don't call mark() here for an array. Instead it is called from + // within the parser. jhrg 10/10/08 + process_array_indices(var, indices); // throws on error + } + else if (is_grid_t(var)) { + process_grid_indices(var, indices); + table.mark(name, true); + } + else if (is_sequence_t(var)) { + table.mark(name, true); + process_sequence_indices(var, indices); + } + else if ((seq = parent_is_sequence(table, name))) { + process_sequence_indices(seq, indices); + table.mark(name, true); + } + else { + ret_val = false; + } + delete_array_indices(indices); + } + catch(...) { + delete_array_indices(indices); + throw; } - else if (is_grid_t(var)) { - process_grid_indices(var, indices); - table.mark(name, true); - delete_array_indices(indices); - } - else if (is_sequence_t(var)) { - table.mark(name, true); - process_sequence_indices(var, indices); - delete_array_indices(indices); - } - else if ((seq = parent_is_sequence(table, name))) { - process_sequence_indices(seq, indices); - table.mark(name, true); - delete_array_indices(indices); - } - else { - return false; - } - - return true; + return ret_val; } // Given three values (I1, I2, I3), all of which must be integers, build an diff -Nru libdap-3.19.1/ce_expr.tab.hh libdap-3.20.5/ce_expr.tab.hh --- libdap-3.19.1/ce_expr.tab.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/ce_expr.tab.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,17 +31,28 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + #ifndef YY_CE_EXPR_CE_EXPR_TAB_HH_INCLUDED # define YY_CE_EXPR_CE_EXPR_TAB_HH_INCLUDED /* Debug traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif +#ifndef CE_EXPRDEBUG +# if defined YYDEBUG #if YYDEBUG +# define CE_EXPRDEBUG 1 +# else +# define CE_EXPRDEBUG 0 +# endif +# else /* ! defined YYDEBUG */ +# define CE_EXPRDEBUG 1 +# endif /* ! defined YYDEBUG */ +#endif /* ! defined CE_EXPRDEBUG */ +#if CE_EXPRDEBUG extern int ce_exprdebug; #endif /* "%code requires" blocks. */ -#line 41 "ce_expr.yy" /* yacc.c:1915 */ +#line 41 "ce_expr.yy" /* yacc.c:1927 */ #include "config.h" @@ -94,6 +106,7 @@ #define EVALUATOR(arg) (static_cast(arg)->get_eval()) #define DDS(arg) (static_cast(arg)->get_dds()) +#define YYERROR_VERBOSE 0 // #define YYPARSE_PARAM arg int ce_exprlex(void); /* the scanner; see expr.lex */ @@ -136,12 +149,12 @@ rvalue *build_constant_array(vector *values, DDS *dds); -#line 140 "ce_expr.tab.hh" /* yacc.c:1915 */ +#line 153 "ce_expr.tab.hh" /* yacc.c:1927 */ /* Token type. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - enum yytokentype +#ifndef CE_EXPRTOKENTYPE +# define CE_EXPRTOKENTYPE + enum ce_exprtokentype { SCAN_STR = 258, SCAN_WORD = 259, @@ -164,11 +177,11 @@ #endif /* Value type. */ -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +#if ! defined CE_EXPRSTYPE && ! defined CE_EXPRSTYPE_IS_DECLARED -union YYSTYPE +union CE_EXPRSTYPE { -#line 145 "ce_expr.yy" /* yacc.c:1915 */ +#line 146 "ce_expr.yy" /* yacc.c:1927 */ bool boolean; int op; @@ -201,16 +214,16 @@ libdap::rvalue *rval_ptr; libdap::rvalue_list *r_val_l_ptr; -#line 205 "ce_expr.tab.hh" /* yacc.c:1915 */ +#line 218 "ce_expr.tab.hh" /* yacc.c:1927 */ }; -typedef union YYSTYPE YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define YYSTYPE_IS_DECLARED 1 +typedef union CE_EXPRSTYPE CE_EXPRSTYPE; +# define CE_EXPRSTYPE_IS_TRIVIAL 1 +# define CE_EXPRSTYPE_IS_DECLARED 1 #endif -extern YYSTYPE ce_exprlval; +extern CE_EXPRSTYPE ce_exprlval; int ce_exprparse (ce_parser_arg *arg); diff -Nru libdap-3.19.1/ce_expr.yy libdap-3.20.5/ce_expr.yy --- libdap-3.19.1/ce_expr.yy 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/ce_expr.yy 2020-02-17 07:35:45.000000000 +0000 @@ -91,6 +91,7 @@ #define EVALUATOR(arg) (static_cast(arg)->get_eval()) #define DDS(arg) (static_cast(arg)->get_dds()) +#define YYERROR_VERBOSE 0 // #define YYPARSE_PARAM arg int ce_exprlex(void); /* the scanner; see expr.lex */ @@ -137,7 +138,7 @@ %require "2.4" %parse-param {ce_parser_arg *arg} -%name-prefix "ce_expr" +%define api.prefix {ce_expr} %defines %debug %verbose @@ -893,43 +894,45 @@ { BaseType *var = table.var(name); Sequence *seq; // used in last else-if clause - - if (!var) - return false; - - if (is_array_t(var)) { - /* calls to set_send_p should be replaced with - calls to DDS::mark so that arrays of Structures, - etc. will be processed correctly when individual - elements are projected using short names. - 9/1/98 jhrg */ - /* var->set_send_p(true); */ - //table.mark(name, true); - // We don't call mark() here for an array. Instead it is called from - // within the parser. jhrg 10/10/08 - process_array_indices(var, indices); // throws on error - delete_array_indices(indices); - } - else if (is_grid_t(var)) { - process_grid_indices(var, indices); - table.mark(name, true); - delete_array_indices(indices); + bool ret_val = true; + try { + if (!var) { + ret_val = false; + } + else if (is_array_t(var)) { + /* calls to set_send_p should be replaced with + calls to DDS::mark so that arrays of Structures, + etc. will be processed correctly when individual + elements are projected using short names. + 9/1/98 jhrg */ + /* var->set_send_p(true); */ + //table.mark(name, true); + // We don't call mark() here for an array. Instead it is called from + // within the parser. jhrg 10/10/08 + process_array_indices(var, indices); // throws on error + } + else if (is_grid_t(var)) { + process_grid_indices(var, indices); + table.mark(name, true); + } + else if (is_sequence_t(var)) { + table.mark(name, true); + process_sequence_indices(var, indices); + } + else if ((seq = parent_is_sequence(table, name))) { + process_sequence_indices(seq, indices); + table.mark(name, true); + } + else { + ret_val = false; + } + delete_array_indices(indices); } - else if (is_sequence_t(var)) { - table.mark(name, true); - process_sequence_indices(var, indices); - delete_array_indices(indices); + catch(...) { + delete_array_indices(indices); + throw; } - else if ((seq = parent_is_sequence(table, name))) { - process_sequence_indices(seq, indices); - table.mark(name, true); - delete_array_indices(indices); - } - else { - return false; - } - - return true; + return ret_val; } // Given three values (I1, I2, I3), all of which must be integers, build an diff -Nru libdap-3.19.1/ChangeLog libdap-3.20.5/ChangeLog --- libdap-3.19.1/ChangeLog 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/ChangeLog 2020-02-17 07:35:45.000000000 +0000 @@ -1,3 +1,1222 @@ +2020-01-09 ndp-opendap + + updating aws keys for travis + +2019-12-13 kyang2014 + + Merge pull request #105 from OPENDAP/hk-532 + HK-532, set the parent pointer of vars to NULL when transforming DAP4… + +2019-12-12 Muqun Yang + + HK-532, set the parent pointer of vars to NULL when transforming DAP4 to DAP2. + +2019-12-06 Sam Lloyd + + Merge pull request #104 from OPENDAP/HK-50 + Hk 50 + +2019-12-06 Samuel Lloyd + + 12/6/19 - HK-50 - master merge + +2019-12-05 James Gallagher + + Removed unneeded include directories + [skip ci] + + Added local CMakeLists.txt to streamline work with CLion. + [skip ci] + +2019-12-04 slloyd + + 12/4/19 - HK-50 - (In Progress) returns changed + +2019-12-03 James Gallagher + + Merge pull request #103 from OPENDAP/HK-459 + 11/26/19 - HK-459 - (Awaiting Review) suppressed .yy error messages + +2019-11-27 James Gallagher + + Prepare for merge + + Set custom condition for ci_test + + Testing 'test deployment' + + Modified ci_test stage + + Reset keys + + Test new AWS keys + +2019-11-26 slloyd + + 11/26/19 - HK-459 - (Awaiting Review) suppressed .yy error messages + suppressed error messages thrown from libdap4/*.yy files to the standard + out + +2019-11-01 James Gallagher + + My update of the Ubuntu container failed; modified the deb-build script. + The script now loads the awscli code. It would be better to fix the + docker container, but I don't have easy access to the Dockerfile. + + Updated the ubuntu 14 container so it has the aws cli. + + Modified build-deb.sh to use the aws cli. + This change was needed because the travis.build bucket is no longer + public. + +2019-10-31 James Gallagher + + Merge pull request #102 from OPENDAP/dap4-function-null-args-support + Added support for null argument lists to the DAP4 function parser. + + Added support for null argument lists to the DAP4 function parser. + +2019-10-30 James Gallagher + + Fix for the deb-to-package-dir.sh script. + + Merge pull request #101 from OPENDAP/travis + Travis + + Added srcdist to the travis build + +2019-10-29 James Gallagher + + More clean up and configured to build on the travis branch + + Clean up the travis.yml + +2019-10-01 James Gallagher + + Changed scan stage so sonarcloud is an 'object' + +2019-09-30 James Gallagher + + Changed name-prefix to api.prefix + +2019-09-25 James Gallagher + + Syntax fixes in travis.yml and a new target in Makefile.am for CLion + To make CLion work with our code I used the compiledb tool to make + a data base of built files. I added a target to the Makefile.am to + support that. + [skip ci] + +2019-09-08 James Gallagher + + Merge pull request #99 from OPENDAP/dmr-test-fix + Dmr test fix + +2019-09-04 slloyd + + 9/4/19 - HK-411 - (Awaiting Review) implemented remaining DMRTest fixes + +2019-08-27 Nathan Potter + + Fixing broken naming of rpm's, again. + + Fixing the missong devel and debuginfo snaps + + Testing snapshot gen in travis, tweaking target names + + Testing snapshot gen in travis + + Testing snapshot gen in travis + + Merge branch 'master' of https://github.com/opendap/libdap4 + + Testing snapshot gen in travis + +2019-08-26 Kodi Neumiller + + Merge pull request #98 from OPENDAP/authorization_fix + Cleanup and Verbose + + Made it easier to set the verbose for HTTPConnect and added a very verbose option. + + Merge pull request #97 from OPENDAP/authorization_fix + Fixed netrc authorization + +2019-08-23 Kodi Neumiller + + Took out the curlopt_username and curlopt_password + + Fixed netrc authorization + +2019-07-08 James Gallagher + + Added DOI + [skip ci] + +2019-07-03 James Gallagher + + Merge branch 'master' of https://github.com/opendap/libdap4 + Resolved Conflicts: chunked_istream.cc + +2019-07-02 James Gallagher + + Merge pull request #96 from OPENDAP/header-byte-order-hack + Hacked chunked_i/ostream.cc using HEADER_IN_NETWORK_BYTE_ORDER + + Revert "Fixes to ntohl() use and auto_ptr --> unique_ptr." + This reverts commit c8c427b01dd95ff2f0da820630ffc8133d77d0aa. + + Hacked chunked_i/ostream.cc using HEADER_IN_NETWORK_BYTE_ORDER + This is an attempt to revert edits made to correct the calls + to htonl() adn ntohl(). Most thought is needed. + +2019-07-01 James Gallagher + + Merge pull request #95 from OPENDAP/scan-fixes + Fixes to ntohl() use and auto_ptr --> unique_ptr. + + Fixes to ntohl() use and auto_ptr --> unique_ptr. + Will this pass the CentOS 6 build? + +2019-06-21 James Gallagher + + Merge pull request #94 from OPENDAP/libdap-leak-fix + DMRParser leak fix + +2019-06-20 James Gallagher + + DMRParser leak fix + +2019-06-20 Nathan Potter + + Code tidying + + Merge pull request #93 from OPENDAP/dmr_chunking_parser + Dmr chunking parser + + Dropping conditional termination of the DMR parse operation. + + Minor changes for readability + + Updated baselines to account for modified parse error messages and + whitespace alterations + + Merge branch 'master' into dmr_chunking_parser + + chunking improvement + +2019-06-20 James Gallagher + + Merge pull request #92 from OPENDAP/dmr-test-mem-leak + Dmr test mem leak + +2019-06-19 James Gallagher + + One small edit for D4Attributes - remove unused code. + + Added a DMR that intentionally includes a forward reference error + EnumDMR_1.6 + + Found that a malformed DMR breaks the parser in a very odd way + No error message or exception. The error is to have a forward + reference for a dimension defined in a Group. + +2019-06-19 Nathan Potter + + Merge branch 'master' into dmr_chunking_parser + + first pass at chunk reading parser + +2019-06-19 James Gallagher + + Memory leak fix for XMLWriter. + The libxml2 macro LIBXML_TEST_VERSION leaks 40 bytes. + + Merge pull request #91 from OPENDAP/HK-403.1 + Hk 403.1 + +2019-06-19 Cloud User + + Used auto_ptr<> in DmrToDap2Test.cc. + + Memory leak fixes in DMR.cc and D4Group.cc + +2019-06-19 Nathan Potter + + Minor output change for D4ParserSax2Test. New baselines with newline chars + +2019-06-19 James Gallagher + + Reduced method count in D4Group and DMR. + + Spelling in a comment (AttrTable.cc) + +2019-06-18 James Gallagher + + Formatting in D4Attributes.cc + + More work - tests still pass on OSX. + I'm working in removing more code in D4Attributes, load_AttrTable() + is removed and get_AttrTable() is only used by D4Group. + + Fixes for HK-403 (the HK-403.1 branch). Tests pass on OSX. + +2019-06-18 Cloud User + + checkpoint HK-403.1 Work on attribute transfer. + +2019-06-18 James Gallagher + + Minor edit to D4Attributes.g - formatting only. + + Minor edits to the Array.cc file. In connection with HK-403 + [skip ci] + +2019-06-17 James Gallagher + + Found part of HK-403 fixes that doesn't break tests - added back in. + + More fixes - Marked two tests in DmrToDap2Test as expected to fail. + + Another hack to fix DDSTests added. + [skip ci] + + I found that some of the CI test failures are 'fixed' by including + code in Array.cc That is, some of the code that was removed + because it caused leaks was, apparently, doing more than causing + leaks. I'm commiting this because, while it's a WIP, I'm on the + road and don't know when I can look at it again. + +2019-06-13 Nathan Potter + + Cleaning up + +2019-06-12 Nathan Potter + + Improved error/memory management for DmrToDap2Test + +2019-06-11 Nathan Potter + + Fixed memory leak in DMR::getDDS() + + Fixed copying problem in Array::transform_to_dap2(). Fixed memory + leak in DmrToDap2Test.cc + +2019-05-30 Nathan Potter + + Memory leak patch. + +2019-04-19 Nathan Potter + + Merge pull request #89 from OPENDAP/d4_to_d2_attr_err_msg + Added more fine grained error handling in get_dap2_AttrType() + + Added Enum and Opaque to d4->d2 attribute conversion. + + Added more fine grained error handling in get_dap2_AttrType() + +2019-04-05 James Gallagher + + Merge pull request #88 from OPENDAP/c++11-bison-hack + Modified the build so that --std=c++-0x works on CentOS 6 + + Modified the build so that --std=c++-0x works on CentOS 6 + The issue was that the bison code failed to build. The fix is + to not use the --std=... flag for it. Since it's generated code + we're not using any C++ 2011 stuff. If that changes, it _will_ + build with 2011++, but not the 0x implementation found on CentOS 6. + +2019-03-26 James Gallagher + + Arrgh. C++-11 on centos 6 is broken or our code stresses it. + Dropping back to, either we find c++11 support or we don't. Use + CXX11_FLAG is non-zero to if it was found (and if so, how to get the + compiler to use it). + + This runs under autoconf 2.63, but there's another hitch. Potential fix... + + Potential fix for centos 6 and the new c++11 test. + + Merge pull request #87 from OPENDAP/c++11-test-use + Added a test for either c++11 or c++0x and its use by the Makefiles + +2019-03-25 James Gallagher + + Added cxx_flags_check macro for configure.ac + +2019-03-22 James Gallagher + + Added a test for either c++11 or c++0x and its use by the Makefiles + No code changes. The idea is to see if this makes it through CI/CD. + C++0x is the prequel to C++11. The '0x' version is supported on + CentOS 6 by gcc/++ 4.4.x + +2019-03-20 James Gallagher + + Fixed comments. + [skip ci] + +2019-02-15 James Gallagher + + Merge pull request #86 from OPENDAP/leak_test + HK-87. Fixed libdap memory leak for Ubuntu. + +2019-02-15 Slav Korolev + + HK-87. Fixed libdap memory leak for Ubuntu. + +2019-02-15 James Gallagher + + fixed debian/changelog + +2019-02-14 James Gallagher + + Bumped up the version in denian/changelog + + Forgot the libdap spec file for the RPM + + Version 3.20.3 source release + +2019-02-12 James Gallagher + + Merge pull request #85 from OPENDAP/sonar-travis + Sonar travis + + I think we're done - it works. Moving the scan to follow the builds + [skip ci] + + Might work! + + one last try + + Another try... +2019-02-12 James Gallagher + + Merge pull request #85 from OPENDAP/sonar-travis + Sonar travis + + test sonar via travis + +2019-02-11 James Gallagher + + Added multi-thread option to the sonar properties file + [skip ci] + +2019-02-08 James Gallagher + + Merge pull request #84 from OPENDAP/rpm-aws-cli + RPM aws cli + + Modified build-rpm.sh to work with the CentOS 6 docker image + It has the aws cli tools buried in an odd place. + + Modified the RPM CI build to use aws cli and not curl + + Merge branch 'master' of https://github.com/opendap/libdap4 [skip ci] + + Merge pull request #83 from OPENDAP/sonar + Sonar + + Added to gitignore for sonarscan + [skip ci] + + minor edit to the sonar-project.properties file + + Sonar Scan changes + +2019-02-06 James Gallagher + + Changes based on sonar scan + +2019-02-05 Nathan Potter + + Fixed incorrect delete (changed to delete[]) in chunked_istream.h + + Repaired incorrect 'throw new ...' calls. + +2019-01-30 James Gallagher + + Merge pull request #82 from OPENDAP/travis-aws + Modified the .travis.yml to use aws and not curl. + + Modified the .travis.yml to use aws and not curl. + The idea here is that maybe this will be a bit more robust and thus + cut down on spurious build errors. Testing here before in the bes. + +2019-01-29 Nathan Potter + + Fixed typo [skip ci] + +2019-01-02 Kodi Neumiller + + Merge pull request #81 from OPENDAP/debian + Debian + + Merge branch 'master' into debian + + Travis passed, took out unnecessary code. Also changed the branch to "if branch = master" + + Re-added the travis_build_dir + + Checkpoint. + + Checkpoint. + + Changed directory to $prefix/ + + Forgot the / in /root + + Trying to mv the deb package from /root/ + + Realized that the build-deb.sh file has a different value for $prefix + +2018-12-31 Kodi Neumiller + + Changed the directory the db package is put to $prefix/debbuild + + I think the deb package is being place in root + + Merge pull request #80 from OPENDAP/debian + Changed where travis looks for the libdap deb package + + Trying to pinpoint libdap deb package... + + Instead of trying to put the libdap deb build in a different + directory, will try to locate the deb package the docker build + generates. + + Testing to see where libdap4 is put + + Forgot "--env"... + + Renamed the traivs dir + + Added the TravisBuildDir environment + +2018-12-27 Kodi Neumiller + + Changed it so that the deb packgage is made in the Travis_build_dir + + Merge pull request #79 from OPENDAP/debian + Reverted the directory back to $TRAVIS_BUILD_DIR/../ + + Reverted the directory back to $TRAVIS_BUILD_DIR/../ + +2018-12-21 Kodi Neumiller + + Merge pull request #78 from OPENDAP/debian + Changed the name of the directotry for deb build. + + Changed the name of the directotry for deb build. + + Merge pull request #77 from OPENDAP/debian + Debian docker build + + Moved debian packages to Dockerfile + +2018-12-21 Kodi Neumiller + + Forgot to set permissions for .sh file + + Had the wrong name for the docker repository... + + libdap debian docker build. + +2018-12-20 James Gallagher + + Updated comments + [skip ci] + +2018-12-19 Kodi Neumiller + + Merge branch 'master' into debian + +2018-12-06 James Gallagher + + Added DOI for 3.20.2 + [skip ci] + +2018-12-05 James Gallagher + + Updated version numbers and Documentation for 3.20.2 +2018-11-29 Slav Korolev + + Corrected comments. + +2018-11-28 James Gallagher + + Merge pull request #76 from OPENDAP/rename_dim + Rename dim + +2018-11-20 Slav Korolev + + HK-247. Removed unneeded include. + + HK-247. Added Array function rename_dim. + +2018-11-19 James Gallagher + + Merge pull request #75 from OPENDAP/version-3.20.1 + Version 3.20.1 + + Updated debian changelog (which includes the version) + + Modified travis.yml for builds and packages on version-* branches + + Release versions and files updated + +2018-10-24 James Gallagher + + Merge branch 'travis' + [skip ci] + + Updated travis build so that the build-rpm.sh script is accessible + +2018-10-23 James Gallagher + + Merge branch 'travis' of https://github.com/opendap/libdap4 into travis + # Conflicts: + # .travis.yml + + Added c6 to deply list + +2018-10-22 James Gallagher + + Updated the containers to tag 1.1 + +2018-10-20 James Gallagher + + Container tags from 1,latest to 1.0 + + Removed old files + + Merge branch 'travis' of https://github.com/opendap/libdap4 into travis + + As with hyrax deps, container tag change from 1 to 1.0 + +2018-10-17 James Gallagher + + Added centos6 build + + replace mv with cp - maybe the user is not root + That is, a non-root user cannot mv because that implies delete/write + privileges and group and other have only read privileges. + +2018-10-16 James Gallagher + + Debug broken mv + + Another try at debugging the mv problem + + More debugging of the mv bug. + + Debug package move error. + Also, changed to $HOME from /root in both travis yml and build-rpm.sh + + Fixed paths in build-rpm.sh + + Missed a /home in the centos7 RPM build + + Changed /home to /root inside the docker container. + This should enable the rpms to be accessed by Travis. Also, changed the + branch restrictions on the deployment so the Travis branch will run the + before_deploy code (deploy itself won't run for a PR). + +2018-10-15 James Gallagher + + Corrected error in build-rpm.sh - was missing call to configure + + Fixed container spec; hacked yml to test only the RPM build + + Hacked Travis to run the new RPM build. checkpoint + + Changed rpm-build.sh to use 'make rpm' and added some instrumentation + + Initial version of a Travis-based RPM build. checkpoint + +2018-10-11 James Gallagher + + Revert "--enable-coverage added to configure.ac and Makefile.am" + This reverts commit 726f30bbf743a9fc2213f3a2c7d28a7cb2df3174. + + --enable-coverage added to configure.ac and Makefile.am + + Added initial version of docker bootstrap script + [skip ci] + + Added the new docker command - it didn't get committed previously + + # WARNING: head commit changed in the meantime + Added docker as a 'service,' named the package build stage. + This is a test to see if I can get the docker container to load and run + +2018-09-13 James Gallagher + + Debian package build fail was a version number error + Changed the distribution back to 'trusty' + + There are errors reported by debian lintian - change dist to UNSTABLE + + Modified the debian/changelog to indicate the package was built on trusty +2018-09-13 James Gallagher + + Merge branch 'centos6-build-fixes' + +2018-09-12 James Gallagher + + Merge pull request #74 from OPENDAP/ddx-fix-2 + DDX fix 2 + + Now the code builds DAP3.2 DDX reposnes by default. + +2018-09-10 James Gallagher + + Baselines for DAP2 DDXs (*.dap2.xml) + The DAP 3.2 baselines end in .xml. + + Merge branch 'ddx-fix-2' of https://github.com/opendap/libdap4 into ddx-fix-2 + + The configure script now sets DAP2 or DAP3.2 DDX reposes. + DAP2 DDX's in this commit. Tests are switched automatically. + + The configure script now sets DAP2 or DAP3.2 DDX reposes. + Tests are switched automatically. + + This is the alternative DDX fix - compile-time choice of DAP2 or 3.2 DDX + With DAP2 DDX, all but a handful of BES tests pass, with DAP3.2, many + more tests fail. + + Merge pull request #73 from OPENDAP/ddx-3.2-only + The DDS::print_xml and print_xml_writer now only return a '3.2' DDX + + The DDS::print_xml and print_xml_writer now only return a '3.2' DDX + There is an issue in the BES where, for unknown reasons, a DAP2 or + DAP3.2 DDX will be returned. The DDX response should only be '3.2'. + Since there is no used for DAP2 DDX, I've removed it. This doesn't + address the underlying problem, however (why the version number in + the DDS object do not match those set by the BES's client). + +2018-08-29 James Gallagher + + centos6 edits + +2018-08-22 James Gallagher + + Fixed commands in the before_deploy section of the travis yaml + + try moving two packages to S3 + +2018-08-22 Kodi Neumiller + + Added || in the condition section. + + Took out = main + + Fixed the directory to send the .deb file. + +2018-08-22 Kodi Neumiller + + Merge pull request #71 from OPENDAP/debian + Debian. Should move the created deb package to s3. + +2018-08-22 James Gallagher + + Fix for DDS::has_dap2_attributes + +2018-08-22 Kodi Neumiller + + Took out the ls ../ -l after make deb -j7. + + Uncommented the different jobs. Also made it so that the deb + package is grabbed from the directory above. + + Looking at a directory above the current one. + +2018-08-22 James Gallagher + + Modified travis for coverity + [skip ci] + +2018-08-22 Kodi Neumiller + + Added ls -l to see where the debian package is. + + Took out the condition "$LIBDAP_BUILD = main" + + Added the debian branch to the list of branches to be built. + Also commented out the other jobs that aren't debian. + +2018-08-21 Kodi Neumiller + + Made it so that the debian package is moved to s3. + + Added debhelper package. + +2018-08-20 James Gallagher + + Added the fakeroot package for debian pkg builds on Travis + + Added devscripts build-essential lintian for debian pkg build + + Modified travis.yml to trigger a debian package build. + + Merge branch 'master' into debian + + Fixed comments in MarshallerThread.h + [skip ci] + + Merge branch 'master' into debian + +2018-07-30 James Gallagher + + Merge pull request #70 from OPENDAP/dds_test_fix + DDS test fix + + Made a corresponding change to dds-test:test_class() re: mem leak + + Changed BaseTypeFactory in dds-test:test_parser() fixing a memory leak. + +2018-07-25 James Gallagher + + Merge pull request #68 from OPENDAP/travis + Added a new parallel build for the asan checks + + Added a new parallel build for the asan checks + +2018-07-10 Ubuntu + + Updated the copyright file. It may need to be looked at to ensure it is formated correctly. + +2018-07-06 James Gallagher + + Merge pull request #67 from opoplawski/libtirpc + Use libtirpc + + Merge pull request #66 from OPENDAP/debian + deb packaging + +2018-06-24 Orion Poplawski + + Use libtirpc + +2018-06-19 Ubuntu + + The makefile now has an option (make deb) to build the debian package for libdap. + +2018-06-18 James Gallagher + + Merge pull request #65 from OPENDAP/debian + Debian Packaging + +2018-06-13 Ubuntu + + Deleted generated files. + + Finished adding the appropriate files to build a debian + package. The libdap directory was added after the debian + package was installed. + +2018-06-11 Ubuntu + + Edited the Makefile in unit tests so that it included the missing test files. + +2018-06-07 James Gallagher + + Merge pull request #64 from OPENDAP/print_das_fix + Print das fix + + Merge pull request #58 from OPENDAP/keyword-refactor + Keyword refactor + +2018-05-25 James Gallagher + + Fixed the last two tests for the print_das() fix. + + Merge branch 'print_das_fix' of https://github.com/opendap/libdap4 into print_das_fix + + Merge branch 'master' into print_das_fix + +2018-05-25 Nathan Potter + + Merge pull request #62 from OPENDAP/hyrax-730 + + Fixed DDS::has_dap2_attributes() so that Grids are handled, + eliminated printing MAP vectors in Grid from print_var_das() + + Dropped Grid Map arrays from Grid container in DAS (Flatten Grids man) + +2018-05-25 James Gallagher + + Switched print_das() so that it uses get_das() and then prints. WIP. + +2018-05-25 Nathan Potter + + Merge branch 'master' into hyrax-730 + +2018-05-24 James Gallagher + + Switched print_das() so that it uses get_das() and then prints. WIP. + +2018-05-23 James Gallagher + + Added a note about HYRAX-766: bes/dapreader issue. + The proble is due to a change in the DAS objects are printed when they + are built using a DDS or DMR. + [skip ci] + + Merge branch 'master' of https://github.com/opendap/libdap4 + + Changes to comments and some instrumentation in DmrRoundTripTest.cc + No functional/operational changes except some of the instrumentation + output in the DmrRoundTripTest unit test. + +2018-05-22 Nathan Potter + + Fixed DDS::has_dap2_attributes() so that Grids are handled by + evaluating only the GRid Array and ignoring the Maps. + +2018-05-21 James Gallagher + + Merge pull request #61 from OPENDAP/hyrax-730 + Hyrax 730 + + Update DDS.cc + +2018-05-21 Nathan Potter + + Fixed DDS::print_das() so thatv it makes special the Gridness + + Make DDS::get_das() work recursively on Constructor types + +2018-05-18 Nathan Potter + + Revert "Adding metadata to Grid and to Grid Array now." + This reverts commit b16ede3e866ea55daff0ad28d87bd43f3ff834da. + + Adding metadata to Grid and to Grid Array now. + + Patch to DAP4->DAP2 metadata assignment for Grid type problem. + +2018-05-15 James Gallagher + + Merge pull request #60 from OPENDAP/url_fix + Url fix + + Merge branch 'master' into url_fix + +2018-05-07 James Gallagher + + Merge pull request #59 from ryandesign/configure-CC + Use quotes when testing $CC + +2018-05-06 Ryan Schmidt + + Use quotes when testing $CC + This avoids the error "test: too many arguments" appearing in the + configure output if CC contains multiple words, such as "ccache cc". + +2018-05-04 James Gallagher + + More old code removed from Url.h + + Removed unused internal storage in Url.h + +2018-04-10 James Gallagher + + Removed Keywords2 unit test code (to old/) + + Removed keywords from DDS. The class is still in the library + +2018-04-09 James Gallagher + + Merge pull request #57 from OPENDAP/dmrpp-dap2 + Dmrpp dap2 + +2018-04-07 James Gallagher + + Merge branch 'dmrpp-dap2' of https://github.com/opendap/libdap4 into dmrpp-dap2 + + Protect against infinite loop in get_unique_top_level_global_container_name(). + + Added code to ensure a unique top-level table is used but DDS::get_das() + When that is needed - when there are top-level attributes in a DMR - make + new top-level container for those attributes. This new code makes sure + those attributes go in a container with a unique name. The code will fail + if there are more than MAX_INT top-level tables. + +2018-04-07 Nathan Potter + + sync + +2018-04-06 James Gallagher + + DDS::get_das(): Added a test and fix for top-level 'value' attributes + It's possible to have a DMR or DDS that has top-level attributes that + are not in a container. These work in the DMR or DDS object, but not + in the DAS (which can only have containers at the top-level). The + 'orphan' attributes are put in the DAP4_GLOBAL container, since these + almost certainly come from DMR objects. We might revisit this name + choice... + + Added tests for DDS::get_das() and get_das(DAS *). + Also edited the implementaiton just a bit to test for global attributes + that are not containers. + +2018-04-06 Nathan Potter + + Merge branch 'master' of https://github.com/opendap/libdap4 + + Added some (much needed) get_das() methods to DDS + +2018-04-02 James Gallagher + + Merge pull request #53 from captainkirk99/ck_valgrind + change valgrind invocation, also fixed some memory leaks in unit-tests + + Merge branch 'master' into ck_valgrind + +2018-03-31 James Gallagher + + Merge pull request #56 from captainkirk99/ck_fix_more_2 + fixed tests + +2018-03-31 Ed Hartnett <37277297+captainkirk99@users.noreply.github.com> + + fixed tests + +2018-03-29 James Gallagher + + Changed D4Enum::set_is_signed() so it doesn't call abort() + This 'fixed' an issue with testing where abort() fails hard and stops + the tests right away. The next line throws an exception, which is really + good enough and makes it possbile to test the error case. I also fixed + up the comments for D4Enum::transform_to_dap2(). + +2018-03-28 James Gallagher + + Merge pull request #55 from captainkirk99/ck_fix_big_endian + fixed tests for big-endian + +2018-03-28 Ed Hartnett <37277297+captainkirk99@users.noreply.github.com> + + fixed tests for big-endian + +2018-03-25 Ed Hartnett <37277297+captainkirk99@users.noreply.github.com> + + fixed memory leak in D4FilterClausetest + + added macro file + + change valgrind invocation, also fixed some memory leaks in unit-tests + +2018-03-24 James Gallagher + + Merge pull request #48 from captainkirk99/ck_tests_1 + added some tests + +2018-03-24 Ed Hartnett <37277297+captainkirk99@users.noreply.github.com> + + added new tests to .gitignore + + more tests + +2018-03-19 James Gallagher + + Merge pull request #52 from OPENDAP/print-das-fix + Print das fix + + Merge branch 'master' into print-das-fix + + DDS:print_das() fixes and test baseline edits. + +2018-03-18 James Gallagher + + Changed DDS::print_das() so it's more in line with DAS::print() + But, tests fail. + +2018-03-18 Ed Hartnett <37277297+captainkirk99@users.noreply.github.com> + + more tests + + more testing + + fixed problem with code coverage changes + + changing the way test coverage is computed + +2018-03-17 Ed Hartnett <37277297+captainkirk99@users.noreply.github.com> + + fixing inadvertant whitespace changes + + more tests + +2018-03-16 James Gallagher + + Use curl to read the hyrax-deps build tar ball + This should fix the issue with PRs from outside our GitHub space. + +2018-03-14 Ed Hartnett <37277297+captainkirk99@users.noreply.github.com> + + fixed test + + more testing + + merged + +2018-03-14 James Gallagher + + Removed now unused ecr_credentials.sh script + We can just use the AWS_SECRET_ACCESS_KEY and AWS_ACCESS_KEY_ID + environment variables from within travis. + [skip ci] + + Modified aws operations to get the hyrax-dependencies - trying to fix the build + +2018-03-13 James Gallagher + + Merge pull request #49 from OPENDAP/travis + Modified aws operations to get the hyrax-dependencies - trying to fix… + + Removed now unused ecr_credentials.sh script + We can just use the AWS_SECRET_ACCESS_KEY and AWS_ACCESS_KEY_ID + environment variables from within travis. + [skip ci] + + Modified aws operations to get the hyrax-dependencies - trying to fix the build + +2018-03-12 Ed Hartnett <37277297+captainkirk99@users.noreply.github.com> + + added some tests + +2018-03-06 James Gallagher + + Merge pull request #47 from OPENDAP/header-refactor + Added #include "DapIndent.h" as I try to remove nested headers + + Added #include "DapIndent.h" as I try to remove nested headers + +2018-03-02 Nathan Potter + + Merge branch 'master' of https://github.com/opendap/libdap4 + + Added doxygen link to README + +2018-02-24 James Gallagher + + Merge pull request #46 from OPENDAP/travis + Travis: $prefix set to $HOME/install + + added some comments + + testing + + testing + +2018-02-23 James Gallagher + + testing + +2018-02-22 James Gallagher + + travis testing + + Merge branch 'travis' of https://github.com/opendap/libdap4 into travis + + Test new travis build + +2018-02-09 James Gallagher + + Merge branch 'master' of https://github.com/opendap/libdap4 + + Minor tweak to --with-curl + The configure.ac script needs more work to simplify it and replace + raw shell commands with AS_IF, etc. + +2018-02-08 James Gallagher + + Merge pull request #44 from OPENDAP/asan + Hacked configure so developer and asan are separate and both are used… + + Hacked configure so developer and asan are separate and both are used by travis + + Merge pull request #43 from OPENDAP/asan + Asan + +2018-02-07 James Gallagher + + Repaired d4_function/D4FunctionEvaluator.cc (See HYRAX-247) + I used std::set which is supposed to preserve order, but apparently + does not with gcc 4.8 and some levels of optimization. + + Found and fixed a memory error in tests/D4TestFunction.cc + The $Byte() special form was being used to build an argument to + the test function 'scale()' but the code i D4TestFunction assumed + the argument was a TestArray instance (when it was/is an Array). + +2018-02-06 jgallagher59701 + + Fixed memory error in D4UnMarshallerTest. + +2018-02-06 James Gallagher + + Added test for Address Sanitizer option + + Merge pull request #42 from OPENDAP/asan + Added Asan (address sanitizer) to the --enable-developer option + + Added Asan (address sanitizer) to the --enable-developer option + All the tests pass using this option on OSX. + +2018-02-02 James Gallagher + + Merge pull request #41 from OPENDAP/hyrax-598 + Fixed a memory error that could be triggered by passing bad XML to ... + +2018-02-02 jgallagher59701 + + Fixed a memory error that could be triggered by passing bad XML to the DAP4 DMR parser. + vsnprintf() could be called with a tainted format string. + +2018-01-31 James Gallagher + + Removed html dir from the master branch - it's still on the gh-pages branch + Use 'make gh-docs' to build the online docs. + +2018-01-30 James Gallagher + + Updated build-gh-docs.sh to use add --force since 'html' is on gitignore + + Added new docs + +2018-01-12 James Gallagher + + travis + +2018-01-11 James Gallagher + + travis + + +2018-01-02 James Gallagher + + Merge pull request #38 from OPENDAP/crypto-fix + Fixed the libcrypto link error on OSX 10.13 + +2018-01-01 James Gallagher + + Fixed the libcrypto link error on OSX 10.13 + +2017-09-25 James Gallagher + + Source release 3.19.1 + +2017-08-25 James Gallagher + + Added a comment to my HTTPCacheTest change... + [skip ci] + + Removed a test for block_size in HTTPCacheTest that failed on + Fedora ppc64le system with XFS system 2017-08-25 James Gallagher Added a comment to my HTTPCacheTest change... diff -Nru libdap-3.19.1/chunked_istream.cc libdap-3.20.5/chunked_istream.cc --- libdap-3.19.1/chunked_istream.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/chunked_istream.cc 2020-02-17 07:35:45.000000000 +0000 @@ -96,10 +96,10 @@ // To read data from the chunked stream, first read the header uint32_t header; d_is.read((char *) &header, 4); -#if !BYTE_ORDER_PREFIX +#if !BYTE_ORDER_PREFIX && HEADER_IN_NETWORK_BYTE_ORDER // When the endian nature of the server is encoded in the chunk header, the header is // sent using network byte order - ntohl(header); + header = ntohl(header); #endif // There are two 'EOF' cases: One where the END chunk is zero bytes and one where @@ -161,8 +161,6 @@ d_error_message = "Failed to read known chunk header type."; return traits_type::eof(); } - - return traits_type::eof(); // Can never get here; this quiets g++ } /** @@ -220,8 +218,9 @@ // Get a chunk header uint32_t header; d_is.read((char *) &header, 4); -#if !BYTE_ORDER_PREFIX - ntohl(header); + +#if !BYTE_ORDER_PREFIX && HEADER_IN_NETWORK_BYTE_ORDER + header = ntohl(header); #endif // There are two EOF cases: One where the END chunk is zero bytes and one where @@ -307,15 +306,17 @@ // eof; this call returns the number of bytes read and transferred to 's'. done = true; break; + case CHUNK_DATA: done = bytes_left_to_read == 0; break; + case CHUNK_ERR: // this is pretty much the end of the show... The error message has // already been read above return traits_type::eof(); - break; - default: + + default: d_error = true; d_error_message = "Failed to read known chunk header type."; return traits_type::eof(); @@ -343,8 +344,9 @@ // To read data from the chunked stream, first read the header uint32_t header; d_is.read((char *) &header, 4); -#if !BYTE_ORDER_PREFIX - ntohl(header); + +#if !BYTE_ORDER_PREFIX && HEADER_IN_NETWORK_BYTE_ORDER + header = ntohl(header); #endif // There are two 'EOF' cases: One where the END chunk is zero bytes and one where @@ -393,6 +395,7 @@ case CHUNK_END: DBG(cerr << "Found end chunk" << endl); return traits_type::not_eof(chunk_size); + case CHUNK_DATA: return traits_type::not_eof(chunk_size); @@ -402,13 +405,12 @@ d_error = true; d_error_message = string(d_buffer, chunk_size); return traits_type::eof(); + default: d_error = true; d_error_message = "Failed to read known chunk header type."; return traits_type::eof(); } - - return traits_type::eof(); // Can never get here; this quiets g++ } } diff -Nru libdap-3.19.1/chunked_istream.h libdap-3.20.5/chunked_istream.h --- libdap-3.19.1/chunked_istream.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/chunked_istream.h 2020-02-17 07:35:45.000000000 +0000 @@ -65,7 +65,7 @@ * chars. */ void m_buffer_alloc() { - delete d_buffer; + delete[] d_buffer; d_buffer = new char[d_buf_size]; setg(d_buffer, // beginning of put back area d_buffer, // read position diff -Nru libdap-3.19.1/chunked_ostream.cc libdap-3.20.5/chunked_ostream.cc --- libdap-3.19.1/chunked_ostream.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/chunked_ostream.cc 2020-02-17 07:35:45.000000000 +0000 @@ -77,8 +77,10 @@ #if !BYTE_ORDER_PREFIX // Add encoding of host's byte order. jhrg 11/24/13 if (!d_big_endian) header |= CHUNK_LITTLE_ENDIAN; +#if HEADER_IN_NETWORK_BYTE_ORDER // network byte order for the header - htonl(header); + header = htonl(header); +#endif #endif d_os.write((const char *)&header, sizeof(int32_t)); @@ -120,9 +122,11 @@ #if !BYTE_ORDER_PREFIX // Add encoding of host's byte order. jhrg 11/24/13 if (!d_big_endian) header |= CHUNK_LITTLE_ENDIAN; +#if HEADER_IN_NETWORK_BYTE_ORDER // network byte order for the header htonl(header); #endif +#endif // Write out the CHUNK_END header with the byte count. // This should be called infrequently, so it's probably not worth @@ -167,8 +171,10 @@ #if !BYTE_ORDER_PREFIX // Add encoding of host's byte order. jhrg 11/24/13 if (!d_big_endian) header |= CHUNK_LITTLE_ENDIAN; +#if HEADER_IN_NETWORK_BYTE_ORDER // network byte order for the header - htonl(header); + header = htonl(header); +#endif #endif // Write out the CHUNK_END header with the byte count. @@ -274,8 +280,10 @@ #if !BYTE_ORDER_PREFIX // Add encoding of host's byte order. jhrg 11/24/13 if (!d_big_endian) header |= CHUNK_LITTLE_ENDIAN; +#if HEADER_IN_NETWORK_BYTE_ORDER // network byte order for the header - htonl(header); + header = htonl(header); +#endif #endif d_os.write((const char *)&header, sizeof(int32_t)); // Data chunk's CHUNK_TYPE is 0x00000000 diff -Nru libdap-3.19.1/conf/acinclude.m4 libdap-3.20.5/conf/acinclude.m4 --- libdap-3.19.1/conf/acinclude.m4 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/conf/acinclude.m4 2020-02-17 07:35:45.000000000 +0000 @@ -558,12 +558,23 @@ # # Unfortunately, there is little commonality about xdr - # First, we need to see if the xdr routines are in libc, librpc, + # First, we need to see if the xdr routines are in libtirpc, libc, librpc, # or librpcsvc or libnsl dap_xdrlib= - AC_SEARCH_LIBS([xdr_void],[c rpc nsl rpcsvc],[ - dap_xdrlib=`echo $ac_res|sed -e 's/^-l//'`],[ - AC_MSG_WARN(Cannot locate library containing xdr functions.)]) + PKG_PROG_PKG_CONFIG([0.9.0]) + PKG_CHECK_MODULES([TIRPC], [libtirpc >= 0.2.4], + [dap_xdrlib=`echo "${TIRPC_LIBS}" | sed -e 's/^-l//'` + AC_SUBST([TIRPC_CFLAGS]) + AC_SUBST([TIRPC_LIBS]) + AC_DEFINE([HAVE_LIBTIRPC], [1], [Define to 1 to use libtirpc.])], + [dap_xdrlib=""] + ) + AS_IF( + [test "$dap_xdrlib" = ""], + [AC_SEARCH_LIBS([xdr_void],[c rpc nsl rpcsvc],[ + dap_xdrlib=`echo $ac_res|sed -e 's/^-l//'`],[ + AC_MSG_WARN(Cannot locate library containing xdr functions.)])]) + # Added for autoconf 2.59 which appears to not use/set $ac_res. jhrg if test -z "$dap_xdrlib" ; then dap_xdrlib=c; fi if test "$dap_xdrlib" = "none required" ; then dap_xdrlib=c; fi Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._compile and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._compile differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._config.guess and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._config.guess differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._config.sub and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._config.sub differ diff -Nru libdap-3.19.1/conf/cxx_flags_check.m4 libdap-3.20.5/conf/cxx_flags_check.m4 --- libdap-3.19.1/conf/cxx_flags_check.m4 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/conf/cxx_flags_check.m4 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ + +dnl Shamelessly copied from stackoverflow +dnl https://stackoverflow.com/questions/1354996/need-an-autoconf-macro-that-detects-if-m64-is-a-valid-compiler-option +dnl jhrg 3/22/19 +dnl +dnl @synopsis CXX_FLAGS_CHECK [compiler flags] [ACTION-IF-SUPPORTED] [ACTION-IF-NOT-SUPPORTED] +dnl @summary check whether compiler supports given C++ flags or not +AC_DEFUN([CXX_FLAGS_CHECK], +[dnl + AC_MSG_CHECKING([if $CXX supports $1]) + AC_LANG_PUSH([C++]) + ac_saved_cxxflags="$CXXFLAGS" + CXXFLAGS="-Werror $1" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], + [AC_MSG_RESULT([yes])] + $2, + [AC_MSG_RESULT([no])] + $3 + ) + CXXFLAGS="$ac_saved_cxxflags" + AC_LANG_POP([C++]) +]) Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._depcomp and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._depcomp differ diff -Nru libdap-3.19.1/conf/gcov_valgrind.m4 libdap-3.20.5/conf/gcov_valgrind.m4 --- libdap-3.19.1/conf/gcov_valgrind.m4 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/conf/gcov_valgrind.m4 2020-02-17 07:35:45.000000000 +0000 @@ -12,28 +12,10 @@ AS_IF([test x$coverage = xyes], [ AS_IF([test x$GCC = xyes], - [ CFLAGS="-fprofile-arcs -ftest-coverage -pg $CFLAGS" - CXXFLAGS="-fprofile-arcs -ftest-coverage -pg $CXXFLAGS" - LDFLAGS="-pg $LDFLAGS" - AC_CHECK_LIB([gcov], [gcov_open],[LIBS="$LIBS -lgcov"],[],[]) - AC_MSG_NOTICE([Building coverage reporting.]) ], - [ AC_MSG_ERROR([Can only enable coverage when using gcc.]) ]) ]) + [ AC_CHECK_LIB([gcov], [gcov_open],[LIBS="$LIBS -lgcov"],[],[]) + AC_MSG_NOTICE([Building coverage reporting.]) + AM_CONDITIONAL(ENABLE_COVERAGE, true)], + [ AC_MSG_ERROR([Can only enable coverage when using gcc.]) ]) ], + AM_CONDITIONAL(ENABLE_COVERAGE, false)) -# Support for running test cases using valgrind: - -use_valgrind=no -AC_ARG_ENABLE(valgrind, - [AS_HELP_STRING([--enable-valgrind], - [Use valgrind when running unit tests. (default is no)])], - [use_valgrind=$enableval], - [use_valgrind=no]) - -AS_IF([test x$use_valgrind = xyes ], - [ AC_CHECK_PROG(HAVE_VALGRIND, valgrind, yes, no) - AS_IF([test x$HAVE_VALGRIND = xyes ], - [AC_MSG_NOTICE([Using valgrind with unit tests.])], - [AC_MSG_ERROR([Valgrind not found in PATH.])])]) - -AM_CONDITIONAL(USE_VALGRIND, [test x$use_valgrind = xyes]) - -]) \ No newline at end of file +]) Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._install-sh and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._install-sh differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._libtool.m4 and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._libtool.m4 differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._ltmain.sh and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._ltmain.sh differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._lt~obsolete.m4 and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._lt~obsolete.m4 differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._ltoptions.m4 and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._ltoptions.m4 differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._ltsugar.m4 and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._ltsugar.m4 differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._ltversion.m4 and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._ltversion.m4 differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._missing and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._missing differ Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/conf/._test-driver and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/conf/._test-driver differ diff -Nru libdap-3.19.1/config.h.in libdap-3.20.5/config.h.in --- libdap-3.19.1/config.h.in 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/config.h.in 2020-02-17 07:35:45.000000000 +0000 @@ -41,6 +41,9 @@ /* Define to 1 if the C locale may have encoding errors. */ #undef C_LOCALE_MAYBE_EILSEQ +/* Build the DAP 3.2 version of the DDX */ +#undef DAP3_2_DDX + /* Should DAP4 support be enabled? */ #undef DAP4 @@ -237,6 +240,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H +/* Define to 1 to use libtirpc. */ +#undef HAVE_LIBTIRPC + /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H diff -Nru libdap-3.19.1/configure libdap-3.20.5/configure --- libdap-3.19.1/configure 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/configure 2020-02-17 07:35:45.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libdap 3.19.1. +# Generated by GNU Autoconf 2.69 for libdap 3.20.5. # # Report bugs to . # @@ -650,8 +650,8 @@ # Identity of this package. PACKAGE_NAME='libdap' PACKAGE_TARNAME='libdap' -PACKAGE_VERSION='3.19.1' -PACKAGE_STRING='libdap 3.19.1' +PACKAGE_VERSION='3.20.5' +PACKAGE_STRING='libdap 3.20.5' PACKAGE_BUGREPORT='opendap-tech@opendap.org' PACKAGE_URL='' @@ -703,11 +703,12 @@ am__EXEEXT_TRUE LTLIBOBJS LIBOBJS -USE_VALGRIND_FALSE -USE_VALGRIND_TRUE -HAVE_VALGRIND +ENABLE_COVERAGE_FALSE +ENABLE_COVERAGE_TRUE BUILD_DEVELOPER_FALSE BUILD_DEVELOPER_TRUE +USE_ASAN_FALSE +USE_ASAN_TRUE DAP4_DEFINED_FALSE DAP4_DEFINED_TRUE CPPUNIT_LIBS @@ -715,6 +716,7 @@ CPPUNIT_FALSE CPPUNIT_TRUE CPPUNIT_CONFIG +CRYPTO_LIBS UUID_LIBS PTHREAD_LIBS xmlprivatelibs @@ -726,7 +728,6 @@ curlprivatereq CURL_LIBS CURL_CFLAGS -PKG_CONFIG gltests_WITNESS REPLACE_TOWLOWER REPLACE_ISWCNTRL @@ -1248,6 +1249,9 @@ ALLOCA GL_COND_LIBTOOL_FALSE GL_COND_LIBTOOL_TRUE +TIRPC_LIBS +TIRPC_CFLAGS +PKG_CONFIG USE_C99_TYPES_FALSE USE_C99_TYPES_TRUE ac_word_order @@ -1274,6 +1278,7 @@ LEXLIB LEX_OUTPUT_ROOT LEX +CXX11_FLAG COMPILER_IS_GCC_FALSE COMPILER_IS_GCC_TRUE RANLIB @@ -1328,6 +1333,7 @@ PACKAGE_SUBMINOR_VERSION PACKAGE_MINOR_VERSION PACKAGE_MAJOR_VERSION +DAP3_2_DDX DVR AM_BACKSLASH AM_DEFAULT_VERBOSITY @@ -1420,9 +1426,9 @@ with_cppunit_exec_prefix enable_debug enable_dap4 +enable_asan enable_developer enable_coverage -enable_valgrind ' ac_precious_vars='build_alias host_alias @@ -1439,6 +1445,8 @@ LT_SYS_LIBRARY_PATH CXXCPP PKG_CONFIG +TIRPC_CFLAGS +TIRPC_LIBS CURL_CFLAGS CURL_LIBS XML2_CFLAGS @@ -1985,7 +1993,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libdap 3.19.1 to adapt to many kinds of systems. +\`configure' configures libdap 3.20.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2055,7 +2063,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libdap 3.19.1:";; + short | recursive ) echo "Configuration of libdap 3.20.5:";; esac cat <<\_ACEOF @@ -2081,15 +2089,14 @@ --enable-runtime-endian-check Enable runtime tests for big- or little-endian byte order (default is NO) - --disable-rpath do not hardcode runtime library paths --enable-debug=ARG Program instrumentation (1,2) --enable-dap4 Enable DAP4 types and responses (default is Yes) - --enable-developer Build a debug (-g3 -O0) version of this code and - include assert() calls in the code (default is no) + --enable-asan Build using the address sanitizer if available + (default: no) + --enable-developer Build for debug (-g3 -O0); include assert() calls + (default: no) --enable-coverage Collect coverage data (default is no) - --enable-valgrind Use valgrind when running unit tests. (default is - no) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -2109,7 +2116,8 @@ don't compile regex; this is the default on systems with recent-enough versions of the GNU C Library (use with caution on other systems). - --with-curl=PFX Prefix where curl/libcurl is installed (optional). This will override pkgconfig, etc. + --with-curl=pfx curl/libcurl prefix; overrides other tests including + pkgconfig --with-xml2=PFX Prefix where libxml2 is installed (optional). This will override pkgconfig, etc. --with-cppunit-prefix=PFX Prefix where CppUnit is installed (optional) --with-cppunit-exec-prefix=PFX Exec prefix where CppUnit is installed (optional) @@ -2129,6 +2137,9 @@ User-defined run-time library search path. CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility + TIRPC_CFLAGS + C compiler flags for TIRPC, overriding pkg-config + TIRPC_LIBS linker flags for TIRPC, overriding pkg-config CURL_CFLAGS C compiler flags for CURL, overriding pkg-config CURL_LIBS linker flags for CURL, overriding pkg-config XML2_CFLAGS C compiler flags for XML2, overriding pkg-config @@ -2204,7 +2215,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libdap configure 3.19.1 +libdap configure 3.20.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3034,7 +3045,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libdap $as_me 3.19.1, which was +It was created by libdap $as_me 3.20.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3941,7 +3952,7 @@ # Define the identity of the package. PACKAGE='libdap' - VERSION='3.19.1' + VERSION='3.20.5' cat >>confdefs.h <<_ACEOF @@ -4051,6 +4062,12 @@ + +$as_echo "#define DAP3_2_DDX 1" >>confdefs.h + + + + PACKAGE_MAJOR_VERSION=`echo $PACKAGE_VERSION | sed 's@^\([0-9]\)*\.\([0-9]*\)\.\([0-9]*\)$@\1@'` PACKAGE_MINOR_VERSION=`echo $PACKAGE_VERSION | sed 's@^\([0-9]\)*\.\([0-9]*\)\.\([0-9]*\)$@\2@'` PACKAGE_SUBMINOR_VERSION=`echo $PACKAGE_VERSION | sed 's@^\([0-9]\)*\.\([0-9]*\)\.\([0-9]*\)$@\3@'` @@ -4139,9 +4156,9 @@ -DAPLIB_CURRENT=25 -DAPLIB_AGE=0 -DAPLIB_REVISION=1 +DAPLIB_CURRENT=27 +DAPLIB_AGE=2 +DAPLIB_REVISION=2 @@ -4151,7 +4168,7 @@ CLIENTLIB_CURRENT=7 CLIENTLIB_AGE=1 -CLIENTLIB_REVISION=7 +CLIENTLIB_REVISION=11 @@ -4161,7 +4178,7 @@ SERVERLIB_CURRENT=13 SERVERLIB_AGE=6 -SERVERLIB_REVISION=7 +SERVERLIB_REVISION=11 @@ -4169,6 +4186,9 @@ SERVERLIB_VERSION="$SERVERLIB_CURRENT:$SERVERLIB_REVISION:$SERVERLIB_AGE" +: ${CFLAGS=""} +: ${CXXFLAGS=""} + for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -6733,7 +6753,7 @@ # Code from module xalloc-oversized: -if test x$CC = xgcc; then : +if test "x$CC" = xgcc; then : if true; then COMPILER_IS_GCC_TRUE= COMPILER_IS_GCC_FALSE='#' @@ -6753,6 +6773,105 @@ fi + + +CXX11_FLAG="" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX supports --std=c++11" >&5 +$as_echo_n "checking if $CXX supports --std=c++11... " >&6; } + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ac_saved_cxxflags="$CXXFLAGS" + CXXFLAGS="-Werror --std=c++11" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CXX11_FLAG=--std=c++11 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$ac_saved_cxxflags" + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +if test -z "$CXX11_FLAG"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX supports --std=c++0x" >&5 +$as_echo_n "checking if $CXX supports --std=c++0x... " >&6; } + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ac_saved_cxxflags="$CXXFLAGS" + CXXFLAGS="-Werror --std=c++0x" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CXX11_FLAG=--std=c++0x +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$ac_saved_cxxflags" + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +fi + +if test -z "$CXX11_FLAG"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: Not using C++-11" >&5 +$as_echo "$as_me: Not using C++-11" >&6;} +else + { $as_echo "$as_me:${as_lineno-$LINENO}: Using $CXX11_FLAG for C++-11 support" >&5 +$as_echo "$as_me: Using $CXX11_FLAG for C++-11 support" >&6;} +fi + + + for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -10249,7 +10368,6 @@ - func_stripname_cnf () { case $2 in @@ -19260,10 +19378,205 @@ # # Unfortunately, there is little commonality about xdr - # First, we need to see if the xdr routines are in libc, librpc, + # First, we need to see if the xdr routines are in libtirpc, libc, librpc, # or librpcsvc or libnsl dap_xdrlib= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing xdr_void" >&5 + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi + +fi + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIRPC" >&5 +$as_echo_n "checking for TIRPC... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$TIRPC_CFLAGS"; then + pkg_cv_TIRPC_CFLAGS="$TIRPC_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtirpc >= 0.2.4\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libtirpc >= 0.2.4") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_TIRPC_CFLAGS=`$PKG_CONFIG --cflags "libtirpc >= 0.2.4" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$TIRPC_LIBS"; then + pkg_cv_TIRPC_LIBS="$TIRPC_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtirpc >= 0.2.4\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libtirpc >= 0.2.4") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_TIRPC_LIBS=`$PKG_CONFIG --libs "libtirpc >= 0.2.4" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + TIRPC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libtirpc >= 0.2.4"` + else + TIRPC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libtirpc >= 0.2.4"` + fi + # Put the nasty error message in config.log where it belongs + echo "$TIRPC_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + dap_xdrlib="" + +elif test $pkg_failed = untried; then + dap_xdrlib="" + +else + TIRPC_CFLAGS=$pkg_cv_TIRPC_CFLAGS + TIRPC_LIBS=$pkg_cv_TIRPC_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + dap_xdrlib=`echo "${TIRPC_LIBS}" | sed -e 's/^-l//'` + + + +$as_echo "#define HAVE_LIBTIRPC 1" >>confdefs.h + +fi + if test "$dap_xdrlib" = ""; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing xdr_void" >&5 $as_echo_n "checking for library containing xdr_void... " >&6; } if ${ac_cv_search_xdr_void+:} false; then : $as_echo_n "(cached) " >&6 @@ -19317,13 +19630,15 @@ if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - dap_xdrlib=`echo $ac_res|sed -e 's/^-l//'` + dap_xdrlib=`echo $ac_res|sed -e 's/^-l//'` else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot locate library containing xdr functions." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot locate library containing xdr functions." >&5 $as_echo "$as_me: WARNING: Cannot locate library containing xdr functions." >&2;} fi +fi + # Added for autoconf 2.59 which appears to not use/set $ac_res. jhrg if test -z "$dap_xdrlib" ; then dap_xdrlib=c; fi if test "$dap_xdrlib" = "none required" ; then dap_xdrlib=c; fi @@ -29676,122 +29991,6 @@ libdap_pkgconfig_libcurl=yes libdap_libcurl_module='libcurl >= 7.19.0' - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi - -fi - pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CURL" >&5 $as_echo_n "checking for CURL... " >&6; } @@ -30136,6 +30335,50 @@ +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL_add_all_algorithms in -lcrypto" >&5 +$as_echo_n "checking for OpenSSL_add_all_algorithms in -lcrypto... " >&6; } +if ${ac_cv_lib_crypto_OpenSSL_add_all_algorithms+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcrypto $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char OpenSSL_add_all_algorithms (); +int +main () +{ +return OpenSSL_add_all_algorithms (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_crypto_OpenSSL_add_all_algorithms=yes +else + ac_cv_lib_crypto_OpenSSL_add_all_algorithms=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_OpenSSL_add_all_algorithms" >&5 +$as_echo "$ac_cv_lib_crypto_OpenSSL_add_all_algorithms" >&6; } +if test "x$ac_cv_lib_crypto_OpenSSL_add_all_algorithms" = xyes; then : + CRYPTO_LIBS="-lcrypto" +else + CRYPTO_LIBS="" +fi + + + @@ -30458,15 +30701,46 @@ fi +# AS_IF([test m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.64]) -ge 0], +# [AX_CHECK_COMPILE_FLAG([-fsanitize=address], [has_asan=yes], [has_asan=no])]) + +# Check whether --enable-asan was given. +if test "${enable_asan+set}" = set; then : + enableval=$enable_asan; +fi + + +if test x$enable_asan = xyes -a x$has_asan = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: Building Address Sanitizer version" >&5 +$as_echo "$as_me: Building Address Sanitizer version" >&6;} + if true; then + USE_ASAN_TRUE= + USE_ASAN_FALSE='#' +else + USE_ASAN_TRUE='#' + USE_ASAN_FALSE= +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: Not building Address Sanitizer version" >&5 +$as_echo "$as_me: Not building Address Sanitizer version" >&6;} + if false; then + USE_ASAN_TRUE= + USE_ASAN_FALSE='#' +else + USE_ASAN_TRUE='#' + USE_ASAN_FALSE= +fi + +fi + # Check whether --enable-developer was given. if test "${enable_developer+set}" = set; then : - enableval=$enable_developer; build_developer=${enableval} -else - build_developer=no + enableval=$enable_developer; fi -if test x$build_developer = xyes; then : +if test x$enable_developer = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: Building developer version" >&5 $as_echo "$as_me: Building developer version" >&6;} if true; then @@ -30505,10 +30779,7 @@ if test x$coverage = xyes; then : if test x$GCC = xyes; then : - CFLAGS="-fprofile-arcs -ftest-coverage -pg $CFLAGS" - CXXFLAGS="-fprofile-arcs -ftest-coverage -pg $CXXFLAGS" - LDFLAGS="-pg $LDFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcov_open in -lgcov" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcov_open in -lgcov" >&5 $as_echo_n "checking for gcov_open in -lgcov... " >&6; } if ${ac_cv_lib_gcov_gcov_open+:} false; then : $as_echo_n "(cached) " >&6 @@ -30548,81 +30819,35 @@ LIBS="$LIBS -lgcov" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: Building coverage reporting." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: Building coverage reporting." >&5 $as_echo "$as_me: Building coverage reporting." >&6;} + if true; then + ENABLE_COVERAGE_TRUE= + ENABLE_COVERAGE_FALSE='#' else - as_fn_error $? "Can only enable coverage when using gcc." "$LINENO" 5 -fi -fi - -# Support for running test cases using valgrind: - -use_valgrind=no -# Check whether --enable-valgrind was given. -if test "${enable_valgrind+set}" = set; then : - enableval=$enable_valgrind; use_valgrind=$enableval -else - use_valgrind=no + ENABLE_COVERAGE_TRUE='#' + ENABLE_COVERAGE_FALSE= fi - -if test x$use_valgrind = xyes ; then : - # Extract the first word of "valgrind", so it can be a program name with args. -set dummy valgrind; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_HAVE_VALGRIND+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$HAVE_VALGRIND"; then - ac_cv_prog_HAVE_VALGRIND="$HAVE_VALGRIND" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_HAVE_VALGRIND="yes" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_HAVE_VALGRIND" && ac_cv_prog_HAVE_VALGRIND="no" -fi + as_fn_error $? "Can only enable coverage when using gcc." "$LINENO" 5 fi -HAVE_VALGRIND=$ac_cv_prog_HAVE_VALGRIND -if test -n "$HAVE_VALGRIND"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_VALGRIND" >&5 -$as_echo "$HAVE_VALGRIND" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test x$HAVE_VALGRIND = xyes ; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: Using valgrind with unit tests." >&5 -$as_echo "$as_me: Using valgrind with unit tests." >&6;} + if false; then + ENABLE_COVERAGE_TRUE= + ENABLE_COVERAGE_FALSE='#' else - as_fn_error $? "Valgrind not found in PATH." "$LINENO" 5 -fi + ENABLE_COVERAGE_TRUE='#' + ENABLE_COVERAGE_FALSE= fi - if test x$use_valgrind = xyes; then - USE_VALGRIND_TRUE= - USE_VALGRIND_FALSE='#' -else - USE_VALGRIND_TRUE='#' - USE_VALGRIND_FALSE= fi +# Find valgrind, if available, and add targets for it. +# AX_VALGRIND_DFLT([sgcheck], [off]) +# AX_VALGRIND_CHECK @@ -30877,6 +31102,14 @@ as_fn_error $? "conditional \"DAP4_DEFINED\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${USE_ASAN_TRUE}" && test -z "${USE_ASAN_FALSE}"; then + as_fn_error $? "conditional \"USE_ASAN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${USE_ASAN_TRUE}" && test -z "${USE_ASAN_FALSE}"; then + as_fn_error $? "conditional \"USE_ASAN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${BUILD_DEVELOPER_TRUE}" && test -z "${BUILD_DEVELOPER_FALSE}"; then as_fn_error $? "conditional \"BUILD_DEVELOPER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -30885,8 +31118,12 @@ as_fn_error $? "conditional \"BUILD_DEVELOPER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${USE_VALGRIND_TRUE}" && test -z "${USE_VALGRIND_FALSE}"; then - as_fn_error $? "conditional \"USE_VALGRIND\" was never defined. +if test -z "${ENABLE_COVERAGE_TRUE}" && test -z "${ENABLE_COVERAGE_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_COVERAGE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_COVERAGE_TRUE}" && test -z "${ENABLE_COVERAGE_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_COVERAGE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -31286,7 +31523,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libdap $as_me 3.19.1, which was +This file was extended by libdap $as_me 3.20.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -31352,7 +31589,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libdap config.status 3.19.1 +libdap config.status 3.20.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru libdap-3.19.1/configure.ac libdap-3.20.5/configure.ac --- libdap-3.19.1/configure.ac 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/configure.ac 2020-02-17 07:35:45.000000000 +0000 @@ -3,10 +3,14 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.63) +dnl AC_PREREQ([2.68]); Fails on CentOS 6. jhrg 3/26/19 +dnl m4_pattern_forbid([^_?(gl_[A-Z]|AX_|BISON_)]) +dnl m4_pattern_allow([^BISON_USE_NLS$]) + dnl Update version here and below at LIB_CURRENT, ..., if needed. -AC_INIT(libdap, 3.19.1, opendap-tech@opendap.org) +AC_INIT(libdap, 3.20.5, opendap-tech@opendap.org) AC_DEFINE(DAP_PROTOCOL_VERSION, ["4.0"], [Highest DAP version implemented?]) -AC_SUBST(DAP_PROTOCOL_VERSION) +AC_SUBST([DAP_PROTOCOL_VERSION]) AC_CONFIG_SRCDIR([Connect.cc]) AC_CONFIG_AUX_DIR(conf) @@ -21,6 +25,13 @@ AC_DEFINE_UNQUOTED(DVR, "libdap/$PACKAGE_VERSION", [Client name and version combined]) AC_SUBST(DVR) +dnl Use one of these two blocks to build a DAP2 or DAP 3.2 DDX +dnl AC_DEFINE(DAP2_DDX, 1, [Build the DAP 2 version of the DDX]) +dnl AC_SUBST(DAP2_DDX) +AC_DEFINE(DAP3_2_DDX, 1, [Build the DAP 3.2 version of the DDX]) +AC_SUBST(DAP3_2_DDX) + + PACKAGE_MAJOR_VERSION=`echo $PACKAGE_VERSION | sed 's@^\([[0-9]]\)*\.\([[0-9]]*\)\.\([[0-9]]*\)$@\1@'` PACKAGE_MINOR_VERSION=`echo $PACKAGE_VERSION | sed 's@^\([[0-9]]\)*\.\([[0-9]]*\)\.\([[0-9]]*\)$@\2@'` PACKAGE_SUBMINOR_VERSION=`echo $PACKAGE_VERSION | sed 's@^\([[0-9]]\)*\.\([[0-9]]*\)\.\([[0-9]]*\)$@\3@'` @@ -45,9 +56,9 @@ dnl Interfaces removed or changed (BAD, breaks upward compatibility): dnl ==> Increment CURRENT, set AGE and REVISION to 0. -DAPLIB_CURRENT=25 -DAPLIB_AGE=0 -DAPLIB_REVISION=1 +DAPLIB_CURRENT=27 +DAPLIB_AGE=2 +DAPLIB_REVISION=2 AC_SUBST(DAPLIB_CURRENT) AC_SUBST(DAPLIB_AGE) AC_SUBST(DAPLIB_REVISION) @@ -57,7 +68,7 @@ CLIENTLIB_CURRENT=7 CLIENTLIB_AGE=1 -CLIENTLIB_REVISION=7 +CLIENTLIB_REVISION=11 AC_SUBST(CLIENTLIB_CURRENT) AC_SUBST(CLIENTLIB_AGE) AC_SUBST(CLIENTLIB_REVISION) @@ -67,7 +78,7 @@ SERVERLIB_CURRENT=13 SERVERLIB_AGE=6 -SERVERLIB_REVISION=7 +SERVERLIB_REVISION=11 AC_SUBST(SERVERLIB_CURRENT) AC_SUBST(SERVERLIB_AGE) AC_SUBST(SERVERLIB_REVISION) @@ -75,6 +86,12 @@ SERVERLIB_VERSION="$SERVERLIB_CURRENT:$SERVERLIB_REVISION:$SERVERLIB_AGE" AC_SUBST(SERVERLIB_VERSION) +dnl Suppress the default values automake supplies for these. You can still +dnl set them on the command line, however. (e.g., ./configure ... CXXFLAGS="-g -o3"). +dnl jhrg 2/6/18 +: ${CFLAGS=""} +: ${CXXFLAGS=""} + dnl Checks for programs. AC_PROG_AWK AC_PROG_CXX @@ -84,12 +101,30 @@ gl_EARLY dnl echo "CC = $CC" -AS_IF([test x$CC = xgcc], +AS_IF([test "x$CC" = xgcc], [AM_CONDITIONAL([COMPILER_IS_GCC],[true])], [AM_CONDITIONAL([COMPILER_IS_GCC],[false])]) dnl AC_PROG_YACC dnl AC_PROG_LEX + +dnl NB: CentOS 6 does not support C++-11 but does support some features: +dnl https://gcc.gnu.org/gcc-4.4/cxx0x_status.html. +dnl For now, I'm counting 0x as supporting C++-11 in our code. + +CXX11_FLAG="" + +CXX_FLAGS_CHECK([--std=c++11], [CXX11_FLAG=--std=c++11], []) + +AS_IF([test -z "$CXX11_FLAG"], + [CXX_FLAGS_CHECK([--std=c++0x], [CXX11_FLAG=--std=c++0x], [])]) + +AS_IF([test -z "$CXX11_FLAG"], + [AC_MSG_NOTICE([Not using C++-11])], + [AC_MSG_NOTICE([Using $CXX11_FLAG for C++-11 support])]) + +AC_SUBST(CXX11_FLAG) + AM_PROG_LEX AC_PROG_INSTALL AC_PROG_LN_S @@ -157,8 +192,8 @@ DODS_CHECK_SIZES AC_ARG_ENABLE([runtime-endian-check], - AC_HELP_STRING([--enable-runtime-endian-check], [Enable runtime tests for big- or little-endian byte order (default is NO)]) -) + [AC_HELP_STRING([--enable-runtime-endian-check], + [Enable runtime tests for big- or little-endian byte order (default is NO)])]) AS_IF([test "x$enable_runtime_endian_check" = "xyes"], [ dnl Do the stuff needed for enabling the feature @@ -176,7 +211,7 @@ gl_INIT -AC_ARG_WITH(curl,[ --with-curl=PFX Prefix where curl/libcurl is installed (optional). This will override pkgconfig, etc.], +AC_ARG_WITH([curl], [AC_HELP_STRING([--with-curl=pfx], [curl/libcurl prefix; overrides other tests including pkgconfig])], with_curl_prefix="$withval", with_curl_prefix="") dnl I wrote these checks because we need the *-config scripts to build, so @@ -303,6 +338,11 @@ [UUID_LIBS=""]) AC_SUBST([UUID_LIBS]) +AC_CHECK_LIB([crypto], [OpenSSL_add_all_algorithms], + [CRYPTO_LIBS="-lcrypto"], + [CRYPTO_LIBS=""]) +AC_SUBST([CRYPTO_LIBS]) + AM_PATH_CPPUNIT(1.12.0, [AM_CONDITIONAL([CPPUNIT], [true])], [ @@ -334,13 +374,22 @@ AM_CONDITIONAL([DAP4_DEFINED], [false]) ]) +# AS_IF([test m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.64]) -ge 0], +# [AX_CHECK_COMPILE_FLAG([-fsanitize=address], [has_asan=yes], [has_asan=no])]) + +AC_ARG_ENABLE([asan], + [AS_HELP_STRING([--enable-asan], [Build using the address sanitizer if available (default: no)])]) + +AS_IF([test x$enable_asan = xyes -a x$has_asan = xyes], + [AC_MSG_NOTICE([Building Address Sanitizer version]) + AM_CONDITIONAL([USE_ASAN], [true])], + [AC_MSG_NOTICE([Not building Address Sanitizer version]) + AM_CONDITIONAL([USE_ASAN], [false])]) + AC_ARG_ENABLE([developer], - [AS_HELP_STRING([--enable-developer], - [Build a debug (-g3 -O0) version of this code and include assert() calls in the code (default is no)])], - [build_developer=${enableval}], - [build_developer=no]) + [AS_HELP_STRING([--enable-developer], [Build for debug (-g3 -O0); include assert() calls (default: no)])]) -AS_IF([test x$build_developer = xyes], +AS_IF([test x$enable_developer = xyes], [AC_MSG_NOTICE([Building developer version]) AM_CONDITIONAL([BUILD_DEVELOPER], [true])], [AC_MSG_NOTICE([Not building developer version]) @@ -349,6 +398,10 @@ DODS_GCOV_VALGRIND +# Find valgrind, if available, and add targets for it. +# AX_VALGRIND_DFLT([sgcheck], [off]) +# AX_VALGRIND_CHECK + dnl autoheader macros; tack some text at the top and bottom of config_dap.h.in AH_TOP([#ifndef _config_h diff -Nru libdap-3.19.1/Constructor.cc libdap-3.20.5/Constructor.cc --- libdap-3.19.1/Constructor.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Constructor.cc 2020-02-17 07:35:45.000000000 +0000 @@ -58,7 +58,7 @@ #include "util.h" #include "Error.h" #include "InternalErr.h" - +#include "DapIndent.h" // #define DODS_DEBUG 1 #include "debug.h" diff -Nru libdap-3.19.1/D4AsyncUtil.cc libdap-3.20.5/D4AsyncUtil.cc --- libdap-3.19.1/D4AsyncUtil.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4AsyncUtil.cc 2020-02-17 07:35:45.000000000 +0000 @@ -326,9 +326,8 @@ default: throw InternalErr(__FILE__, __LINE__, "D4AsyncUtil::getRejectReasonCodeString() - Unrecognized reject_reason_code."); - break; - } + return codeStr; } diff -Nru libdap-3.19.1/D4Attributes.cc libdap-3.20.5/D4Attributes.cc --- libdap-3.19.1/D4Attributes.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4Attributes.cc 2020-02-17 07:35:45.000000000 +0000 @@ -34,6 +34,7 @@ #include "util.h" #include "debug.h" +#include "DapIndent.h" namespace libdap { @@ -274,7 +275,7 @@ } -AttrType get_dap2_AttrType(D4AttributeType d4_type){ +AttrType get_dap2_AttrType(D4AttributeType d4_type) { switch (d4_type) { case attr_container_c: { return Attr_container; } case attr_byte_c: { return Attr_byte; } @@ -287,45 +288,108 @@ case attr_str_c: { return Attr_string; } case attr_url_c: { return Attr_url; } case attr_otherxml_c: { return Attr_other_xml; } + + case attr_int8_c: { return Attr_byte; } + case attr_uint8_c: { return Attr_byte; } + case attr_int64_c: { + throw InternalErr(__FILE__, __LINE__, "Unable to convert DAP4 attribute to DAP2. " + "There is no accepted DAP2 representation of Int64."); + } + case attr_uint64_c: { + throw InternalErr(__FILE__, __LINE__, "Unable to convert DAP4 attribute to DAP2. " + "There is no accepted DAP2 representation of UInt64."); + } + case attr_enum_c: { + throw InternalErr(__FILE__, __LINE__, "Unable to convert DAP4 attribute to DAP2. " + "There is no accepted DAP2 representation of Enumeration."); + } + case attr_opaque_c: { + throw InternalErr(__FILE__, __LINE__, "Unable to convert DAP4 attribute to DAP2. " + "There is no accepted DAP2 representation of Opaque."); + } + default: - throw InternalErr(__FILE__, __LINE__, "Unknown DAP4 attribute"); + throw InternalErr(__FILE__, __LINE__, "Unknown DAP4 attribute."); } } - -void -D4Attributes::load_AttrTable(AttrTable *d2_attr_table, D4Attributes *d4_attrs) +/** + * @brief Copy the attributes from this D4Attributes object to a DAP2 AttrTable. + * + * @param d2_attr_table Load \arg d2_attr_table with the D4Attributes found in this object. + */ +void D4Attributes::transform_attrs_to_dap2(AttrTable *d2_attr_table) { - // cerr << __func__ << "() - Loading attribute table: '" << d2_attr_table->get_name() << "' addr: " << (void *)d2_attr_table << endl; - - // for every attribute in at, copy it to this. - for ( D4Attributes::D4AttributesIter i = d4_attrs->attribute_begin(), e = d4_attrs->attribute_end(); i != e; ++i) { + // for every attribute in d4_attrs, copy it to d2_attr_table. + for (D4Attributes::D4AttributesIter i = attribute_begin(), e = attribute_end(); i != e; ++i) { string name = (*i)->name(); D4AttributeType d4_attr_type = (*i)->type(); AttrType d2_attr_type = get_dap2_AttrType(d4_attr_type); string d2_attr_type_name = AttrType_to_String(d2_attr_type); - D4Attribute::D4AttributeIter vitr =(*i)->value_begin(); - D4Attribute::D4AttributeIter end =(*i)->value_end(); + switch (d4_attr_type) { + case attr_container_c: { + AttrTable *child_attr_table = new AttrTable(); + child_attr_table->set_name(name); + + (*i)->attributes()->transform_attrs_to_dap2(child_attr_table); + d2_attr_table->append_container(child_attr_table, name); + break; + } + default: { + for (D4Attribute::D4AttributeIter vi = (*i)->value_begin(), ve = (*i)->value_end(); vi != ve; vi++) { + d2_attr_table->append_attr(name, d2_attr_type_name, *vi); + } + + break; + } + } + } +} + +#if 0 +/** + * @brief Transfer DAP4 attributes to a DAP2 AttrTable object + * + * This is a helper method, see get_AttrTable(). + * + * @param d2_attr_table Destination object + * @param d4_attrs Source of the attribute information + * @see get_AttrTable + */ +void D4Attributes::load_AttrTable(AttrTable *d2_attr_table, D4Attributes *d4_attrs) +{ + // for every attribute in d4_attrs, copy it to d2_attr_table. + for (D4Attributes::D4AttributesIter i = d4_attrs->attribute_begin(), e = d4_attrs->attribute_end(); i != e; ++i) { + string name = (*i)->name(); + D4AttributeType d4_attr_type = (*i)->type(); + string d2_attr_type_name = AttrType_to_String(get_dap2_AttrType(d4_attr_type)); + +#if 0 + D4Attribute::D4AttributeIter vitr = (*i)->value_begin(); + D4Attribute::D4AttributeIter end = (*i)->value_end(); vector values; - for(;vitr!=end; vitr++){ + for (; vitr != end; vitr++) { values.push_back((*vitr)); } +#endif switch (d4_attr_type) { case attr_container_c: { // Attr_container AttrTable *child_attr_table = new AttrTable(); child_attr_table->set_name(name); - // cerr << __func__ << "() - Created child attribute table: " << name << " addr: " << (void *)child_attr_table << endl; - load_AttrTable(child_attr_table,(*i)->attributes()); - d2_attr_table->append_container(child_attr_table,name); + + load_AttrTable(child_attr_table, (*i)->attributes()); + d2_attr_table->append_container(child_attr_table, name); break; } - default:{ - // cerr << __func__ << "() - "<< name << " has " << values.size() << " value(s). d2_attr_type_name: " << d2_attr_type_name << endl; - d2_attr_table->append_attr(name,d2_attr_type_name, &values); + default: { + for (D4Attribute::D4AttributeIter vi = (*i)->value_begin(), ve = (*i)->value_end(); vi != ve; vi++) { + d2_attr_table->append_attr(name, d2_attr_type_name, *vi); + } + break; } } @@ -342,12 +406,15 @@ */ AttrTable *D4Attributes::get_AttrTable(const string name) { - AttrTable *my_pretty_pony = new AttrTable(); - load_AttrTable(my_pretty_pony, this); - my_pretty_pony->set_name(name); - return my_pretty_pony; + AttrTable *at = new AttrTable(); + transform_attrs_to_dap2(at); +#if 0 + load_AttrTable(at, this); +#endif + at->set_name(name); + return at; } - +#endif D4Attribute * D4Attributes::find_depth_first(const string &name, D4AttributesIter i) diff -Nru libdap-3.19.1/D4Attributes.h libdap-3.20.5/D4Attributes.h --- libdap-3.19.1/D4Attributes.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4Attributes.h 2020-02-17 07:35:45.000000000 +0000 @@ -129,15 +129,20 @@ } void transform_to_dap4(AttrTable &at); + void transform_attrs_to_dap2(AttrTable *d2_attr_table); +#if 0 + // Can these be replaced with transform_to_dap2() above? jhrg 6/17/19 AttrTable *get_AttrTable(const std::string name); static void load_AttrTable(AttrTable *d2_attr_table, D4Attributes *d4_attrs); +#endif bool empty() const { return d_attrs.empty(); } void add_attribute(D4Attribute *attr) { d_attrs.push_back(new D4Attribute(*attr)); } + void add_attribute_nocopy(D4Attribute *attr) { d_attrs.push_back(attr); } diff -Nru libdap-3.19.1/d4_ce/d4_ce_parser.tab.cc libdap-3.20.5/d4_ce/d4_ce_parser.tab.cc --- libdap-3.19.1/d4_ce/d4_ce_parser.tab.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/d4_ce_parser.tab.cc 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,8 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. // Skeleton implementation for Bison LALR(1) parsers in C++ -// Copyright (C) 2002-2015 Free Software Foundation, Inc. +// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -30,26 +30,18 @@ // This special exception was added by the Free Software Foundation in // version 2.2 of Bison. +// Undocumented macros, especially those whose name start with YY_, +// are private implementation details. Do not rely on them. + -// First part of user declarations. -#line 37 "d4_ce_parser.tab.cc" // lalr1.cc:404 -# ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr -# else -# define YY_NULLPTR 0 -# endif -# endif #include "d4_ce_parser.tab.hh" -// User implementation prologue. -#line 51 "d4_ce_parser.tab.cc" // lalr1.cc:412 // Unqualified %code blocks. -#line 76 "d4_ce_parser.yy" // lalr1.cc:413 +#line 77 "d4_ce_parser.yy" // lalr1.cc:435 #include #include @@ -69,7 +61,7 @@ libdap::D4ConstraintEvaluator &driver); -#line 73 "d4_ce_parser.tab.cc" // lalr1.cc:413 +#line 65 "d4_ce_parser.tab.cc" // lalr1.cc:435 #ifndef YY_ @@ -84,6 +76,15 @@ # endif #endif +// Whether we are compiled with exception support. +#ifndef YY_EXCEPTIONS +# if defined __GNUC__ && !defined __EXCEPTIONS +# define YY_EXCEPTIONS 0 +# else +# define YY_EXCEPTIONS 1 +# endif +#endif + #define YYRHSLOC(Rhs, K) ((Rhs)[K].location) /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends @@ -101,7 +102,7 @@ { \ (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \ } \ - while (/*CONSTCOND*/ false) + while (false) # endif @@ -120,7 +121,7 @@ { \ *yycdebug_ << Title << ' '; \ yy_print_ (*yycdebug_, Symbol); \ - *yycdebug_ << std::endl; \ + *yycdebug_ << '\n'; \ } \ } while (false) @@ -139,9 +140,9 @@ #else // !YYDEBUG # define YYCDEBUG if (false) std::cerr -# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol) -# define YY_REDUCE_PRINT(Rule) static_cast(0) -# define YY_STACK_PRINT() static_cast(0) +# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol) +# define YY_REDUCE_PRINT(Rule) static_cast (0) +# define YY_STACK_PRINT() static_cast (0) #endif // !YYDEBUG @@ -153,9 +154,9 @@ #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus_) -#line 35 "d4_ce_parser.yy" // lalr1.cc:479 +#line 35 "d4_ce_parser.yy" // lalr1.cc:510 namespace libdap { -#line 159 "d4_ce_parser.tab.cc" // lalr1.cc:479 +#line 160 "d4_ce_parser.tab.cc" // lalr1.cc:510 /* Return YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is @@ -167,7 +168,7 @@ { if (*yystr == '"') { - std::string yyr = ""; + std::string yyr; char const *yyp = yystr; for (;;) @@ -180,7 +181,10 @@ case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; - // Fall through. + else + goto append; + + append: default: yyr += *yyp; break; @@ -209,32 +213,22 @@ D4CEParser::~D4CEParser () {} + D4CEParser::syntax_error::~syntax_error () YY_NOEXCEPT YY_NOTHROW + {} /*---------------. | Symbol types. | `---------------*/ - inline - D4CEParser::syntax_error::syntax_error (const location_type& l, const std::string& m) - : std::runtime_error (m) - , location (l) - {} - // basic_symbol. +#if 201103L <= YY_CPLUSPLUS template - inline - D4CEParser::basic_symbol::basic_symbol () - : value () - {} - - template - inline - D4CEParser::basic_symbol::basic_symbol (const basic_symbol& other) - : Base (other) + D4CEParser::basic_symbol::basic_symbol (basic_symbol&& that) + : Base (std::move (that)) , value () - , location (other.location) + , location (std::move (that.location)) { - switch (other.type_get ()) + switch (this->type_get ()) { case 29: // dimensions case 30: // dimension @@ -245,11 +239,11 @@ case 39: // fields case 40: // filter case 41: // predicate - value.copy< bool > (other.value); + value.move< bool > (std::move (that.value)); break; case 38: // index - value.copy< libdap::D4ConstraintEvaluator::index > (other.value); + value.move< libdap::D4ConstraintEvaluator::index > (std::move (that.value)); break; case 3: // "word" @@ -259,7 +253,7 @@ case 44: // group case 45: // path case 46: // name - value.copy< std::string > (other.value); + value.move< std::string > (std::move (that.value)); break; default: @@ -267,17 +261,15 @@ } } - +#endif template - inline - D4CEParser::basic_symbol::basic_symbol (typename Base::kind_type t, const semantic_type& v, const location_type& l) - : Base (t) + D4CEParser::basic_symbol::basic_symbol (const basic_symbol& that) + : Base (that) , value () - , location (l) + , location (that.location) { - (void) v; - switch (this->type_get ()) + switch (this->type_get ()) { case 29: // dimensions case 30: // dimension @@ -288,11 +280,11 @@ case 39: // fields case 40: // filter case 41: // predicate - value.copy< bool > (v); + value.copy< bool > (YY_MOVE (that.value)); break; case 38: // index - value.copy< libdap::D4ConstraintEvaluator::index > (v); + value.copy< libdap::D4ConstraintEvaluator::index > (YY_MOVE (that.value)); break; case 3: // "word" @@ -302,119 +294,30 @@ case 44: // group case 45: // path case 46: // name - value.copy< std::string > (v); + value.copy< std::string > (YY_MOVE (that.value)); break; default: break; } -} - - - // Implementation of basic_symbol constructor for each type. - template - D4CEParser::basic_symbol::basic_symbol (typename Base::kind_type t, const location_type& l) - : Base (t) - , value () - , location (l) - {} - - template - D4CEParser::basic_symbol::basic_symbol (typename Base::kind_type t, const bool v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4CEParser::basic_symbol::basic_symbol (typename Base::kind_type t, const libdap::D4ConstraintEvaluator::index v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4CEParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - - template - inline - D4CEParser::basic_symbol::~basic_symbol () - { - clear (); } - template - inline - void - D4CEParser::basic_symbol::clear () - { - // User destructor. - symbol_number_type yytype = this->type_get (); - basic_symbol& yysym = *this; - (void) yysym; - switch (yytype) - { - default: - break; - } - - // Type destructor. - switch (yytype) - { - case 29: // dimensions - case 30: // dimension - case 31: // clauses - case 32: // clause - case 33: // subset - case 36: // indexes - case 39: // fields - case 40: // filter - case 41: // predicate - value.template destroy< bool > (); - break; - case 38: // index - value.template destroy< libdap::D4ConstraintEvaluator::index > (); - break; - - case 3: // "word" - case 4: // "string" - case 42: // op - case 43: // id - case 44: // group - case 45: // path - case 46: // name - value.template destroy< std::string > (); - break; - - default: - break; - } - - Base::clear (); - } template - inline bool - D4CEParser::basic_symbol::empty () const + D4CEParser::basic_symbol::empty () const YY_NOEXCEPT { return Base::type_get () == empty_symbol; } template - inline void D4CEParser::basic_symbol::move (basic_symbol& s) { - super_type::move(s); - switch (this->type_get ()) + super_type::move (s); + switch (this->type_get ()) { case 29: // dimensions case 30: // dimension @@ -425,11 +328,11 @@ case 39: // fields case 40: // filter case 41: // predicate - value.move< bool > (s.value); + value.move< bool > (YY_MOVE (s.value)); break; case 38: // index - value.move< libdap::D4ConstraintEvaluator::index > (s.value); + value.move< libdap::D4ConstraintEvaluator::index > (YY_MOVE (s.value)); break; case 3: // "word" @@ -439,40 +342,43 @@ case 44: // group case 45: // path case 46: // name - value.move< std::string > (s.value); + value.move< std::string > (YY_MOVE (s.value)); break; default: break; } - location = s.location; + location = YY_MOVE (s.location); } // by_type. - inline D4CEParser::by_type::by_type () : type (empty_symbol) {} - inline - D4CEParser::by_type::by_type (const by_type& other) - : type (other.type) +#if 201103L <= YY_CPLUSPLUS + D4CEParser::by_type::by_type (by_type&& that) + : type (that.type) + { + that.clear (); + } +#endif + + D4CEParser::by_type::by_type (const by_type& that) + : type (that.type) {} - inline D4CEParser::by_type::by_type (token_type t) : type (yytranslate_ (t)) {} - inline void D4CEParser::by_type::clear () { type = empty_symbol; } - inline void D4CEParser::by_type::move (by_type& that) { @@ -480,184 +386,28 @@ that.clear (); } - inline int - D4CEParser::by_type::type_get () const + D4CEParser::by_type::type_get () const YY_NOEXCEPT { return type; } - // Implementation of make_symbol for each symbol type. - D4CEParser::symbol_type - D4CEParser::make_END (const location_type& l) - { - return symbol_type (token::END, l); - } - - D4CEParser::symbol_type - D4CEParser::make_WORD (const std::string& v, const location_type& l) - { - return symbol_type (token::WORD, v, l); - } - - D4CEParser::symbol_type - D4CEParser::make_STRING (const std::string& v, const location_type& l) - { - return symbol_type (token::STRING, v, l); - } - - D4CEParser::symbol_type - D4CEParser::make_SEMICOLON (const location_type& l) - { - return symbol_type (token::SEMICOLON, l); - } - - D4CEParser::symbol_type - D4CEParser::make_PIPE (const location_type& l) - { - return symbol_type (token::PIPE, l); - } - - D4CEParser::symbol_type - D4CEParser::make_LBRACKET (const location_type& l) - { - return symbol_type (token::LBRACKET, l); - } - - D4CEParser::symbol_type - D4CEParser::make_RBRACKET (const location_type& l) - { - return symbol_type (token::RBRACKET, l); - } - - D4CEParser::symbol_type - D4CEParser::make_COLON (const location_type& l) - { - return symbol_type (token::COLON, l); - } - - D4CEParser::symbol_type - D4CEParser::make_LBRACE (const location_type& l) - { - return symbol_type (token::LBRACE, l); - } - - D4CEParser::symbol_type - D4CEParser::make_RBRACE (const location_type& l) - { - return symbol_type (token::RBRACE, l); - } - - D4CEParser::symbol_type - D4CEParser::make_LESS (const location_type& l) - { - return symbol_type (token::LESS, l); - } - - D4CEParser::symbol_type - D4CEParser::make_GREATER (const location_type& l) - { - return symbol_type (token::GREATER, l); - } - - D4CEParser::symbol_type - D4CEParser::make_LESS_EQUAL (const location_type& l) - { - return symbol_type (token::LESS_EQUAL, l); - } - - D4CEParser::symbol_type - D4CEParser::make_GREATER_EQUAL (const location_type& l) - { - return symbol_type (token::GREATER_EQUAL, l); - } - - D4CEParser::symbol_type - D4CEParser::make_EQUAL (const location_type& l) - { - return symbol_type (token::EQUAL, l); - } - - D4CEParser::symbol_type - D4CEParser::make_NOT_EQUAL (const location_type& l) - { - return symbol_type (token::NOT_EQUAL, l); - } - - D4CEParser::symbol_type - D4CEParser::make_REGEX_MATCH (const location_type& l) - { - return symbol_type (token::REGEX_MATCH, l); - } - - D4CEParser::symbol_type - D4CEParser::make_LESS_BBOX (const location_type& l) - { - return symbol_type (token::LESS_BBOX, l); - } - - D4CEParser::symbol_type - D4CEParser::make_GREATER_BBOX (const location_type& l) - { - return symbol_type (token::GREATER_BBOX, l); - } - - D4CEParser::symbol_type - D4CEParser::make_MASK (const location_type& l) - { - return symbol_type (token::MASK, l); - } - - D4CEParser::symbol_type - D4CEParser::make_ND (const location_type& l) - { - return symbol_type (token::ND, l); - } - - D4CEParser::symbol_type - D4CEParser::make_COMMA (const location_type& l) - { - return symbol_type (token::COMMA, l); - } - - D4CEParser::symbol_type - D4CEParser::make_ASSIGN (const location_type& l) - { - return symbol_type (token::ASSIGN, l); - } - - D4CEParser::symbol_type - D4CEParser::make_GROUP_SEP (const location_type& l) - { - return symbol_type (token::GROUP_SEP, l); - } - - D4CEParser::symbol_type - D4CEParser::make_PATH_SEP (const location_type& l) - { - return symbol_type (token::PATH_SEP, l); - } - // by_state. - inline - D4CEParser::by_state::by_state () + D4CEParser::by_state::by_state () YY_NOEXCEPT : state (empty_state) {} - inline - D4CEParser::by_state::by_state (const by_state& other) - : state (other.state) + D4CEParser::by_state::by_state (const by_state& that) YY_NOEXCEPT + : state (that.state) {} - inline void - D4CEParser::by_state::clear () + D4CEParser::by_state::clear () YY_NOEXCEPT { state = empty_state; } - inline void D4CEParser::by_state::move (by_state& that) { @@ -665,14 +415,12 @@ that.clear (); } - inline - D4CEParser::by_state::by_state (state_type s) + D4CEParser::by_state::by_state (state_type s) YY_NOEXCEPT : state (s) {} - inline D4CEParser::symbol_number_type - D4CEParser::by_state::type_get () const + D4CEParser::by_state::type_get () const YY_NOEXCEPT { if (state == empty_state) return empty_symbol; @@ -680,16 +428,54 @@ return yystos_[state]; } - inline D4CEParser::stack_symbol_type::stack_symbol_type () {} + D4CEParser::stack_symbol_type::stack_symbol_type (YY_RVREF (stack_symbol_type) that) + : super_type (YY_MOVE (that.state), YY_MOVE (that.location)) + { + switch (that.type_get ()) + { + case 29: // dimensions + case 30: // dimension + case 31: // clauses + case 32: // clause + case 33: // subset + case 36: // indexes + case 39: // fields + case 40: // filter + case 41: // predicate + value.YY_MOVE_OR_COPY< bool > (YY_MOVE (that.value)); + break; + + case 38: // index + value.YY_MOVE_OR_COPY< libdap::D4ConstraintEvaluator::index > (YY_MOVE (that.value)); + break; + + case 3: // "word" + case 4: // "string" + case 42: // op + case 43: // id + case 44: // group + case 45: // path + case 46: // name + value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); + break; - inline - D4CEParser::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that) - : super_type (s, that.location) + default: + break; + } + +#if 201103L <= YY_CPLUSPLUS + // that is emptied. + that.state = empty_state; +#endif + } + + D4CEParser::stack_symbol_type::stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) that) + : super_type (s, YY_MOVE (that.location)) { - switch (that.type_get ()) + switch (that.type_get ()) { case 29: // dimensions case 30: // dimension @@ -700,11 +486,11 @@ case 39: // fields case 40: // filter case 41: // predicate - value.move< bool > (that.value); + value.move< bool > (YY_MOVE (that.value)); break; case 38: // index - value.move< libdap::D4ConstraintEvaluator::index > (that.value); + value.move< libdap::D4ConstraintEvaluator::index > (YY_MOVE (that.value)); break; case 3: // "word" @@ -714,7 +500,7 @@ case 44: // group case 45: // path case 46: // name - value.move< std::string > (that.value); + value.move< std::string > (YY_MOVE (that.value)); break; default: @@ -725,12 +511,12 @@ that.type = empty_symbol; } - inline +#if YY_CPLUSPLUS < 201103L D4CEParser::stack_symbol_type& - D4CEParser::stack_symbol_type::operator= (const stack_symbol_type& that) + D4CEParser::stack_symbol_type::operator= (stack_symbol_type& that) { state = that.state; - switch (that.type_get ()) + switch (that.type_get ()) { case 29: // dimensions case 30: // dimension @@ -741,11 +527,11 @@ case 39: // fields case 40: // filter case 41: // predicate - value.copy< bool > (that.value); + value.move< bool > (that.value); break; case 38: // index - value.copy< libdap::D4ConstraintEvaluator::index > (that.value); + value.move< libdap::D4ConstraintEvaluator::index > (that.value); break; case 3: // "word" @@ -755,7 +541,7 @@ case 44: // group case 45: // path case 46: // name - value.copy< std::string > (that.value); + value.move< std::string > (that.value); break; default: @@ -763,12 +549,13 @@ } location = that.location; + // that is emptied. + that.state = empty_state; return *this; } - +#endif template - inline void D4CEParser::yy_destroy_ (const char* yymsg, basic_symbol& yysym) const { @@ -785,10 +572,12 @@ std::ostream& yyoutput = yyo; YYUSE (yyoutput); symbol_number_type yytype = yysym.type_get (); +#if defined __GNUC__ && ! defined __clang__ && ! defined __ICC && __GNUC__ * 100 + __GNUC_MINOR__ <= 408 // Avoid a (spurious) G++ 4.8 warning about "array subscript is // below array bounds". if (yysym.empty ()) std::abort (); +#endif yyo << (yytype < yyntokens_ ? "token" : "nterm") << ' ' << yytname_[yytype] << " (" << yysym.location << ": "; @@ -797,26 +586,27 @@ } #endif - inline void - D4CEParser::yypush_ (const char* m, state_type s, symbol_type& sym) + D4CEParser::yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym) { - stack_symbol_type t (s, sym); - yypush_ (m, t); + if (m) + YY_SYMBOL_PRINT (m, sym); + yystack_.push (YY_MOVE (sym)); } - inline void - D4CEParser::yypush_ (const char* m, stack_symbol_type& s) + D4CEParser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym) { - if (m) - YY_SYMBOL_PRINT (m, s); - yystack_.push (s); +#if 201103L <= YY_CPLUSPLUS + yypush_ (m, stack_symbol_type (s, std::move (sym))); +#else + stack_symbol_type ss (s, sym); + yypush_ (m, ss); +#endif } - inline void - D4CEParser::yypop_ (unsigned int n) + D4CEParser::yypop_ (int n) { yystack_.pop (n); } @@ -848,7 +638,7 @@ } #endif // YYDEBUG - inline D4CEParser::state_type + D4CEParser::state_type D4CEParser::yy_lr_goto_state_ (state_type yystate, int yysym) { int yyr = yypgoto_[yysym - yyntokens_] + yystate; @@ -858,19 +648,25 @@ return yydefgoto_[yysym - yyntokens_]; } - inline bool + bool D4CEParser::yy_pact_value_is_default_ (int yyvalue) { return yyvalue == yypact_ninf_; } - inline bool + bool D4CEParser::yy_table_value_is_error_ (int yyvalue) { return yyvalue == yytable_ninf_; } int + D4CEParser::operator() () + { + return parse (); + } + + int D4CEParser::parse () { // State. @@ -891,15 +687,15 @@ /// The return value of parse (). int yyresult; - // FIXME: This shoud be completely indented. It is not yet to - // avoid gratuitous conflicts when merging into the master branch. +#if YY_EXCEPTIONS try +#endif // YY_EXCEPTIONS { - YYCDEBUG << "Starting parse" << std::endl; + YYCDEBUG << "Starting parse\n"; // User initialization code. - #line 68 "d4_ce_parser.yy" // lalr1.cc:745 +#line 69 "d4_ce_parser.yy" // lalr1.cc:791 { // Initialize the initial location. This is printed when the parser builds // its own error messages - when the parse fails as opposed to when the @@ -908,28 +704,32 @@ yyla.location.initialize (driver.expression()); } -#line 912 "d4_ce_parser.tab.cc" // lalr1.cc:745 +#line 708 "d4_ce_parser.tab.cc" // lalr1.cc:791 /* Initialize the stack. The initial state will be set in yynewstate, since the latter expects the semantical and the location values to have been already stored, initialize these stacks with a primary value. */ yystack_.clear (); - yypush_ (YY_NULLPTR, 0, yyla); + yypush_ (YY_NULLPTR, 0, YY_MOVE (yyla)); - // A new symbol was pushed on the stack. + /*-----------------------------------------------. + | yynewstate -- push a new symbol on the stack. | + `-----------------------------------------------*/ yynewstate: - YYCDEBUG << "Entering state " << yystack_[0].state << std::endl; + YYCDEBUG << "Entering state " << yystack_[0].state << '\n'; // Accept? if (yystack_[0].state == yyfinal_) - goto yyacceptlab; + YYACCEPT; goto yybackup; - // Backup. - yybackup: + /*-----------. + | yybackup. | + `-----------*/ + yybackup: // Try to take a decision without lookahead. yyn = yypact_[yystack_[0].state]; if (yy_pact_value_is_default_ (yyn)) @@ -939,15 +739,20 @@ if (yyla.empty ()) { YYCDEBUG << "Reading a token: "; +#if YY_EXCEPTIONS try +#endif // YY_EXCEPTIONS { yyla.type = yytranslate_ (yylex (&yyla.value, &yyla.location, scanner, driver)); } +#if YY_EXCEPTIONS catch (const syntax_error& yyexc) { + YYCDEBUG << "Caught exception: " << yyexc.what() << '\n'; error (yyexc); goto yyerrlab1; } +#endif // YY_EXCEPTIONS } YY_SYMBOL_PRINT ("Next token is", yyla); @@ -972,9 +777,10 @@ --yyerrstatus_; // Shift the lookahead token. - yypush_ ("Shifting", yyn, yyla); + yypush_ ("Shifting", yyn, YY_MOVE (yyla)); goto yynewstate; + /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ @@ -984,18 +790,19 @@ goto yyerrlab; goto yyreduce; + /*-----------------------------. - | yyreduce -- Do a reduction. | + | yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: yylen = yyr2_[yyn]; { stack_symbol_type yylhs; - yylhs.state = yy_lr_goto_state_(yystack_[yylen].state, yyr1_[yyn]); + yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]); /* Variants are always initialized to an empty instance of the correct type. The default '$$ = $1' action is NOT applied when using variants. */ - switch (yyr1_[yyn]) + switch (yyr1_[yyn]) { case 29: // dimensions case 30: // dimension @@ -1006,11 +813,11 @@ case 39: // fields case 40: // filter case 41: // predicate - yylhs.value.build< bool > (); + yylhs.value.emplace< bool > (); break; case 38: // index - yylhs.value.build< libdap::D4ConstraintEvaluator::index > (); + yylhs.value.emplace< libdap::D4ConstraintEvaluator::index > (); break; case 3: // "word" @@ -1020,7 +827,7 @@ case 44: // group case 45: // path case 46: // name - yylhs.value.build< std::string > (); + yylhs.value.emplace< std::string > (); break; default: @@ -1028,140 +835,143 @@ } - // Compute the default @$. + // Default location. { - slice slice (yystack_, yylen); - YYLLOC_DEFAULT (yylhs.location, slice, yylen); + stack_type::slice range (yystack_, yylen); + YYLLOC_DEFAULT (yylhs.location, range, yylen); + yyerror_range[1].location = yylhs.location; } // Perform the reduction. YY_REDUCE_PRINT (yyn); +#if YY_EXCEPTIONS try +#endif // YY_EXCEPTIONS { switch (yyn) { case 2: -#line 147 "d4_ce_parser.yy" // lalr1.cc:859 - { driver.set_result(yystack_[0].value.as< bool > ()); } -#line 1047 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 148 "d4_ce_parser.yy" // lalr1.cc:919 + { driver.set_result(yystack_[0].value.as < bool > ()); } +#line 857 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 3: -#line 148 "d4_ce_parser.yy" // lalr1.cc:859 - { driver.set_result(yystack_[2].value.as< bool > () && yystack_[0].value.as< bool > ()); } -#line 1053 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 149 "d4_ce_parser.yy" // lalr1.cc:919 + { driver.set_result(yystack_[2].value.as < bool > () && yystack_[0].value.as < bool > ()); } +#line 863 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 4: -#line 151 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = yystack_[0].value.as< bool > (); } -#line 1059 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 152 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = yystack_[0].value.as < bool > (); } +#line 869 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 5: -#line 152 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = yystack_[2].value.as< bool > () && yystack_[0].value.as< bool > (); } -#line 1065 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 153 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = yystack_[2].value.as < bool > () && yystack_[0].value.as < bool > (); } +#line 875 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 6: -#line 156 "d4_ce_parser.yy" // lalr1.cc:859 +#line 157 "d4_ce_parser.yy" // lalr1.cc:919 { - yylhs.value.as< bool > () = driver.slice_dimension(yystack_[2].value.as< std::string > (), yystack_[0].value.as< libdap::D4ConstraintEvaluator::index > ()); + yylhs.value.as < bool > () = driver.slice_dimension(yystack_[2].value.as < std::string > (), yystack_[0].value.as < libdap::D4ConstraintEvaluator::index > ()); } -#line 1073 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 883 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 7: -#line 161 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = yystack_[0].value.as< bool > (); } -#line 1079 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 162 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = yystack_[0].value.as < bool > (); } +#line 889 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 8: -#line 162 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = yystack_[2].value.as< bool > () && yystack_[0].value.as< bool > (); } -#line 1085 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 163 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = yystack_[2].value.as < bool > () && yystack_[0].value.as < bool > (); } +#line 895 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 9: -#line 172 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = yystack_[0].value.as< bool > (); driver.pop_basetype(); } -#line 1091 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 173 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = yystack_[0].value.as < bool > (); driver.pop_basetype(); } +#line 901 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 10: -#line 176 "d4_ce_parser.yy" // lalr1.cc:859 - { driver.pop_basetype(); yylhs.value.as< bool > () = yystack_[2].value.as< bool > () && yystack_[0].value.as< bool > (); } -#line 1097 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 177 "d4_ce_parser.yy" // lalr1.cc:919 + { driver.pop_basetype(); yylhs.value.as < bool > () = yystack_[2].value.as < bool > () && yystack_[0].value.as < bool > (); } +#line 907 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 11: -#line 184 "d4_ce_parser.yy" // lalr1.cc:859 +#line 185 "d4_ce_parser.yy" // lalr1.cc:919 { BaseType *btp = 0; if (driver.top_basetype()) { - btp = driver.top_basetype()->var(yystack_[0].value.as< std::string > ()); + btp = driver.top_basetype()->var(yystack_[0].value.as < std::string > ()); } else { - btp = driver.dmr()->root()->find_var(yystack_[0].value.as< std::string > ()); + btp = driver.dmr()->root()->find_var(yystack_[0].value.as < std::string > ()); } if (!btp) - driver.throw_not_found(yystack_[0].value.as< std::string > (), "id"); + driver.throw_not_found(yystack_[0].value.as < std::string > (), "id"); - yylhs.value.as< bool > () = driver.mark_variable(btp); + yylhs.value.as < bool > () = driver.mark_variable(btp); // push the basetype so that it is // accessible if/while filters are parsed driver.push_basetype(btp); } -#line 1120 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 930 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 12: -#line 204 "d4_ce_parser.yy" // lalr1.cc:859 +#line 205 "d4_ce_parser.yy" // lalr1.cc:919 { BaseType *btp = 0; if (driver.top_basetype()) { - btp = driver.top_basetype()->var(yystack_[1].value.as< std::string > ()); + btp = driver.top_basetype()->var(yystack_[1].value.as < std::string > ()); } else { - btp = driver.dmr()->root()->find_var(yystack_[1].value.as< std::string > ()); + btp = driver.dmr()->root()->find_var(yystack_[1].value.as < std::string > ()); } if (!btp) - driver.throw_not_found(yystack_[1].value.as< std::string > (), "id indexes"); + driver.throw_not_found(yystack_[1].value.as < std::string > (), "id indexes"); if (btp->type() != dods_array_c) - driver.throw_not_array(yystack_[1].value.as< std::string > (), "id indexes"); + driver.throw_not_array(yystack_[1].value.as < std::string > (), "id indexes"); - yylhs.value.as< bool > () = driver.mark_variable(btp); + yylhs.value.as < bool > () = driver.mark_variable(btp); // push the basetype so that it is // accessible if/while filters are parsed driver.push_basetype(btp); } -#line 1146 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 956 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 13: -#line 228 "d4_ce_parser.yy" // lalr1.cc:859 +#line 229 "d4_ce_parser.yy" // lalr1.cc:919 { BaseType *btp = 0; if (driver.top_basetype()) { - btp = driver.top_basetype()->var(yystack_[0].value.as< std::string > ()); + btp = driver.top_basetype()->var(yystack_[0].value.as < std::string > ()); } else { - btp = driver.dmr()->root()->find_var(yystack_[0].value.as< std::string > ()); + btp = driver.dmr()->root()->find_var(yystack_[0].value.as < std::string > ()); } if (!btp) - driver.throw_not_found(yystack_[0].value.as< std::string > (), "id fields"); + driver.throw_not_found(yystack_[0].value.as < std::string > (), "id fields"); if (btp->type() == dods_array_c) { if (btp->var() && !btp->var()->is_constructor_type()) - throw Error(no_such_variable, "The variable " + yystack_[0].value.as< std::string > () + " must be a Structure or Sequence to be used with {}."); + throw Error(no_such_variable, "The variable " + yystack_[0].value.as < std::string > () + " must be a Structure or Sequence to be used with {}."); // This call also tests the btp to make sure it's an array driver.mark_array_variable(btp); @@ -1170,321 +980,325 @@ // Don't mark the variable here because only some fields are to be sent and those // will be marked when the fields are parsed if (!btp->is_constructor_type()) - throw Error(no_such_variable, "The variable " + yystack_[0].value.as< std::string > () + " must be a Structure or Sequence to be used with {}."); + throw Error(no_such_variable, "The variable " + yystack_[0].value.as < std::string > () + " must be a Structure or Sequence to be used with {}."); } // push the basetype so that it is // accessible when fields and if/while filters are parsed driver.push_basetype(btp); } -#line 1181 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 991 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 14: -#line 259 "d4_ce_parser.yy" // lalr1.cc:859 +#line 260 "d4_ce_parser.yy" // lalr1.cc:919 { //driver.pop_basetype(); - yylhs.value.as< bool > () = true; + yylhs.value.as < bool > () = true; } -#line 1190 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1000 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 15: -#line 267 "d4_ce_parser.yy" // lalr1.cc:859 +#line 268 "d4_ce_parser.yy" // lalr1.cc:919 { BaseType *btp = 0; if (driver.top_basetype()) { - btp = driver.top_basetype()->var(yystack_[1].value.as< std::string > ()); + btp = driver.top_basetype()->var(yystack_[1].value.as < std::string > ()); } else { - btp = driver.dmr()->root()->find_var(yystack_[1].value.as< std::string > ()); + btp = driver.dmr()->root()->find_var(yystack_[1].value.as < std::string > ()); } if (!btp) - driver.throw_not_found(yystack_[1].value.as< std::string > (), "id indexes fields"); + driver.throw_not_found(yystack_[1].value.as < std::string > (), "id indexes fields"); if (btp->type() != dods_array_c) - driver.throw_not_array(yystack_[1].value.as< std::string > (), "id indexes fields"); + driver.throw_not_array(yystack_[1].value.as < std::string > (), "id indexes fields"); // This call also tests the btp to make sure it's an array driver.mark_array_variable(btp); if (!btp->var()->is_constructor_type()) - throw Error(no_such_variable, "The variable " + yystack_[1].value.as< std::string > () + " must be a Structure or Sequence to be used with {}."); + throw Error(no_such_variable, "The variable " + yystack_[1].value.as < std::string > () + " must be a Structure or Sequence to be used with {}."); driver.push_basetype(btp->var()); } -#line 1218 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1028 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 16: -#line 291 "d4_ce_parser.yy" // lalr1.cc:859 +#line 292 "d4_ce_parser.yy" // lalr1.cc:919 { //driver.pop_basetype(); - yylhs.value.as< bool > () = true; + yylhs.value.as < bool > () = true; } -#line 1227 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1037 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 17: -#line 302 "d4_ce_parser.yy" // lalr1.cc:859 +#line 303 "d4_ce_parser.yy" // lalr1.cc:919 { - driver.push_index(yystack_[0].value.as< libdap::D4ConstraintEvaluator::index > ()); - yylhs.value.as< bool > () = true; + driver.push_index(yystack_[0].value.as < libdap::D4ConstraintEvaluator::index > ()); + yylhs.value.as < bool > () = true; } -#line 1236 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1046 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 18: -#line 306 "d4_ce_parser.yy" // lalr1.cc:859 - { driver.push_index(yystack_[0].value.as< libdap::D4ConstraintEvaluator::index > ()); } -#line 1242 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 307 "d4_ce_parser.yy" // lalr1.cc:919 + { driver.push_index(yystack_[0].value.as < libdap::D4ConstraintEvaluator::index > ()); } +#line 1052 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 19: -#line 306 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = yystack_[0].value.as< bool > (); } -#line 1248 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 307 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = yystack_[0].value.as < bool > (); } +#line 1058 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 20: -#line 311 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< libdap::D4ConstraintEvaluator::index > () = driver.make_index(); } -#line 1254 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 312 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < libdap::D4ConstraintEvaluator::index > () = driver.make_index(); } +#line 1064 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 21: -#line 312 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[1].value.as< std::string > ()); } -#line 1260 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 313 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[1].value.as < std::string > ()); } +#line 1070 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 22: -#line 313 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[3].value.as< std::string > (), 1, yystack_[1].value.as< std::string > ()); } -#line 1266 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 314 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[3].value.as < std::string > (), 1, yystack_[1].value.as < std::string > ()); } +#line 1076 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 23: -#line 314 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[5].value.as< std::string > (), yystack_[3].value.as< std::string > (), yystack_[1].value.as< std::string > ()); } -#line 1272 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 315 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[5].value.as < std::string > (), yystack_[3].value.as < std::string > (), yystack_[1].value.as < std::string > ()); } +#line 1082 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 24: -#line 315 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[2].value.as< std::string > (), 1); } -#line 1278 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 316 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[2].value.as < std::string > (), 1); } +#line 1088 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 25: -#line 316 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[4].value.as< std::string > (), yystack_[2].value.as< std::string > ()); } -#line 1284 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 317 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < libdap::D4ConstraintEvaluator::index > () = driver.make_index(yystack_[4].value.as < std::string > (), yystack_[2].value.as < std::string > ()); } +#line 1094 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 26: -#line 319 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = yystack_[1].value.as< bool > (); } -#line 1290 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 320 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = yystack_[1].value.as < bool > (); } +#line 1100 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 27: -#line 325 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = true; } -#line 1296 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 326 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = true; } +#line 1106 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 28: -#line 326 "d4_ce_parser.yy" // lalr1.cc:859 - { yylhs.value.as< bool > () = yystack_[2].value.as< bool > () && yystack_[0].value.as< bool > (); } -#line 1302 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 327 "d4_ce_parser.yy" // lalr1.cc:919 + { yylhs.value.as < bool > () = yystack_[2].value.as < bool > () && yystack_[0].value.as < bool > (); } +#line 1112 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 29: -#line 338 "d4_ce_parser.yy" // lalr1.cc:859 - { driver.add_filter_clause(yystack_[1].value.as< std::string > (), yystack_[2].value.as< std::string > (), yystack_[0].value.as< std::string > ()); yylhs.value.as< bool > () = true; } -#line 1308 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 339 "d4_ce_parser.yy" // lalr1.cc:919 + { driver.add_filter_clause(yystack_[1].value.as < std::string > (), yystack_[2].value.as < std::string > (), yystack_[0].value.as < std::string > ()); yylhs.value.as < bool > () = true; } +#line 1118 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 30: -#line 341 "d4_ce_parser.yy" // lalr1.cc:859 +#line 342 "d4_ce_parser.yy" // lalr1.cc:919 { - driver.add_filter_clause(yystack_[3].value.as< std::string > (), yystack_[4].value.as< std::string > (), yystack_[2].value.as< std::string > ()); - driver.add_filter_clause(yystack_[1].value.as< std::string > (), yystack_[2].value.as< std::string > (), yystack_[0].value.as< std::string > ()); - yylhs.value.as< bool > () = true; + driver.add_filter_clause(yystack_[3].value.as < std::string > (), yystack_[4].value.as < std::string > (), yystack_[2].value.as < std::string > ()); + driver.add_filter_clause(yystack_[1].value.as < std::string > (), yystack_[2].value.as < std::string > (), yystack_[0].value.as < std::string > ()); + yylhs.value.as < bool > () = true; } -#line 1319 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1129 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 31: -#line 347 "d4_ce_parser.yy" // lalr1.cc:859 +#line 348 "d4_ce_parser.yy" // lalr1.cc:919 { throw Error(malformed_expr, "The 'ND' operator is not currently supported."); } -#line 1325 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1135 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 32: -#line 355 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = "<";} -#line 1331 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 356 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = "<";} +#line 1141 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 33: -#line 356 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = ">";} -#line 1337 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 357 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = ">";} +#line 1147 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 34: -#line 357 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = "<=";} -#line 1343 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 358 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = "<=";} +#line 1153 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 35: -#line 358 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = ">=";} -#line 1349 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 359 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = ">=";} +#line 1159 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 36: -#line 359 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = "==";} -#line 1355 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 360 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = "==";} +#line 1165 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 37: -#line 360 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = "!=";} -#line 1361 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 361 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = "!=";} +#line 1171 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 38: -#line 361 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = "~=";} -#line 1367 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 362 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = "~=";} +#line 1177 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 39: -#line 363 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = "<<";} -#line 1373 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 364 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = "<<";} +#line 1183 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 40: -#line 364 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = ">>";} -#line 1379 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 365 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = ">>";} +#line 1189 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 41: -#line 366 "d4_ce_parser.yy" // lalr1.cc:859 - {yylhs.value.as< std::string > () = "@=";} -#line 1385 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 367 "d4_ce_parser.yy" // lalr1.cc:919 + {yylhs.value.as < std::string > () = "@=";} +#line 1195 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 42: -#line 370 "d4_ce_parser.yy" // lalr1.cc:859 +#line 371 "d4_ce_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > () = yystack_[0].value.as< std::string > (); + yylhs.value.as < std::string > () = yystack_[0].value.as < std::string > (); } -#line 1393 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1203 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 43: -#line 374 "d4_ce_parser.yy" // lalr1.cc:859 +#line 375 "d4_ce_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > ().append("/"); - yylhs.value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); + yylhs.value.as < std::string > ().append("/"); + yylhs.value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); } -#line 1402 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1212 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 44: -#line 379 "d4_ce_parser.yy" // lalr1.cc:859 +#line 380 "d4_ce_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::string > ().append("/"); - yystack_[2].value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); - yylhs.value.as< std::string > () = yystack_[2].value.as< std::string > (); + yystack_[2].value.as < std::string > ().append("/"); + yystack_[2].value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); + yylhs.value.as < std::string > () = yystack_[2].value.as < std::string > (); } -#line 1412 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1222 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 45: -#line 387 "d4_ce_parser.yy" // lalr1.cc:859 +#line 388 "d4_ce_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > ().append("/"); - yylhs.value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); + yylhs.value.as < std::string > ().append("/"); + yylhs.value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); } -#line 1421 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1231 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 46: -#line 392 "d4_ce_parser.yy" // lalr1.cc:859 +#line 393 "d4_ce_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::string > ().append("/"); - yystack_[2].value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); - yylhs.value.as< std::string > () = yystack_[2].value.as< std::string > (); + yystack_[2].value.as < std::string > ().append("/"); + yystack_[2].value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); + yylhs.value.as < std::string > () = yystack_[2].value.as < std::string > (); } -#line 1431 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1241 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 47: -#line 400 "d4_ce_parser.yy" // lalr1.cc:859 +#line 401 "d4_ce_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > () = yystack_[0].value.as< std::string > (); + yylhs.value.as < std::string > () = yystack_[0].value.as < std::string > (); } -#line 1439 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1249 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 48: -#line 404 "d4_ce_parser.yy" // lalr1.cc:859 +#line 405 "d4_ce_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::string > ().append("."); - yystack_[2].value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); - yylhs.value.as< std::string > () = yystack_[2].value.as< std::string > (); + yystack_[2].value.as < std::string > ().append("."); + yystack_[2].value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); + yylhs.value.as < std::string > () = yystack_[2].value.as < std::string > (); } -#line 1449 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1259 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 49: -#line 421 "d4_ce_parser.yy" // lalr1.cc:859 +#line 422 "d4_ce_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > ()=www2id(yystack_[0].value.as< std::string > ()); + yylhs.value.as < std::string > ()=www2id(yystack_[0].value.as < std::string > ()); } -#line 1457 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1267 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; case 50: -#line 425 "d4_ce_parser.yy" // lalr1.cc:859 +#line 426 "d4_ce_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > ()=driver.remove_quotes(yystack_[0].value.as< std::string > ()); + yylhs.value.as < std::string > ()=driver.remove_quotes(yystack_[0].value.as < std::string > ()); } -#line 1465 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1275 "d4_ce_parser.tab.cc" // lalr1.cc:919 break; -#line 1469 "d4_ce_parser.tab.cc" // lalr1.cc:859 +#line 1279 "d4_ce_parser.tab.cc" // lalr1.cc:919 default: break; } } +#if YY_EXCEPTIONS catch (const syntax_error& yyexc) { + YYCDEBUG << "Caught exception: " << yyexc.what() << '\n'; error (yyexc); YYERROR; } +#endif // YY_EXCEPTIONS YY_SYMBOL_PRINT ("-> $$ =", yylhs); yypop_ (yylen); yylen = 0; YY_STACK_PRINT (); // Shift the result of the reduction. - yypush_ (YY_NULLPTR, yylhs); + yypush_ (YY_NULLPTR, YY_MOVE (yylhs)); } goto yynewstate; + /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ @@ -1521,19 +1335,18 @@ | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ + /* Pacify compilers when the user code never invokes YYERROR and + the label yyerrorlab therefore never appears in user code. */ if (false) - goto yyerrorlab; - yyerror_range[1].location = yystack_[yylen - 1].location; + YYERROR; + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ yypop_ (yylen); yylen = 0; goto yyerrlab1; + /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ @@ -1570,20 +1383,30 @@ // Shift the error token. error_token.state = yyn; - yypush_ ("Shifting", error_token); + yypush_ ("Shifting", YY_MOVE (error_token)); } goto yynewstate; - // Accept. + + /*-------------------------------------. + | yyacceptlab -- YYACCEPT comes here. | + `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; - // Abort. + + /*-----------------------------------. + | yyabortlab -- YYABORT comes here. | + `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; + + /*-----------------------------------------------------. + | yyreturn -- parsing is finished, return the result. | + `-----------------------------------------------------*/ yyreturn: if (!yyla.empty ()) yy_destroy_ ("Cleanup: discarding lookahead", yyla); @@ -1599,12 +1422,12 @@ return yyresult; } +#if YY_EXCEPTIONS catch (...) { - YYCDEBUG << "Exception caught: cleaning lookahead and stack" - << std::endl; + YYCDEBUG << "Exception caught: cleaning lookahead and stack\n"; // Do not try to display the values of the reclaimed symbols, - // as their printer might throw an exception. + // as their printers might throw an exception. if (!yyla.empty ()) yy_destroy_ (YY_NULLPTR, yyla); @@ -1615,12 +1438,13 @@ } throw; } +#endif // YY_EXCEPTIONS } void D4CEParser::error (const syntax_error& yyexc) { - error (yyexc.location, yyexc.what()); + error (yyexc.location, yyexc.what ()); } // Generate an error message. @@ -1696,12 +1520,13 @@ case N: \ yyformat = S; \ break - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); + default: // Avoid compiler warnings. + YYCASE_ (0, YY_("syntax error")); + YYCASE_ (1, YY_("syntax error, unexpected %s")); + YYCASE_ (2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_ (3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_ (4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_ (5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); #undef YYCASE_ } @@ -1842,15 +1667,15 @@ }; #if YYDEBUG - const unsigned short int + const unsigned short D4CEParser::yyrline_[] = { - 0, 147, 147, 148, 151, 152, 155, 161, 162, 172, - 176, 183, 203, 228, 227, 267, 266, 301, 306, 306, - 311, 312, 313, 314, 315, 316, 319, 325, 326, 337, - 340, 347, 355, 356, 357, 358, 359, 360, 361, 363, - 364, 366, 369, 373, 378, 386, 391, 399, 403, 420, - 424 + 0, 148, 148, 149, 152, 153, 156, 162, 163, 173, + 177, 184, 204, 229, 228, 268, 267, 302, 307, 307, + 312, 313, 314, 315, 316, 317, 320, 326, 327, 338, + 341, 348, 356, 357, 358, 359, 360, 361, 362, 364, + 365, 367, 370, 374, 379, 387, 392, 400, 404, 421, + 425 }; // Print the state stack on the debug stream. @@ -1863,18 +1688,18 @@ i_end = yystack_.end (); i != i_end; ++i) *yycdebug_ << ' ' << i->state; - *yycdebug_ << std::endl; + *yycdebug_ << '\n'; } // Report on the debug stream that the rule \a yyrule is going to be reduced. void D4CEParser::yy_reduce_print_ (int yyrule) { - unsigned int yylno = yyrline_[yyrule]; + unsigned yylno = yyrline_[yyrule]; int yynrhs = yyr2_[yyrule]; // Print the symbols being reduced, and their result. *yycdebug_ << "Reducing stack by rule " << yyrule - 1 - << " (line " << yylno << "):" << std::endl; + << " (line " << yylno << "):\n"; // The symbols being reduced. for (int yyi = 0; yyi < yynrhs; yyi++) YY_SYMBOL_PRINT (" $" << yyi + 1 << " =", @@ -1882,16 +1707,16 @@ } #endif // YYDEBUG - // Symbol number corresponding to token number t. - inline D4CEParser::token_number_type D4CEParser::yytranslate_ (int t) { + // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to + // TOKEN-NUM as returned by yylex. static const token_number_type translate_table[] = { - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1921,21 +1746,21 @@ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }; - const unsigned int user_token_number_max_ = 281; + const unsigned user_token_number_max_ = 281; const token_number_type undef_token_ = 2; - if (static_cast(t) <= yyeof_) + if (static_cast (t) <= yyeof_) return yyeof_; - else if (static_cast (t) <= user_token_number_max_) + else if (static_cast (t) <= user_token_number_max_) return translate_table[t]; else return undef_token_; } -#line 35 "d4_ce_parser.yy" // lalr1.cc:1167 +#line 35 "d4_ce_parser.yy" // lalr1.cc:1242 } // libdap -#line 1938 "d4_ce_parser.tab.cc" // lalr1.cc:1167 -#line 430 "d4_ce_parser.yy" // lalr1.cc:1168 +#line 1763 "d4_ce_parser.tab.cc" // lalr1.cc:1242 +#line 431 "d4_ce_parser.yy" // lalr1.cc:1243 // Forward the error to the driver for handling. The location parameter diff -Nru libdap-3.19.1/d4_ce/d4_ce_parser.tab.hh libdap-3.20.5/d4_ce/d4_ce_parser.tab.hh --- libdap-3.19.1/d4_ce/d4_ce_parser.tab.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/d4_ce_parser.tab.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,8 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. // Skeleton interface for Bison LALR(1) parsers in C++ -// Copyright (C) 2002-2015 Free Software Foundation, Inc. +// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ // This special exception was added by the Free Software Foundation in // version 2.2 of Bison. + /** ** \file d4_ce_parser.tab.hh ** Define the libdap::parser class. @@ -37,11 +38,15 @@ // C++ LALR(1) parser skeleton written by Akim Demaille. +// Undocumented macros, especially those whose name start with YY_, +// are private implementation details. Do not rely on them. + #ifndef YY_YY_D4_CE_PARSER_TAB_HH_INCLUDED # define YY_YY_D4_CE_PARSER_TAB_HH_INCLUDED // // "%code requires" blocks. -#line 48 "d4_ce_parser.yy" // lalr1.cc:392 +#line 48 "d4_ce_parser.yy" // lalr1.cc:417 +#define YYERROR_VERBOSE 0 #include "D4ConstraintEvaluator.h" #include "escaping.h" // for www2id() used with WORD and STRING namespace libdap { @@ -49,7 +54,7 @@ } -#line 53 "d4_ce_parser.tab.hh" // lalr1.cc:392 +#line 58 "d4_ce_parser.tab.hh" // lalr1.cc:417 # include # include // std::abort @@ -57,7 +62,43 @@ # include # include # include -# include "stack.hh" + +#if defined __cplusplus +# define YY_CPLUSPLUS __cplusplus +#else +# define YY_CPLUSPLUS 199711L +#endif + +// Support move semantics when possible. +#if 201103L <= YY_CPLUSPLUS +# define YY_MOVE std::move +# define YY_MOVE_OR_COPY move +# define YY_MOVE_REF(Type) Type&& +# define YY_RVREF(Type) Type&& +# define YY_COPY(Type) Type +#else +# define YY_MOVE +# define YY_MOVE_OR_COPY copy +# define YY_MOVE_REF(Type) Type& +# define YY_RVREF(Type) const Type& +# define YY_COPY(Type) const Type& +#endif + +// Support noexcept when possible. +#if 201103L <= YY_CPLUSPLUS +# define YY_NOEXCEPT noexcept +# define YY_NOTHROW +#else +# define YY_NOEXCEPT +# define YY_NOTHROW throw () +#endif + +// Support constexpr when possible. +#if 201703 <= YY_CPLUSPLUS +# define YY_CONSTEXPR constexpr +#else +# define YY_CONSTEXPR +#endif # include "location.hh" #include #ifndef YYASSERT @@ -84,15 +125,6 @@ # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -100,7 +132,7 @@ # define YYUSE(E) /* empty */ #endif -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ @@ -119,125 +151,191 @@ # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif +# ifndef YY_NULLPTR +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# else +# define YY_NULLPTR ((void*)0) +# endif +# endif + /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 #endif -#line 35 "d4_ce_parser.yy" // lalr1.cc:392 +#line 35 "d4_ce_parser.yy" // lalr1.cc:417 namespace libdap { -#line 130 "d4_ce_parser.tab.hh" // lalr1.cc:392 +#line 174 "d4_ce_parser.tab.hh" // lalr1.cc:417 - /// A char[S] buffer to store and retrieve objects. + /// A Bison parser. + class D4CEParser + { + public: +#ifndef YYSTYPE + /// A buffer to store and retrieve objects. /// /// Sort of a variant, but does not keep track of the nature /// of the stored data, since that knowledge is available - /// via the current state. - template - struct variant + /// via the current parser state. + class semantic_type { + public: /// Type of *this. - typedef variant self_type; + typedef semantic_type self_type; /// Empty construction. - variant () - : yytypeid_ (YY_NULLPTR) + semantic_type () YY_NOEXCEPT + : yybuffer_ () + , yytypeid_ (YY_NULLPTR) {} /// Construct and fill. template - variant (const T& t) + semantic_type (YY_RVREF (T) t) : yytypeid_ (&typeid (T)) { - YYASSERT (sizeof (T) <= S); - new (yyas_ ()) T (t); + YYASSERT (sizeof (T) <= size); + new (yyas_ ()) T (YY_MOVE (t)); } /// Destruction, allowed only if empty. - ~variant () + ~semantic_type () YY_NOEXCEPT { YYASSERT (!yytypeid_); } +# if 201103L <= YY_CPLUSPLUS + /// Instantiate a \a T in here from \a t. + template + T& + emplace (U&&... u) + { + YYASSERT (!yytypeid_); + YYASSERT (sizeof (T) <= size); + yytypeid_ = & typeid (T); + return *new (yyas_ ()) T (std::forward (u)...); + } +# else /// Instantiate an empty \a T in here. template T& - build () + emplace () { YYASSERT (!yytypeid_); - YYASSERT (sizeof (T) <= S); + YYASSERT (sizeof (T) <= size); yytypeid_ = & typeid (T); - return *new (yyas_ ()) T; + return *new (yyas_ ()) T (); } /// Instantiate a \a T in here from \a t. template T& - build (const T& t) + emplace (const T& t) { YYASSERT (!yytypeid_); - YYASSERT (sizeof (T) <= S); + YYASSERT (sizeof (T) <= size); yytypeid_ = & typeid (T); return *new (yyas_ ()) T (t); } +# endif + + /// Instantiate an empty \a T in here. + /// Obsolete, use emplace. + template + T& + build () + { + return emplace (); + } + + /// Instantiate a \a T in here from \a t. + /// Obsolete, use emplace. + template + T& + build (const T& t) + { + return emplace (t); + } /// Accessor to a built \a T. template T& - as () + as () YY_NOEXCEPT { + YYASSERT (yytypeid_); YYASSERT (*yytypeid_ == typeid (T)); - YYASSERT (sizeof (T) <= S); + YYASSERT (sizeof (T) <= size); return *yyas_ (); } /// Const accessor to a built \a T (for %printer). template const T& - as () const + as () const YY_NOEXCEPT { + YYASSERT (yytypeid_); YYASSERT (*yytypeid_ == typeid (T)); - YYASSERT (sizeof (T) <= S); + YYASSERT (sizeof (T) <= size); return *yyas_ (); } - /// Swap the content with \a other, of same type. + /// Swap the content with \a that, of same type. /// /// Both variants must be built beforehand, because swapping the actual /// data requires reading it (with as()), and this is not possible on /// unconstructed variants: it would require some dynamic testing, which - /// should not be the variant's responsability. + /// should not be the variant's responsibility. /// Swapping between built and (possibly) non-built is done with - /// variant::move (). + /// self_type::move (). template void - swap (self_type& other) + swap (self_type& that) YY_NOEXCEPT { YYASSERT (yytypeid_); - YYASSERT (*yytypeid_ == *other.yytypeid_); - std::swap (as (), other.as ()); + YYASSERT (*yytypeid_ == *that.yytypeid_); + std::swap (as (), that.as ()); } - /// Move the content of \a other to this. + /// Move the content of \a that to this. /// - /// Destroys \a other. + /// Destroys \a that. + template + void + move (self_type& that) + { +# if 201103L <= YY_CPLUSPLUS + emplace (std::move (that.as ())); +# else + emplace (); + swap (that); +# endif + that.destroy (); + } + +# if 201103L <= YY_CPLUSPLUS + /// Move the content of \a that to this. template void - move (self_type& other) + move (self_type&& that) { - build (); - swap (other); - other.destroy (); + emplace (std::move (that.as ())); + that.destroy (); } +#endif - /// Copy the content of \a other to this. + /// Copy the content of \a that to this. template void - copy (const self_type& other) + copy (const self_type& that) { - build (other.as ()); + emplace (that.as ()); } /// Destroy the stored \a T. @@ -251,13 +349,13 @@ private: /// Prohibit blind copies. - self_type& operator=(const self_type&); - variant (const self_type&); + self_type& operator= (const self_type&); + semantic_type (const self_type&); /// Accessor to raw memory as \a T. template T* - yyas_ () + yyas_ () YY_NOEXCEPT { void *yyp = yybuffer_.yyraw; return static_cast (yyp); @@ -266,30 +364,12 @@ /// Const accessor to raw memory as \a T. template const T* - yyas_ () const + yyas_ () const YY_NOEXCEPT { const void *yyp = yybuffer_.yyraw; return static_cast (yyp); } - union - { - /// Strongest alignment constraints. - long double yyalign_me; - /// A buffer large enough to store any of the semantic values. - char yyraw[S]; - } yybuffer_; - - /// Whether the content is built: if defined, the name of the stored type. - const std::type_info *yytypeid_; - }; - - - /// A Bison parser. - class D4CEParser - { - public: -#ifndef YYSTYPE /// An auxiliary type to compute the largest semantic type. union union_type { @@ -302,10 +382,10 @@ // fields // filter // predicate - char dummy1[sizeof(bool)]; + char dummy1[sizeof (bool)]; // index - char dummy2[sizeof(libdap::D4ConstraintEvaluator::index)]; + char dummy2[sizeof (libdap::D4ConstraintEvaluator::index)]; // "word" // "string" @@ -314,11 +394,25 @@ // group // path // name - char dummy3[sizeof(std::string)]; -}; + char dummy3[sizeof (std::string)]; + }; + + /// The size of the largest semantic type. + enum { size = sizeof (union_type) }; + + /// A buffer to store semantic values. + union + { + /// Strongest alignment constraints. + long double yyalign_me; + /// A buffer large enough to store any of the semantic values. + char yyraw[size]; + } yybuffer_; + + /// Whether the content is built: if defined, the name of the stored type. + const std::type_info *yytypeid_; + }; - /// Symbol semantic values. - typedef variant semantic_type; #else typedef YYSTYPE semantic_type; #endif @@ -328,7 +422,18 @@ /// Syntax errors thrown from user actions. struct syntax_error : std::runtime_error { - syntax_error (const location_type& l, const std::string& m); + syntax_error (const location_type& l, const std::string& m) + : std::runtime_error (m) + , location (l) + {} + + syntax_error (const syntax_error& s) + : std::runtime_error (s.what ()) + , location (s.location) + {} + + ~syntax_error () YY_NOEXCEPT YY_NOTHROW; + location_type location; }; @@ -380,7 +485,7 @@ /// A complete symbol. /// /// Expects its Base type to provide access to the symbol type - /// via type_get(). + /// via type_get (). /// /// Provide access to semantic value and location. template @@ -390,35 +495,128 @@ typedef Base super_type; /// Default constructor. - basic_symbol (); + basic_symbol () + : value () + , location () + {} + +#if 201103L <= YY_CPLUSPLUS + /// Move constructor. + basic_symbol (basic_symbol&& that); +#endif /// Copy constructor. - basic_symbol (const basic_symbol& other); + basic_symbol (const basic_symbol& that); /// Constructor for valueless symbols, and symbols from each type. - - basic_symbol (typename Base::kind_type t, const location_type& l); - - basic_symbol (typename Base::kind_type t, const bool v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const libdap::D4ConstraintEvaluator::index v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l); - - - /// Constructor for symbols with semantic value. - basic_symbol (typename Base::kind_type t, - const semantic_type& v, - const location_type& l); +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, location_type&& l) + : Base (t) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const location_type& l) + : Base (t) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, libdap::D4ConstraintEvaluator::index&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const libdap::D4ConstraintEvaluator::index& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif /// Destroy the symbol. - ~basic_symbol (); + ~basic_symbol () + { + clear (); + } /// Destroy contents, and record that is empty. - void clear (); + void clear () + { + // User destructor. + symbol_number_type yytype = this->type_get (); + basic_symbol& yysym = *this; + (void) yysym; + switch (yytype) + { + default: + break; + } + + // Type destructor. +switch (yytype) + { + case 29: // dimensions + case 30: // dimension + case 31: // clauses + case 32: // clause + case 33: // subset + case 36: // indexes + case 39: // fields + case 40: // filter + case 41: // predicate + value.template destroy< bool > (); + break; + + case 38: // index + value.template destroy< libdap::D4ConstraintEvaluator::index > (); + break; + + case 3: // "word" + case 4: // "string" + case 42: // op + case 43: // id + case 44: // group + case 45: // path + case 46: // name + value.template destroy< std::string > (); + break; + + default: + break; + } + + Base::clear (); + } /// Whether empty. - bool empty () const; + bool empty () const YY_NOEXCEPT; /// Destructive move, \a s is emptied into this. void move (basic_symbol& s); @@ -430,8 +628,10 @@ location_type location; private: +#if YY_CPLUSPLUS < 201103L /// Assignment operator. - basic_symbol& operator= (const basic_symbol& other); + basic_symbol& operator= (const basic_symbol& that); +#endif }; /// Type access provider for token (enum) based symbols. @@ -440,8 +640,13 @@ /// Default constructor. by_type (); +#if 201103L <= YY_CPLUSPLUS + /// Move constructor. + by_type (by_type&& that); +#endif + /// Copy constructor. - by_type (const by_type& other); + by_type (const by_type& that); /// The symbol type as needed by the constructor. typedef token_type kind_type; @@ -457,10 +662,10 @@ /// The (internal) type number (corresponding to \a type). /// \a empty when empty. - symbol_number_type type_get () const; + symbol_number_type type_get () const YY_NOEXCEPT; /// The token. - token_type token () const; + token_type token () const YY_NOEXCEPT; /// The symbol type. /// \a empty_symbol when empty. @@ -469,114 +674,51 @@ }; /// "External" symbols: returned by the scanner. - typedef basic_symbol symbol_type; + struct symbol_type : basic_symbol + { + /// Superclass. + typedef basic_symbol super_type; - // Symbol constructors declarations. - static inline - symbol_type - make_END (const location_type& l); - - static inline - symbol_type - make_WORD (const std::string& v, const location_type& l); - - static inline - symbol_type - make_STRING (const std::string& v, const location_type& l); - - static inline - symbol_type - make_SEMICOLON (const location_type& l); - - static inline - symbol_type - make_PIPE (const location_type& l); - - static inline - symbol_type - make_LBRACKET (const location_type& l); - - static inline - symbol_type - make_RBRACKET (const location_type& l); - - static inline - symbol_type - make_COLON (const location_type& l); - - static inline - symbol_type - make_LBRACE (const location_type& l); - - static inline - symbol_type - make_RBRACE (const location_type& l); - - static inline - symbol_type - make_LESS (const location_type& l); - - static inline - symbol_type - make_GREATER (const location_type& l); - - static inline - symbol_type - make_LESS_EQUAL (const location_type& l); - - static inline - symbol_type - make_GREATER_EQUAL (const location_type& l); - - static inline - symbol_type - make_EQUAL (const location_type& l); - - static inline - symbol_type - make_NOT_EQUAL (const location_type& l); - - static inline - symbol_type - make_REGEX_MATCH (const location_type& l); - - static inline - symbol_type - make_LESS_BBOX (const location_type& l); - - static inline - symbol_type - make_GREATER_BBOX (const location_type& l); - - static inline - symbol_type - make_MASK (const location_type& l); - - static inline - symbol_type - make_ND (const location_type& l); - - static inline - symbol_type - make_COMMA (const location_type& l); - - static inline - symbol_type - make_ASSIGN (const location_type& l); - - static inline - symbol_type - make_GROUP_SEP (const location_type& l); - - static inline - symbol_type - make_PATH_SEP (const location_type& l); + /// Empty symbol. + symbol_type () {} + /// Constructor for valueless symbols, and symbols from each type. +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, location_type l) + : super_type(token_type (tok), std::move (l)) + { + YYASSERT (tok == token::END || tok == token::SEMICOLON || tok == token::PIPE || tok == token::LBRACKET || tok == token::RBRACKET || tok == token::COLON || tok == token::LBRACE || tok == token::RBRACE || tok == token::LESS || tok == token::GREATER || tok == token::LESS_EQUAL || tok == token::GREATER_EQUAL || tok == token::EQUAL || tok == token::NOT_EQUAL || tok == token::REGEX_MATCH || tok == token::LESS_BBOX || tok == token::GREATER_BBOX || tok == token::MASK || tok == token::ND || tok == token::COMMA || tok == token::ASSIGN || tok == token::GROUP_SEP || tok == token::PATH_SEP); + } +#else + symbol_type (int tok, const location_type& l) + : super_type(token_type (tok), l) + { + YYASSERT (tok == token::END || tok == token::SEMICOLON || tok == token::PIPE || tok == token::LBRACKET || tok == token::RBRACKET || tok == token::COLON || tok == token::LBRACE || tok == token::RBRACE || tok == token::LESS || tok == token::GREATER || tok == token::LESS_EQUAL || tok == token::GREATER_EQUAL || tok == token::EQUAL || tok == token::NOT_EQUAL || tok == token::REGEX_MATCH || tok == token::LESS_BBOX || tok == token::GREATER_BBOX || tok == token::MASK || tok == token::ND || tok == token::COMMA || tok == token::ASSIGN || tok == token::GROUP_SEP || tok == token::PATH_SEP); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::string v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == token::WORD || tok == token::STRING); + } +#else + symbol_type (int tok, const std::string& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == token::WORD || tok == token::STRING); + } +#endif + }; /// Build a parser object. D4CEParser (D4CEScanner &scanner_yyarg, D4ConstraintEvaluator &driver_yyarg); virtual ~D4CEParser (); + /// Parse. An alias for parse (). + /// \returns 0 iff parsing succeeded. + int operator() (); + /// Parse. /// \returns 0 iff parsing succeeded. virtual int parse (); @@ -603,6 +745,384 @@ /// Report a syntax error. void error (const syntax_error& err); + // Implementation of make_symbol for each symbol type. +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_END (location_type l) + { + return symbol_type (token::END, std::move (l)); + } +#else + static + symbol_type + make_END (const location_type& l) + { + return symbol_type (token::END, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_WORD (std::string v, location_type l) + { + return symbol_type (token::WORD, std::move (v), std::move (l)); + } +#else + static + symbol_type + make_WORD (const std::string& v, const location_type& l) + { + return symbol_type (token::WORD, v, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_STRING (std::string v, location_type l) + { + return symbol_type (token::STRING, std::move (v), std::move (l)); + } +#else + static + symbol_type + make_STRING (const std::string& v, const location_type& l) + { + return symbol_type (token::STRING, v, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_SEMICOLON (location_type l) + { + return symbol_type (token::SEMICOLON, std::move (l)); + } +#else + static + symbol_type + make_SEMICOLON (const location_type& l) + { + return symbol_type (token::SEMICOLON, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_PIPE (location_type l) + { + return symbol_type (token::PIPE, std::move (l)); + } +#else + static + symbol_type + make_PIPE (const location_type& l) + { + return symbol_type (token::PIPE, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_LBRACKET (location_type l) + { + return symbol_type (token::LBRACKET, std::move (l)); + } +#else + static + symbol_type + make_LBRACKET (const location_type& l) + { + return symbol_type (token::LBRACKET, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RBRACKET (location_type l) + { + return symbol_type (token::RBRACKET, std::move (l)); + } +#else + static + symbol_type + make_RBRACKET (const location_type& l) + { + return symbol_type (token::RBRACKET, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_COLON (location_type l) + { + return symbol_type (token::COLON, std::move (l)); + } +#else + static + symbol_type + make_COLON (const location_type& l) + { + return symbol_type (token::COLON, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_LBRACE (location_type l) + { + return symbol_type (token::LBRACE, std::move (l)); + } +#else + static + symbol_type + make_LBRACE (const location_type& l) + { + return symbol_type (token::LBRACE, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RBRACE (location_type l) + { + return symbol_type (token::RBRACE, std::move (l)); + } +#else + static + symbol_type + make_RBRACE (const location_type& l) + { + return symbol_type (token::RBRACE, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_LESS (location_type l) + { + return symbol_type (token::LESS, std::move (l)); + } +#else + static + symbol_type + make_LESS (const location_type& l) + { + return symbol_type (token::LESS, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_GREATER (location_type l) + { + return symbol_type (token::GREATER, std::move (l)); + } +#else + static + symbol_type + make_GREATER (const location_type& l) + { + return symbol_type (token::GREATER, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_LESS_EQUAL (location_type l) + { + return symbol_type (token::LESS_EQUAL, std::move (l)); + } +#else + static + symbol_type + make_LESS_EQUAL (const location_type& l) + { + return symbol_type (token::LESS_EQUAL, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_GREATER_EQUAL (location_type l) + { + return symbol_type (token::GREATER_EQUAL, std::move (l)); + } +#else + static + symbol_type + make_GREATER_EQUAL (const location_type& l) + { + return symbol_type (token::GREATER_EQUAL, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_EQUAL (location_type l) + { + return symbol_type (token::EQUAL, std::move (l)); + } +#else + static + symbol_type + make_EQUAL (const location_type& l) + { + return symbol_type (token::EQUAL, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_NOT_EQUAL (location_type l) + { + return symbol_type (token::NOT_EQUAL, std::move (l)); + } +#else + static + symbol_type + make_NOT_EQUAL (const location_type& l) + { + return symbol_type (token::NOT_EQUAL, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_REGEX_MATCH (location_type l) + { + return symbol_type (token::REGEX_MATCH, std::move (l)); + } +#else + static + symbol_type + make_REGEX_MATCH (const location_type& l) + { + return symbol_type (token::REGEX_MATCH, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_LESS_BBOX (location_type l) + { + return symbol_type (token::LESS_BBOX, std::move (l)); + } +#else + static + symbol_type + make_LESS_BBOX (const location_type& l) + { + return symbol_type (token::LESS_BBOX, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_GREATER_BBOX (location_type l) + { + return symbol_type (token::GREATER_BBOX, std::move (l)); + } +#else + static + symbol_type + make_GREATER_BBOX (const location_type& l) + { + return symbol_type (token::GREATER_BBOX, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_MASK (location_type l) + { + return symbol_type (token::MASK, std::move (l)); + } +#else + static + symbol_type + make_MASK (const location_type& l) + { + return symbol_type (token::MASK, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_ND (location_type l) + { + return symbol_type (token::ND, std::move (l)); + } +#else + static + symbol_type + make_ND (const location_type& l) + { + return symbol_type (token::ND, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_COMMA (location_type l) + { + return symbol_type (token::COMMA, std::move (l)); + } +#else + static + symbol_type + make_COMMA (const location_type& l) + { + return symbol_type (token::COMMA, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_ASSIGN (location_type l) + { + return symbol_type (token::ASSIGN, std::move (l)); + } +#else + static + symbol_type + make_ASSIGN (const location_type& l) + { + return symbol_type (token::ASSIGN, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_GROUP_SEP (location_type l) + { + return symbol_type (token::GROUP_SEP, std::move (l)); + } +#else + static + symbol_type + make_GROUP_SEP (const location_type& l) + { + return symbol_type (token::GROUP_SEP, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_PATH_SEP (location_type l) + { + return symbol_type (token::PATH_SEP, std::move (l)); + } +#else + static + symbol_type + make_PATH_SEP (const location_type& l) + { + return symbol_type (token::PATH_SEP, l); + } +#endif + + private: /// This class is not copyable. D4CEParser (const D4CEParser&); @@ -678,14 +1198,15 @@ static const char* const yytname_[]; #if YYDEBUG // YYRLINE[YYN] -- Source line where rule number YYN was defined. - static const unsigned short int yyrline_[]; + static const unsigned short yyrline_[]; /// Report on the debug stream that the rule \a r is going to be reduced. virtual void yy_reduce_print_ (int r); /// Print the state stack on the debug stream. virtual void yystack_print_ (); - // Debugging. + /// Debugging level. int yydebug_; + /// Debug stream. std::ostream* yycdebug_; /// \brief Display a symbol type, value and location. @@ -707,26 +1228,26 @@ struct by_state { /// Default constructor. - by_state (); + by_state () YY_NOEXCEPT; /// The symbol type as needed by the constructor. typedef state_type kind_type; /// Constructor. - by_state (kind_type s); + by_state (kind_type s) YY_NOEXCEPT; /// Copy constructor. - by_state (const by_state& other); + by_state (const by_state& that) YY_NOEXCEPT; /// Record that this symbol is empty. - void clear (); + void clear () YY_NOEXCEPT; /// Steal the symbol type from \a that. void move (by_state& that); /// The (internal) type number (corresponding to \a state). /// \a empty_symbol when empty. - symbol_number_type type_get () const; + symbol_number_type type_get () const YY_NOEXCEPT; /// The state number used to denote an empty symbol. enum { empty_state = -1 }; @@ -743,12 +1264,141 @@ typedef basic_symbol super_type; /// Construct an empty symbol. stack_symbol_type (); + /// Move or copy construction. + stack_symbol_type (YY_RVREF (stack_symbol_type) that); /// Steal the contents from \a sym to build this. - stack_symbol_type (state_type s, symbol_type& sym); - /// Assignment, needed by push_back. - stack_symbol_type& operator= (const stack_symbol_type& that); + stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym); +#if YY_CPLUSPLUS < 201103L + /// Assignment, needed by push_back by some old implementations. + /// Moves the contents of that. + stack_symbol_type& operator= (stack_symbol_type& that); +#endif + }; + + /// A stack with random access from its top. + template > + class stack + { + public: + // Hide our reversed order. + typedef typename S::reverse_iterator iterator; + typedef typename S::const_reverse_iterator const_iterator; + typedef typename S::size_type size_type; + + stack (size_type n = 200) + : seq_ (n) + {} + + /// Random access. + /// + /// Index 0 returns the topmost element. + T& + operator[] (size_type i) + { + return seq_[size () - 1 - i]; + } + + /// Random access. + /// + /// Index 0 returns the topmost element. + T& + operator[] (int i) + { + return operator[] (size_type (i)); + } + + /// Random access. + /// + /// Index 0 returns the topmost element. + const T& + operator[] (size_type i) const + { + return seq_[size () - 1 - i]; + } + + /// Random access. + /// + /// Index 0 returns the topmost element. + const T& + operator[] (int i) const + { + return operator[] (size_type (i)); + } + + /// Steal the contents of \a t. + /// + /// Close to move-semantics. + void + push (YY_MOVE_REF (T) t) + { + seq_.push_back (T ()); + operator[] (0).move (t); + } + + /// Pop elements from the stack. + void + pop (int n = 1) YY_NOEXCEPT + { + for (; 0 < n; --n) + seq_.pop_back (); + } + + /// Pop all elements from the stack. + void + clear () YY_NOEXCEPT + { + seq_.clear (); + } + + /// Number of elements on the stack. + size_type + size () const YY_NOEXCEPT + { + return seq_.size (); + } + + /// Iterator on top of the stack (going downwards). + const_iterator + begin () const YY_NOEXCEPT + { + return seq_.rbegin (); + } + + /// Bottom of the stack. + const_iterator + end () const YY_NOEXCEPT + { + return seq_.rend (); + } + + /// Present a slice of the top of a stack. + class slice + { + public: + slice (const stack& stack, int range) + : stack_ (stack) + , range_ (range) + {} + + const T& + operator[] (int i) const + { + return stack_[range_ - i]; + } + + private: + const stack& stack_; + int range_; + }; + + private: + stack (const stack&); + stack& operator= (const stack&); + /// The wrapped container. + S seq_; }; + /// Stack type. typedef stack stack_type; @@ -758,20 +1408,20 @@ /// Push a new state on the stack. /// \param m a debug message to display /// if null, no trace is output. - /// \param s the symbol + /// \param sym the symbol /// \warning the contents of \a s.value is stolen. - void yypush_ (const char* m, stack_symbol_type& s); + void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym); /// Push a new look ahead token on the state on the stack. /// \param m a debug message to display /// if null, no trace is output. /// \param s the state /// \param sym the symbol (for its value and location). - /// \warning the contents of \a s.value is stolen. - void yypush_ (const char* m, state_type s, symbol_type& sym); + /// \warning the contents of \a sym.value is stolen. + void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym); - /// Pop \a n symbols the three stacks. - void yypop_ (unsigned int n = 1); + /// Pop \a n symbols from the stack. + void yypop_ (int n = 1); /// Constants. enum @@ -792,9 +1442,9 @@ }; -#line 35 "d4_ce_parser.yy" // lalr1.cc:392 +#line 35 "d4_ce_parser.yy" // lalr1.cc:417 } // libdap -#line 798 "d4_ce_parser.tab.hh" // lalr1.cc:392 +#line 1448 "d4_ce_parser.tab.hh" // lalr1.cc:417 diff -Nru libdap-3.19.1/d4_ce/d4_ce_parser.yy libdap-3.20.5/d4_ce/d4_ce_parser.yy --- libdap-3.19.1/d4_ce/d4_ce_parser.yy 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/d4_ce_parser.yy 2020-02-17 07:35:45.000000000 +0000 @@ -46,6 +46,7 @@ // %define api.prefix { d4_ce } %code requires { +#define YYERROR_VERBOSE 0 #include "D4ConstraintEvaluator.h" #include "escaping.h" // for www2id() used with WORD and STRING namespace libdap { diff -Nru libdap-3.19.1/d4_ce/d4_ce_scanner.ll libdap-3.20.5/d4_ce/d4_ce_scanner.ll --- libdap-3.19.1/d4_ce/d4_ce_scanner.ll 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/d4_ce_scanner.ll 2020-02-17 07:35:45.000000000 +0000 @@ -44,6 +44,8 @@ /* define yyterminate as this instead of NULL */ #define yyterminate() return(token::END) +#define YYERROR_VERBOSE 0 + #define YY_FATAL_ERROR(msg) {\ throw(libdap::Error(malformed_expr, std::string("Error scanning constraint expression text: ") + std::string(msg))); \ } diff -Nru libdap-3.19.1/d4_ce/D4ConstraintEvaluator.cc libdap-3.20.5/d4_ce/D4ConstraintEvaluator.cc --- libdap-3.19.1/d4_ce/D4ConstraintEvaluator.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/D4ConstraintEvaluator.cc 2020-02-17 07:35:45.000000000 +0000 @@ -52,55 +52,52 @@ bool D4ConstraintEvaluator::parse(const std::string &expr) { - d_expr = expr; // set for error messages. See the %initial-action section of .yy + d_expr = expr; // set for error messages. See the %initial-action section of .yy - std::istringstream iss(expr); - D4CEScanner scanner(iss); - D4CEParser parser(scanner, *this /* driver */); - - if (trace_parsing()) { - parser.set_debug_level(1); - parser.set_debug_stream(std::cerr); - } + std::istringstream iss(expr); + D4CEScanner scanner(iss); + D4CEParser parser(scanner, *this /* driver */); + + if (trace_parsing()) { + parser.set_debug_level(1); + parser.set_debug_stream(std::cerr); + } - return parser.parse() == 0; + return parser.parse() == 0; } -void -D4ConstraintEvaluator::throw_not_found(const string &id, const string &ident) +void D4ConstraintEvaluator::throw_not_found(const string &id, const string &ident) { throw Error(no_such_variable, d_expr + ": The variable " + id + " was not found in the dataset (" + ident + ")."); } -void -D4ConstraintEvaluator::throw_not_array(const string &id, const string &ident) +void D4ConstraintEvaluator::throw_not_array(const string &id, const string &ident) { - throw Error(no_such_variable, d_expr + ": The variable '" + id + "' is not an Array variable (" + ident + ")."); + throw Error(no_such_variable, d_expr + ": The variable '" + id + "' is not an Array variable (" + ident + ")."); } -void -D4ConstraintEvaluator::search_for_and_mark_arrays(BaseType *btp) +void D4ConstraintEvaluator::search_for_and_mark_arrays(BaseType *btp) { - DBG(cerr << "Entering D4ConstraintEvaluator::search_for_and_mark_arrays...(" << btp->name() << ")" << endl); - - assert(btp->is_constructor_type()); - - Constructor *ctor = static_cast(btp); - for (Constructor::Vars_iter i = ctor->var_begin(), e = ctor->var_end(); i != e; ++i) { - switch ((*i)->type()) { - case dods_array_c: - DBG(cerr << "Found an array: " << (*i)->name() << endl); - mark_array_variable(*i); - break; - case dods_structure_c: - case dods_sequence_c: - DBG(cerr << "Found a ctor: " << (*i)->name() << endl); - search_for_and_mark_arrays(*i); - break; - default: - break; - } - } + DBG(cerr << "Entering D4ConstraintEvaluator::search_for_and_mark_arrays...(" << btp->name() << ")" << endl); + + assert(btp->is_constructor_type()); + + Constructor *ctor = static_cast(btp); + for (Constructor::Vars_iter i = ctor->var_begin(), e = ctor->var_end(); i != e; ++i) { + switch ((*i)->type()) { + case dods_array_c: + DBG(cerr << "Found an array: " << (*i)->name() << endl); + mark_array_variable(*i); + break; + case dods_structure_c: + case dods_sequence_c: + DBG(cerr << "Found a ctor: " << (*i)->name() << endl); + search_for_and_mark_arrays(*i); + break; + default: + break; + } + } } /** @@ -121,17 +118,17 @@ btp->set_send_p(true); - if (btp->type() == dods_array_c ) { - mark_array_variable(btp); + if (btp->type() == dods_array_c) { + mark_array_variable(btp); } // Test for Constructors and marks arrays they contain - if (btp->is_constructor_type()) { - search_for_and_mark_arrays(btp); - } - else if (btp->type() == dods_array_c && btp->var() && btp->var()->is_constructor_type()) { - search_for_and_mark_arrays(btp->var()); - } + if (btp->is_constructor_type()) { + search_for_and_mark_arrays(btp); + } + else if (btp->type() == dods_array_c && btp->var() && btp->var()->is_constructor_type()) { + search_for_and_mark_arrays(btp->var()); + } // Now set the parent variables BaseType *parent = btp->get_parent(); @@ -143,12 +140,10 @@ return btp; } -static bool -array_uses_shared_dimension(Array *map, D4Dimension *source_dim) +static bool array_uses_shared_dimension(Array *map, D4Dimension *source_dim) { for (Array::Dim_iter d = map->dim_begin(), e = map->dim_end(); d != e; ++d) { - if (source_dim->name() == (*d).name) - return true; + if (source_dim->name() == (*d).name) return true; } return false; @@ -172,21 +167,21 @@ BaseType * D4ConstraintEvaluator::mark_array_variable(BaseType *btp) { - assert(btp->type() == dods_array_c); + assert(btp->type() == dods_array_c); - Array *a = static_cast(btp); + Array *a = static_cast(btp); - // If an array appears in a CE without the slicing operators ([]) we still have to - // call add_constraint(...) for all of it's sdims for them to appear in - // the Constrained DMR. - if (d_indexes.empty()) { - for (Array::Dim_iter d = a->dim_begin(), de = a->dim_end(); d != de; ++d) { - D4Dimension *dim = a->dimension_D4dim(d); - if (dim) { - a->add_constraint(d, dim); - } - } - } + // If an array appears in a CE without the slicing operators ([]) we still have to + // call add_constraint(...) for all of it's sdims for them to appear in + // the Constrained DMR. + if (d_indexes.empty()) { + for (Array::Dim_iter d = a->dim_begin(), de = a->dim_end(); d != de; ++d) { + D4Dimension *dim = a->dimension_D4dim(d); + if (dim) { + a->add_constraint(d, dim); + } + } + } else { // Test that the indexes and dimensions match in number if (d_indexes.size() != a->dimensions()) @@ -195,9 +190,14 @@ Array::Dim_iter d = a->dim_begin(); for (vector::iterator i = d_indexes.begin(), e = d_indexes.end(); i != e; ++i) { if ((*i).stride > (unsigned long long) (a->dimension_stop(d, false) - a->dimension_start(d, false)) + 1) - throw Error(malformed_expr, "For '" + btp->name() + "', the index stride value is greater than the number of elements in the Array"); - if (!(*i).rest && ((*i).stop) > (unsigned long long) (a->dimension_stop(d, false) - a->dimension_start(d, false)) + 1) - throw Error(malformed_expr, "For '" + btp->name() + "', the index stop value is greater than the number of elements in the Array"); + throw Error(malformed_expr, + "For '" + btp->name() + + "', the index stride value is greater than the number of elements in the Array"); + if (!(*i).rest + && ((*i).stop) > (unsigned long long) (a->dimension_stop(d, false) - a->dimension_start(d, false)) + 1) + throw Error(malformed_expr, + "For '" + btp->name() + + "', the index stop value is greater than the number of elements in the Array"); D4Dimension *dim = a->dimension_D4dim(d); @@ -232,9 +232,10 @@ // local dimension slices. See https://opendap.atlassian.net/browse/HYRAX-98 // jhrg 4/12/16 if (!a->maps()->empty()) { - for(D4Maps::D4MapsIter m = a->maps()->map_begin(), e = a->maps()->map_end(); m != e; ++m) { + for (D4Maps::D4MapsIter m = a->maps()->map_begin(), e = a->maps()->map_end(); m != e; ++m) { if ((*m)->array() == 0) - throw Error(malformed_expr, "An array with Maps was found, but one of the Maps was not defined correctly."); + throw Error(malformed_expr, + "An array with Maps was found, but one of the Maps was not defined correctly."); Array *map = const_cast((*m)->array()); // Array lacks const iterator support // Added a test to ensure 'dim' is not null. This could be the case if @@ -255,7 +256,7 @@ d_indexes.clear(); // Clear the info so the next slice expression can be parsed. - return btp; + return btp; } /** @@ -272,48 +273,45 @@ D4Dimension *dim = dmr()->root()->find_dim(id); if (i.stride > dim->size()) - throw Error(malformed_expr, "For '" + id + "', the index stride value is greater than the size of the dimension"); + throw Error(malformed_expr, + "For '" + id + "', the index stride value is greater than the size of the dimension"); if (!i.rest && (i.stop > dim->size() - 1)) throw Error(malformed_expr, "For '" + id + "', the index stop value is greater than the size of the dimension"); - dim->set_constraint(i.start, i.stride, i.rest ? dim->size() - 1: i.stop); + dim->set_constraint(i.start, i.stride, i.rest ? dim->size() - 1 : i.stop); return dim; } -D4ConstraintEvaluator::index -D4ConstraintEvaluator::make_index(const std::string &i) +D4ConstraintEvaluator::index D4ConstraintEvaluator::make_index(const std::string &i) { - unsigned long long v = get_int64(i.c_str()); - return index(v, 1, v, false, false /*empty*/, ""); + unsigned long long v = get_int64(i.c_str()); + return index(v, 1, v, false, false /*empty*/, ""); } -D4ConstraintEvaluator::index -D4ConstraintEvaluator::make_index(const std::string &i, const std::string &s, const std::string &e) +D4ConstraintEvaluator::index D4ConstraintEvaluator::make_index(const std::string &i, const std::string &s, + const std::string &e) { - return index(get_int64(i.c_str()), get_int64(s.c_str()), get_int64(e.c_str()), false, false /*empty*/, ""); + return index(get_int64(i.c_str()), get_int64(s.c_str()), get_int64(e.c_str()), false, false /*empty*/, ""); } -D4ConstraintEvaluator::index -D4ConstraintEvaluator::make_index(const std::string &i, unsigned long long s, const std::string &e) +D4ConstraintEvaluator::index D4ConstraintEvaluator::make_index(const std::string &i, unsigned long long s, + const std::string &e) { - return index(get_int64(i.c_str()), s, get_int64(e.c_str()), false, false /*empty*/, ""); + return index(get_int64(i.c_str()), s, get_int64(e.c_str()), false, false /*empty*/, ""); } -D4ConstraintEvaluator::index -D4ConstraintEvaluator::make_index(const std::string &i, const std::string &s) +D4ConstraintEvaluator::index D4ConstraintEvaluator::make_index(const std::string &i, const std::string &s) { - return index(get_int64(i.c_str()), get_int64(s.c_str()), 0, true, false /*empty*/, ""); + return index(get_int64(i.c_str()), get_int64(s.c_str()), 0, true, false /*empty*/, ""); } -D4ConstraintEvaluator::index -D4ConstraintEvaluator::make_index(const std::string &i, unsigned long long s) +D4ConstraintEvaluator::index D4ConstraintEvaluator::make_index(const std::string &i, unsigned long long s) { return index(get_uint64(i.c_str()), s, 0, true, false /*empty*/, ""); } -static string -expr_msg(const std::string &op, const std::string &arg1, const std::string &arg2) +static string expr_msg(const std::string &op, const std::string &arg1, const std::string &arg2) { return "(" + arg1 + " " + op + " " + arg2 + ")."; } @@ -335,8 +333,7 @@ * MASK "@=" * ND "ND" */ -static D4FilterClause::ops -get_op_code(const std::string &op) +static D4FilterClause::ops get_op_code(const std::string &op) { DBGN(cerr << "Entering " << __PRETTY_FUNCTION__ << endl << "op: " << op << endl); @@ -379,10 +376,9 @@ * @param arg2 The second argument; a D4Sequence variable or a constant. * @param op The infix relop */ -void -D4ConstraintEvaluator::add_filter_clause(const std::string &op, const std::string &arg1, const std::string &arg2) +void D4ConstraintEvaluator::add_filter_clause(const std::string &op, const std::string &arg1, const std::string &arg2) { - DBG(cerr << "Entering: " << __PRETTY_FUNCTION__ << endl); + DBG(cerr << "Entering: " << __PRETTY_FUNCTION__ << endl); // Check that there really is a D4Sequence associated with this filter clause. D4Sequence *s = dynamic_cast(top_basetype()); @@ -402,7 +398,8 @@ "One of the arguments in a filter expression must be a constant: " + expr_msg(op, arg1, arg2)); if (!(a1 || a2)) throw Error(malformed_expr, - "One of the arguments in a filter expression must be a variable in a Sequence: " + expr_msg(op, arg1, arg2)); + "One of the arguments in a filter expression must be a variable in a Sequence: " + + expr_msg(op, arg1, arg2)); // Now we know a1 XOR a2 is true if (a1) { @@ -433,12 +430,11 @@ // This method is called from the parser (see d4_ce_parser.yy, down in the code // section). This will be called during the call to D4CEParser::parse(), that // is inside D4ConstraintEvaluator::parse(...) -void -D4ConstraintEvaluator::error(const libdap::location &l, const std::string &m) +void D4ConstraintEvaluator::error(const libdap::location &l, const std::string &m) { - ostringstream oss; - oss << l << ": " << m << ends; - throw Error(malformed_expr, oss.str()); + ostringstream oss; + oss << l << ": " << m << ends; + throw Error(malformed_expr, oss.str()); } } /* namespace libdap */ diff -Nru libdap-3.19.1/d4_ce/location.hh libdap-3.20.5/d4_ce/location.hh --- libdap-3.19.1/d4_ce/location.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/location.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,8 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. // Locations for Bison parsers in C++ -// Copyright (C) 2002-2015 Free Software Foundation, Inc. +// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -38,12 +38,145 @@ #ifndef YY_YY_LOCATION_HH_INCLUDED # define YY_YY_LOCATION_HH_INCLUDED -# include "position.hh" +# include // std::max +# include +# include + +# ifndef YY_NULLPTR +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# else +# define YY_NULLPTR ((void*)0) +# endif +# endif -#line 35 "d4_ce_parser.yy" // location.cc:337 +#line 35 "d4_ce_parser.yy" // location.cc:360 namespace libdap { -#line 46 "location.hh" // location.cc:337 - /// Abstract a location. +#line 60 "location.hh" // location.cc:360 + /// A point in a source file. + class position + { + public: + /// Construct a position. + explicit position (std::string* f = YY_NULLPTR, + unsigned l = 1u, + unsigned c = 1u) + : filename (f) + , line (l) + , column (c) + {} + + + /// Initialization. + void initialize (std::string* fn = YY_NULLPTR, + unsigned l = 1u, + unsigned c = 1u) + { + filename = fn; + line = l; + column = c; + } + + /** \name Line and Column related manipulators + ** \{ */ + /// (line related) Advance to the COUNT next lines. + void lines (int count = 1) + { + if (count) + { + column = 1u; + line = add_ (line, count, 1); + } + } + + /// (column related) Advance to the COUNT next columns. + void columns (int count = 1) + { + column = add_ (column, count, 1); + } + /** \} */ + + /// File name to which this position refers. + std::string* filename; + /// Current line number. + unsigned line; + /// Current column number. + unsigned column; + + private: + /// Compute max (min, lhs+rhs). + static unsigned add_ (unsigned lhs, int rhs, int min) + { + return static_cast (std::max (min, + static_cast (lhs) + rhs)); + } + }; + + /// Add \a width columns, in place. + inline position& + operator+= (position& res, int width) + { + res.columns (width); + return res; + } + + /// Add \a width columns. + inline position + operator+ (position res, int width) + { + return res += width; + } + + /// Subtract \a width columns, in place. + inline position& + operator-= (position& res, int width) + { + return res += -width; + } + + /// Subtract \a width columns. + inline position + operator- (position res, int width) + { + return res -= width; + } + + /// Compare two position objects. + inline bool + operator== (const position& pos1, const position& pos2) + { + return (pos1.line == pos2.line + && pos1.column == pos2.column + && (pos1.filename == pos2.filename + || (pos1.filename && pos2.filename + && *pos1.filename == *pos2.filename))); + } + + /// Compare two position objects. + inline bool + operator!= (const position& pos1, const position& pos2) + { + return !(pos1 == pos2); + } + + /** \brief Intercept output stream redirection. + ** \param ostr the destination output stream + ** \param pos a reference to the position to redirect + */ + template + std::basic_ostream& + operator<< (std::basic_ostream& ostr, const position& pos) + { + if (pos.filename) + ostr << *pos.filename << ':'; + return ostr << pos.line << '.' << pos.column; + } + + /// Two points in a source file. class location { public: @@ -52,30 +185,27 @@ location (const position& b, const position& e) : begin (b) , end (e) - { - } + {} /// Construct a 0-width location in \a p. explicit location (const position& p = position ()) : begin (p) , end (p) - { - } + {} /// Construct a 0-width location in \a f, \a l, \a c. explicit location (std::string* f, - unsigned int l = 1u, - unsigned int c = 1u) + unsigned l = 1u, + unsigned c = 1u) : begin (f, l, c) , end (f, l, c) - { - } + {} /// Initialization. void initialize (std::string* f = YY_NULLPTR, - unsigned int l = 1u, - unsigned int c = 1u) + unsigned l = 1u, + unsigned c = 1u) { begin.initialize (f, l, c); end = begin; @@ -170,10 +300,10 @@ ** Avoid duplicate information. */ template - inline std::basic_ostream& + std::basic_ostream& operator<< (std::basic_ostream& ostr, const location& loc) { - unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0; + unsigned end_col = 0 < loc.end.column ? loc.end.column - 1 : 0; ostr << loc.begin; if (loc.end.filename && (!loc.begin.filename @@ -186,7 +316,7 @@ return ostr; } -#line 35 "d4_ce_parser.yy" // location.cc:337 +#line 35 "d4_ce_parser.yy" // location.cc:360 } // libdap -#line 192 "location.hh" // location.cc:337 +#line 322 "location.hh" // location.cc:360 #endif // !YY_YY_LOCATION_HH_INCLUDED diff -Nru libdap-3.19.1/d4_ce/Makefile.am libdap-3.20.5/d4_ce/Makefile.am --- libdap-3.19.1/d4_ce/Makefile.am 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/Makefile.am 2020-02-17 07:35:45.000000000 +0000 @@ -7,7 +7,7 @@ .NOTPARALLEL: # Arrange to build with the backward compatibility mode enabled. -AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/d4_ce -I$(srcdir) $(XML2_CFLAGS) +AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/d4_ce -I$(srcdir) $(XML2_CFLAGS) $(TIRPC_CFLAGS) AM_CXXFLAGS = if COMPILER_IS_GCC @@ -28,8 +28,21 @@ CXXFLAGS_DEBUG = -g3 -O0 -Wall -W -Wcast-align TEST_COV_FLAGS = -ftest-coverage -fprofile-arcs +if USE_ASAN +ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer +endif + +# See note in d4_function about CXX11_FLAG. jhrg 4/5/19 if BUILD_DEVELOPER -AM_CXXFLAGS += $(CXXFLAGS_DEBUG) +AM_CXXFLAGS += $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +else +AM_CXXFLAGS += -g -O2 +endif + +AM_LDFLAGS = +if ENABLE_COVERAGE +AM_CXXFLAGS += -fprofile-arcs -ftest-coverage -pg +AM_LDFLAGS += -lgcov --coverage -pg endif noinst_LTLIBRARIES = libd4_ce_parser.la @@ -44,7 +57,7 @@ d4_ce_parser.tab.hh stack.hh location.hh position.hh \ D4ConstraintEvaluator.cc D4ConstraintEvaluator.h D4CEScanner.h -libd4_ce_parser_la_CXXFLAGS=$(AM_CPPFLAGS) +libd4_ce_parser_la_CXXFLAGS = $(AM_CPPFLAGS) $(AM_CXXFLAGS) EXTRA_DIST = d4_ce_parser.yy d4_ce_scanner.ll diff -Nru libdap-3.19.1/d4_ce/Makefile.in libdap-3.20.5/d4_ce/Makefile.in --- libdap-3.19.1/d4_ce/Makefile.in 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/Makefile.in 2020-02-17 07:35:45.000000000 +0000 @@ -79,7 +79,12 @@ build_triplet = @build@ host_triplet = @host@ @COMPILER_IS_GCC_TRUE@am__append_1 = -Wall -W -Wcast-align -@BUILD_DEVELOPER_TRUE@am__append_2 = $(CXXFLAGS_DEBUG) + +# See note in d4_function about CXX11_FLAG. jhrg 4/5/19 +@BUILD_DEVELOPER_TRUE@am__append_2 = $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +@BUILD_DEVELOPER_FALSE@am__append_3 = -g -O2 +@ENABLE_COVERAGE_TRUE@am__append_4 = -fprofile-arcs -ftest-coverage -pg +@ENABLE_COVERAGE_TRUE@am__append_5 = -lgcov --coverage -pg subdir = d4_ce DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/conf/depcomp $(pkginclude_HEADERS) @@ -138,6 +143,7 @@ $(top_srcdir)/gl/m4/wcrtomb.m4 $(top_srcdir)/gl/m4/wctype_h.m4 \ $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/conf/acinclude.m4 \ $(top_srcdir)/conf/cppunit.m4 \ + $(top_srcdir)/conf/cxx_flags_check.m4 \ $(top_srcdir)/conf/gcov_valgrind.m4 \ $(top_srcdir)/conf/libtool.m4 $(top_srcdir)/conf/ltoptions.m4 \ $(top_srcdir)/conf/ltsugar.m4 $(top_srcdir)/conf/ltversion.m4 \ @@ -304,14 +310,17 @@ CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@ CPPUNIT_CONFIG = @CPPUNIT_CONFIG@ CPPUNIT_LIBS = @CPPUNIT_LIBS@ +CRYPTO_LIBS = @CRYPTO_LIBS@ CURL_CFLAGS = @CURL_CFLAGS@ CURL_LIBS = @CURL_LIBS@ CURL_STATIC_LIBS = @CURL_STATIC_LIBS@ CXX = @CXX@ +CXX11_FLAG = @CXX11_FLAG@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DAP3_2_DDX = @DAP3_2_DDX@ DAPLIB_AGE = @DAPLIB_AGE@ DAPLIB_CURRENT = @DAPLIB_CURRENT@ DAPLIB_REVISION = @DAPLIB_REVISION@ @@ -622,7 +631,6 @@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VALGRIND = @HAVE_VALGRIND@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ @@ -864,6 +872,8 @@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIRPC_CFLAGS = @TIRPC_CFLAGS@ +TIRPC_LIBS = @TIRPC_LIBS@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -946,8 +956,9 @@ AUTOMAKE_OPTIONS = foreign # Arrange to build with the backward compatibility mode enabled. -AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/d4_ce -I$(srcdir) $(XML2_CFLAGS) -AM_CXXFLAGS = $(am__append_1) $(am__append_2) +AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/d4_ce -I$(srcdir) $(XML2_CFLAGS) $(TIRPC_CFLAGS) +AM_CXXFLAGS = $(am__append_1) $(am__append_2) $(am__append_3) \ + $(am__append_4) # autoconf/automake includes support for yacc and lex so that the input # files for those compilers can be listed in a _SOURCES variable and the @@ -961,6 +972,8 @@ # AM_LFLAGS = -d CXXFLAGS_DEBUG = -g3 -O0 -Wall -W -Wcast-align TEST_COV_FLAGS = -ftest-coverage -fprofile-arcs +@USE_ASAN_TRUE@ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer +AM_LDFLAGS = $(am__append_5) noinst_LTLIBRARIES = libd4_ce_parser.la pkginclude_HEADERS = D4ConstraintEvaluator.h @@ -973,7 +986,7 @@ d4_ce_parser.tab.hh stack.hh location.hh position.hh \ D4ConstraintEvaluator.cc D4ConstraintEvaluator.h D4CEScanner.h -libd4_ce_parser_la_CXXFLAGS = $(AM_CPPFLAGS) +libd4_ce_parser_la_CXXFLAGS = $(AM_CPPFLAGS) $(AM_CXXFLAGS) EXTRA_DIST = d4_ce_parser.yy d4_ce_scanner.ll DISTCLEANFILES = all: $(BUILT_SOURCES) diff -Nru libdap-3.19.1/d4_ce/position.hh libdap-3.20.5/d4_ce/position.hh --- libdap-3.19.1/d4_ce/position.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/position.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,180 +1,11 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. -// Positions for Bison parsers in C++ +// Starting with Bison 3.2, this file is useless: the structure it +// used to define is now defined in "location.hh". +// +// To get rid of this file: +// 1. add 'require "3.2"' (or newer) to your grammar file +// 2. remove references to this file from your build system +// 3. if you used to include it, include "location.hh" instead. -// Copyright (C) 2002-2015 Free Software Foundation, Inc. - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -// As a special exception, you may create a larger work that contains -// part or all of the Bison parser skeleton and distribute that work -// under terms of your choice, so long as that work isn't itself a -// parser generator using the skeleton or a modified version thereof -// as a parser skeleton. Alternatively, if you modify or redistribute -// the parser skeleton itself, you may (at your option) remove this -// special exception, which will cause the skeleton and the resulting -// Bison output files to be licensed under the GNU General Public -// License without this special exception. - -// This special exception was added by the Free Software Foundation in -// version 2.2 of Bison. - -/** - ** \file position.hh - ** Define the libdap::position class. - */ - -#ifndef YY_YY_POSITION_HH_INCLUDED -# define YY_YY_POSITION_HH_INCLUDED - -# include // std::max -# include -# include - -# ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr -# else -# define YY_NULLPTR 0 -# endif -# endif - -#line 35 "d4_ce_parser.yy" // location.cc:337 -namespace libdap { -#line 56 "position.hh" // location.cc:337 - /// Abstract a position. - class position - { - public: - /// Construct a position. - explicit position (std::string* f = YY_NULLPTR, - unsigned int l = 1u, - unsigned int c = 1u) - : filename (f) - , line (l) - , column (c) - { - } - - - /// Initialization. - void initialize (std::string* fn = YY_NULLPTR, - unsigned int l = 1u, - unsigned int c = 1u) - { - filename = fn; - line = l; - column = c; - } - - /** \name Line and Column related manipulators - ** \{ */ - /// (line related) Advance to the COUNT next lines. - void lines (int count = 1) - { - if (count) - { - column = 1u; - line = add_ (line, count, 1); - } - } - - /// (column related) Advance to the COUNT next columns. - void columns (int count = 1) - { - column = add_ (column, count, 1); - } - /** \} */ - - /// File name to which this position refers. - std::string* filename; - /// Current line number. - unsigned int line; - /// Current column number. - unsigned int column; - - private: - /// Compute max(min, lhs+rhs) (provided min <= lhs). - static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min) - { - return (0 < rhs || -static_cast(rhs) < lhs - ? rhs + lhs - : min); - } - }; - - /// Add \a width columns, in place. - inline position& - operator+= (position& res, int width) - { - res.columns (width); - return res; - } - - /// Add \a width columns. - inline position - operator+ (position res, int width) - { - return res += width; - } - - /// Subtract \a width columns, in place. - inline position& - operator-= (position& res, int width) - { - return res += -width; - } - - /// Subtract \a width columns. - inline position - operator- (position res, int width) - { - return res -= width; - } - - /// Compare two position objects. - inline bool - operator== (const position& pos1, const position& pos2) - { - return (pos1.line == pos2.line - && pos1.column == pos2.column - && (pos1.filename == pos2.filename - || (pos1.filename && pos2.filename - && *pos1.filename == *pos2.filename))); - } - - /// Compare two position objects. - inline bool - operator!= (const position& pos1, const position& pos2) - { - return !(pos1 == pos2); - } - - /** \brief Intercept output stream redirection. - ** \param ostr the destination output stream - ** \param pos a reference to the position to redirect - */ - template - inline std::basic_ostream& - operator<< (std::basic_ostream& ostr, const position& pos) - { - if (pos.filename) - ostr << *pos.filename << ':'; - return ostr << pos.line << '.' << pos.column; - } - -#line 35 "d4_ce_parser.yy" // location.cc:337 -} // libdap -#line 180 "position.hh" // location.cc:337 -#endif // !YY_YY_POSITION_HH_INCLUDED +#include "location.hh" diff -Nru libdap-3.19.1/d4_ce/stack.hh libdap-3.20.5/d4_ce/stack.hh --- libdap-3.19.1/d4_ce/stack.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_ce/stack.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,157 +1,8 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. -// Stack handling for Bison parsers in C++ - -// Copyright (C) 2002-2015 Free Software Foundation, Inc. - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -// As a special exception, you may create a larger work that contains -// part or all of the Bison parser skeleton and distribute that work -// under terms of your choice, so long as that work isn't itself a -// parser generator using the skeleton or a modified version thereof -// as a parser skeleton. Alternatively, if you modify or redistribute -// the parser skeleton itself, you may (at your option) remove this -// special exception, which will cause the skeleton and the resulting -// Bison output files to be licensed under the GNU General Public -// License without this special exception. - -// This special exception was added by the Free Software Foundation in -// version 2.2 of Bison. - -/** - ** \file stack.hh - ** Define the libdap::stack class. - */ - -#ifndef YY_YY_STACK_HH_INCLUDED -# define YY_YY_STACK_HH_INCLUDED - -# include - -#line 35 "d4_ce_parser.yy" // stack.hh:151 -namespace libdap { -#line 46 "stack.hh" // stack.hh:151 - template > - class stack - { - public: - // Hide our reversed order. - typedef typename S::reverse_iterator iterator; - typedef typename S::const_reverse_iterator const_iterator; - - stack () - : seq_ () - { - seq_.reserve (200); - } - - stack (unsigned int n) - : seq_ (n) - {} - - inline - T& - operator[] (unsigned int i) - { - return seq_[seq_.size () - 1 - i]; - } - - inline - const T& - operator[] (unsigned int i) const - { - return seq_[seq_.size () - 1 - i]; - } - - /// Steal the contents of \a t. - /// - /// Close to move-semantics. - inline - void - push (T& t) - { - seq_.push_back (T()); - operator[](0).move (t); - } - - inline - void - pop (unsigned int n = 1) - { - for (; n; --n) - seq_.pop_back (); - } - - void - clear () - { - seq_.clear (); - } - - inline - typename S::size_type - size () const - { - return seq_.size (); - } - - inline - const_iterator - begin () const - { - return seq_.rbegin (); - } - - inline - const_iterator - end () const - { - return seq_.rend (); - } - - private: - stack (const stack&); - stack& operator= (const stack&); - /// The wrapped container. - S seq_; - }; - - /// Present a slice of the top of a stack. - template > - class slice - { - public: - slice (const S& stack, unsigned int range) - : stack_ (stack) - , range_ (range) - {} - - inline - const T& - operator [] (unsigned int i) const - { - return stack_[range_ - i]; - } - - private: - const S& stack_; - unsigned int range_; - }; - -#line 35 "d4_ce_parser.yy" // stack.hh:151 -} // libdap -#line 156 "stack.hh" // stack.hh:151 - -#endif // !YY_YY_STACK_HH_INCLUDED +// Starting with Bison 3.2, this file is useless: the structure it +// used to define is now defined with the parser itself. +// +// To get rid of this file: +// 1. add 'require "3.2"' (or newer) to your grammar file +// 2. remove references to this file from your build system. diff -Nru libdap-3.19.1/D4Connect.cc libdap-3.20.5/D4Connect.cc --- libdap-3.19.1/D4Connect.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4Connect.cc 2020-02-17 07:35:45.000000000 +0000 @@ -365,7 +365,6 @@ // We should never get here; a web error should be picked up read_url // (called by fetch_url) and result in a thrown Error object. throw InternalErr(__FILE__, __LINE__, "Web error found where it should never be."); - break; default: throw InternalErr(__FILE__, __LINE__, @@ -446,7 +445,6 @@ // We should never get here; a web error should be picked up read_url // (called by fetch_url) and result in a thrown Error object. throw InternalErr(__FILE__, __LINE__, "Web error found where it should never be."); - break; default: throw InternalErr(__FILE__, __LINE__, diff -Nru libdap-3.19.1/D4Enum.cc libdap-3.20.5/D4Enum.cc --- libdap-3.19.1/D4Enum.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4Enum.cc 2020-02-17 07:35:45.000000000 +0000 @@ -58,6 +58,7 @@ #include "dods-limits.h" #include "util.h" #include "debug.h" +#include "DapIndent.h" using std::cerr; using std::endl; @@ -72,146 +73,139 @@ d_enum_def = src.d_enum_def; #if 0 // The enum_def is a weak pointer managed by D4Group. We just copy it - // and do not delete it. jhrg 1019/15 + // and do not delete it. jhrg 10/19/15 d_enum_def = src.d_enum_def == 0 ? 0 : new D4EnumDef(*(src.d_enum_def)); #endif d_is_signed = src.d_is_signed; } - /** + * @brief Convert an Enum to a DAP2 int type * + * Build a DAP2 integer type that matches the D4Enum's internal type and then + * add an attribute table to that new variable that holds the D4Enum's symbolic + * name and value mapping. * - * - * - * - * + * @param attr AttrTable pointer, ignored by this method. */ -std::vector * -D4Enum::transform_to_dap2(AttrTable *){ - BaseType *my_pretty_pony; +vector * +D4Enum::transform_to_dap2(AttrTable *) +{ + BaseType *btp; DBG(cerr << __func__ << "() - BEGIN" << endl;); - switch (d_element_type) { case dods_byte_c: case dods_int8_c: - case dods_uint8_c: - { + case dods_uint8_c: { Byte *var = new Byte(name()); dods_byte val; this->value(&val); var->set_value(val); - my_pretty_pony = var; + btp = var; break; } - case dods_uint16_c: - { + case dods_uint16_c: { UInt16 *var = new UInt16(name()); dods_uint16 val; this->value(&val); var->set_value(val); - my_pretty_pony = var; + btp = var; break; } - case dods_uint32_c: - { + case dods_uint32_c: { UInt32 *var = new UInt32(name()); dods_uint32 val; this->value(&val); var->set_value(val); - my_pretty_pony = var; + btp = var; break; } - case dods_uint64_c: - { + case dods_uint64_c: { UInt64 *var = new UInt64(name()); dods_uint64 val; this->value(&val); var->set_value(val); - my_pretty_pony = var; + btp = var; break; } - case dods_int16_c: - { + case dods_int16_c: { Int16 *var = new Int16(name()); dods_int16 val; this->value(&val); var->set_value(val); - my_pretty_pony = var; + btp = var; break; } - case dods_int32_c: - { + case dods_int32_c: { Int32 *var = new Int32(name()); dods_int32 val; this->value(&val); var->set_value(val); - my_pretty_pony = var; + btp = var; break; } - case dods_int64_c: - { + case dods_int64_c: { Int64 *var = new Int64(name()); dods_int64 val; this->value(&val); var->set_value(val); - my_pretty_pony = var; + btp = var; break; } - default: - { + default: { ostringstream oss; - oss << __func__ << "() - ERROR! Unknown D4Enum type:"<< d_element_type << " name: " << name() << endl; - throw InternalErr(__FILE__,__LINE__,oss.str()); - break; + oss << "Unknown D4Enum type:" << d_element_type << ", name: " << name() << endl; + throw InternalErr(__FILE__, __LINE__, oss.str()); } } DBG( cerr << __func__ << "() - Processing Enum type:"<< - my_pretty_pony->type_name() << " name: " << my_pretty_pony->name() << endl;); - /** - * Grab the attributes! - */ - AttrTable d2_attrs = *(this->attributes()->get_AttrTable(name())); - my_pretty_pony->set_attr_table(d2_attrs); + btp->type_name() << " name: " << btp->name() << endl;); - // cerr << "D4Enum::transform_to_dap2() - my_pretty_pony attrs: "<< endl; - // my_pretty_pony->get_attr_table().print(cerr); + // Grab the attributes! +#if 0 + AttrTable d2_attrs = *(this->attributes()->get_AttrTable(name())); + btp->set_attr_table(d2_attrs); +#else + if (btp->get_attr_table().get_size() == 0) { + attributes()->transform_attrs_to_dap2(&btp->get_attr_table()); + btp->get_attr_table().set_name(name()); + } +#endif - /** - * Now we make the Enum label, and the enum's definition - * into DAP2 attributes for our returned item. - */ + // make the Enum label, and the enum's definition into DAP2 attributes for our returned item. long long my_value; this->value(&my_value); + DBG(cerr << __func__ << "() - value: "<< my_value << endl;); - string my_label=""; + string my_label = ""; AttrTable *enum_def = new AttrTable(); enum_def->set_name("d4:enum_def"); D4EnumDef::D4EnumValueIter dIter = d_enum_def->value_begin(); D4EnumDef::D4EnumValueIter dEnd = d_enum_def->value_end(); - while( dIter!=dEnd){ - long long a_value = (*dIter).value; - string a_label = (*dIter).label; + while (dIter != dEnd) { + long long a_value = (*dIter).value; + string a_label = (*dIter).label; ostringstream oss; oss << a_value; DBG(cerr << __func__ << "() - a_value: "<< a_value << endl;); - enum_def->append_attr(a_label,my_pretty_pony->type_name(),oss.str()); - if(a_value == my_value){ + enum_def->append_attr(a_label, btp->type_name(), oss.str()); + if (a_value == my_value) { my_label = (*dIter).label; } dIter++; } - if(!my_label.empty()) - my_pretty_pony->get_attr_table().append_attr("d4:enum_label","String",my_label); - my_pretty_pony->get_attr_table().append_container(enum_def,enum_def->get_name()); + + if (!my_label.empty()) btp->get_attr_table().append_attr("d4:enum_label", "String", my_label); + + btp->get_attr_table().append_container(enum_def, enum_def->get_name()); vector *result = new vector(); - result->push_back(my_pretty_pony); + result->push_back(btp); DBG(cerr << __func__ << "() - END" << endl;); return result; } @@ -245,7 +239,7 @@ // If 'v' can never be bigger than ULLONG_MAX break; - case dods_int8_c: + case dods_int8_c: if (v > DODS_SCHAR_MAX || v < DODS_SCHAR_MIN) { ostringstream oss; oss << "The value " << v << " will not fit in an unsigned byte. (" << __func__ << ")"; @@ -380,12 +374,15 @@ break; default: - assert(!"illegal type for D4Enum"); +#if 0 + // I removed this because it hinders testing and is no better + // than throwing an exception. jhrg 3/29/18 + assert(!"illegal type for D4Enum"); +#endif throw InternalErr(__FILE__, __LINE__, "Illegal type"); } } - /** * @brief Serialize a D4Enum * Use the (integer) data type associated with an Enumeration definition to @@ -684,8 +681,6 @@ default: return false; } - - return false; } /** @brief dumps information about this object diff -Nru libdap-3.19.1/d4_function/D4FunctionEvaluator.cc libdap-3.20.5/d4_function/D4FunctionEvaluator.cc --- libdap-3.19.1/d4_function/D4FunctionEvaluator.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/D4FunctionEvaluator.cc 2020-02-17 07:35:45.000000000 +0000 @@ -28,6 +28,8 @@ #include #include #include +#include +#include //#define DODS_DEBUG @@ -145,14 +147,18 @@ // for its dimensions in 'dataset' (by name) and add a pointer to those to the // set. Then copy all the stuff in the set into the root group of 'function_ // result.' - set dim_set; + list dim_set; for (Constructor::Vars_iter i = root->var_begin(), ie = root->var_end(); i != ie; ++i) { if ((*i)->is_vector_type()) { Array *a = static_cast(*i); for (Array::Dim_iter d = a->dim_begin(), de = a->dim_end(); d != de; ++d) { - if (a->dimension_D4dim(d)) { - dim_set.insert(a->dimension_D4dim(d)); + // Only add Dimensions that are not already present; share dims are not repeated. jhrg 2/7/18 + D4Dimension *d4_dim = a->dimension_D4dim(d); + if (d4_dim) { + bool found = (std::find(dim_set.begin(), dim_set.end(), d4_dim) != dim_set.end()); + if (!found) + dim_set.push_back(a->dimension_D4dim(d)); } } } @@ -161,19 +167,19 @@ // Copy the D4Dimensions and EnumDefs because this all goes in a new DMR - we don't // want to share those across DMRs because the DMRs delete those (so sharing htem // across DMRs would lead to dangling pointers. - for (set::iterator i = dim_set.begin(), e = dim_set.end(); i != e; ++i) { + for (list::iterator i = dim_set.begin(), e = dim_set.end(); i != e; ++i) { root->dims()->add_dim(*i); } // Now lets do the enumerations.... - set enum_def_set; + list enum_def_set; for (Constructor::Vars_iter i = root->var_begin(), ie = root->var_end(); i != ie; ++i) { if ((*i)->type() == dods_enum_c) { - enum_def_set.insert(static_cast(*i)->enumeration()); + enum_def_set.push_back(static_cast(*i)->enumeration()); } } - for (set::iterator i = enum_def_set.begin(), e = enum_def_set.end(); i != e; ++i) { + for (list::iterator i = enum_def_set.begin(), e = enum_def_set.end(); i != e; ++i) { root->enum_defs()->add_enum(*i); } } diff -Nru libdap-3.19.1/d4_function/d4_function_parser.tab.cc libdap-3.20.5/d4_function/d4_function_parser.tab.cc --- libdap-3.19.1/d4_function/d4_function_parser.tab.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/d4_function_parser.tab.cc 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,8 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. // Skeleton implementation for Bison LALR(1) parsers in C++ -// Copyright (C) 2002-2015 Free Software Foundation, Inc. +// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -30,26 +30,18 @@ // This special exception was added by the Free Software Foundation in // version 2.2 of Bison. +// Undocumented macros, especially those whose name start with YY_, +// are private implementation details. Do not rely on them. + -// First part of user declarations. -#line 37 "d4_function_parser.tab.cc" // lalr1.cc:404 -# ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr -# else -# define YY_NULLPTR 0 -# endif -# endif #include "d4_function_parser.tab.hh" -// User implementation prologue. -#line 51 "d4_function_parser.tab.cc" // lalr1.cc:412 // Unqualified %code blocks. -#line 77 "d4_function_parser.yy" // lalr1.cc:413 +#line 79 "d4_function_parser.yy" // lalr1.cc:435 #include "BaseType.h" #include "DMR.h" @@ -69,7 +61,7 @@ libdap::D4FunctionScanner &scanner, libdap::D4FunctionEvaluator &evaluator); -#line 73 "d4_function_parser.tab.cc" // lalr1.cc:413 +#line 65 "d4_function_parser.tab.cc" // lalr1.cc:435 #ifndef YY_ @@ -84,6 +76,15 @@ # endif #endif +// Whether we are compiled with exception support. +#ifndef YY_EXCEPTIONS +# if defined __GNUC__ && !defined __EXCEPTIONS +# define YY_EXCEPTIONS 0 +# else +# define YY_EXCEPTIONS 1 +# endif +#endif + #define YYRHSLOC(Rhs, K) ((Rhs)[K].location) /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends @@ -101,7 +102,7 @@ { \ (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \ } \ - while (/*CONSTCOND*/ false) + while (false) # endif @@ -120,7 +121,7 @@ { \ *yycdebug_ << Title << ' '; \ yy_print_ (*yycdebug_, Symbol); \ - *yycdebug_ << std::endl; \ + *yycdebug_ << '\n'; \ } \ } while (false) @@ -139,9 +140,9 @@ #else // !YYDEBUG # define YYCDEBUG if (false) std::cerr -# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol) -# define YY_REDUCE_PRINT(Rule) static_cast(0) -# define YY_STACK_PRINT() static_cast(0) +# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol) +# define YY_REDUCE_PRINT(Rule) static_cast (0) +# define YY_STACK_PRINT() static_cast (0) #endif // !YYDEBUG @@ -153,9 +154,9 @@ #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus_) -#line 34 "d4_function_parser.yy" // lalr1.cc:479 +#line 34 "d4_function_parser.yy" // lalr1.cc:510 namespace libdap { -#line 159 "d4_function_parser.tab.cc" // lalr1.cc:479 +#line 160 "d4_function_parser.tab.cc" // lalr1.cc:510 /* Return YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is @@ -167,7 +168,7 @@ { if (*yystr == '"') { - std::string yyr = ""; + std::string yyr; char const *yyp = yystr; for (;;) @@ -180,7 +181,10 @@ case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; - // Fall through. + else + goto append; + + append: default: yyr += *yyp; break; @@ -209,36 +213,26 @@ D4FunctionParser::~D4FunctionParser () {} + D4FunctionParser::syntax_error::~syntax_error () YY_NOEXCEPT YY_NOTHROW + {} /*---------------. | Symbol types. | `---------------*/ - inline - D4FunctionParser::syntax_error::syntax_error (const location_type& l, const std::string& m) - : std::runtime_error (m) - , location (l) - {} - // basic_symbol. +#if 201103L <= YY_CPLUSPLUS template - inline - D4FunctionParser::basic_symbol::basic_symbol () - : value () - {} - - template - inline - D4FunctionParser::basic_symbol::basic_symbol (const basic_symbol& other) - : Base (other) + D4FunctionParser::basic_symbol::basic_symbol (basic_symbol&& that) + : Base (std::move (that)) , value () - , location (other.location) + , location (std::move (that.location)) { - switch (other.type_get ()) + switch (this->type_get ()) { case 7: // "function name" case 44: // fname - value.copy< D4Function > (other.value); + value.move< D4Function > (std::move (that.value)); break; case 5: // "argument" @@ -249,14 +243,14 @@ case 46: // arg case 47: // variable_or_constant case 48: // array_constant - value.copy< D4RValue* > (other.value); + value.move< D4RValue* > (std::move (that.value)); break; case 3: // "functions" case 4: // "arguments" case 42: // functions case 45: // args - value.copy< D4RValueList* > (other.value); + value.move< D4RValueList* > (std::move (that.value)); break; case 20: // "word" @@ -265,57 +259,57 @@ case 61: // group case 62: // path case 63: // name - value.copy< std::string > (other.value); + value.move< std::string > (std::move (that.value)); break; case 10: // "fast byte arg list" case 50: // fast_byte_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 18: // "fast float32 arg list" case 58: // fast_float32_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 19: // "fast float64 arg list" case 59: // fast_float64_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 13: // "fast int16 arg list" case 53: // fast_int16_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 15: // "fast int32 arg list" case 55: // fast_int32_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 17: // "fast int64 arg list" case 57: // fast_int64_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 11: // "fast int8 arg list" case 51: // fast_int8_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 12: // "fast uint16 arg list" case 52: // fast_uint16_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 14: // "fast uint32 arg list" case 54: // fast_uint32_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; case 16: // "fast uint64 arg list" case 56: // fast_uint64_arg_list - value.copy< std::vector* > (other.value); + value.move< std::vector* > (std::move (that.value)); break; default: @@ -323,21 +317,19 @@ } } - +#endif template - inline - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const semantic_type& v, const location_type& l) - : Base (t) + D4FunctionParser::basic_symbol::basic_symbol (const basic_symbol& that) + : Base (that) , value () - , location (l) + , location (that.location) { - (void) v; - switch (this->type_get ()) + switch (this->type_get ()) { case 7: // "function name" case 44: // fname - value.copy< D4Function > (v); + value.copy< D4Function > (YY_MOVE (that.value)); break; case 5: // "argument" @@ -348,14 +340,14 @@ case 46: // arg case 47: // variable_or_constant case 48: // array_constant - value.copy< D4RValue* > (v); + value.copy< D4RValue* > (YY_MOVE (that.value)); break; case 3: // "functions" case 4: // "arguments" case 42: // functions case 45: // args - value.copy< D4RValueList* > (v); + value.copy< D4RValueList* > (YY_MOVE (that.value)); break; case 20: // "word" @@ -364,201 +356,84 @@ case 61: // group case 62: // path case 63: // name - value.copy< std::string > (v); + value.copy< std::string > (YY_MOVE (that.value)); break; case 10: // "fast byte arg list" case 50: // fast_byte_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 18: // "fast float32 arg list" case 58: // fast_float32_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 19: // "fast float64 arg list" case 59: // fast_float64_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 13: // "fast int16 arg list" case 53: // fast_int16_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 15: // "fast int32 arg list" case 55: // fast_int32_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 17: // "fast int64 arg list" case 57: // fast_int64_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 11: // "fast int8 arg list" case 51: // fast_int8_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 12: // "fast uint16 arg list" case 52: // fast_uint16_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 14: // "fast uint32 arg list" case 54: // fast_uint32_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; case 16: // "fast uint64 arg list" case 56: // fast_uint64_arg_list - value.copy< std::vector* > (v); + value.copy< std::vector* > (YY_MOVE (that.value)); break; default: break; } -} - - - // Implementation of basic_symbol constructor for each type. - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const location_type& l) - : Base (t) - , value () - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const D4Function v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const D4RValue* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const D4RValueList* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} + } - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} template - D4FunctionParser::basic_symbol::basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l) - : Base (t) - , value (v) - , location (l) - {} - - - template - inline - D4FunctionParser::basic_symbol::~basic_symbol () + bool + D4FunctionParser::basic_symbol::empty () const YY_NOEXCEPT { - clear (); + return Base::type_get () == empty_symbol; } template - inline void - D4FunctionParser::basic_symbol::clear () + D4FunctionParser::basic_symbol::move (basic_symbol& s) { - // User destructor. - symbol_number_type yytype = this->type_get (); - basic_symbol& yysym = *this; - (void) yysym; - switch (yytype) - { - default: - break; - } - - // Type destructor. - switch (yytype) + super_type::move (s); + switch (this->type_get ()) { case 7: // "function name" case 44: // fname - value.template destroy< D4Function > (); + value.move< D4Function > (YY_MOVE (s.value)); break; case 5: // "argument" @@ -569,14 +444,14 @@ case 46: // arg case 47: // variable_or_constant case 48: // array_constant - value.template destroy< D4RValue* > (); + value.move< D4RValue* > (YY_MOVE (s.value)); break; case 3: // "functions" case 4: // "arguments" case 42: // functions case 45: // args - value.template destroy< D4RValueList* > (); + value.move< D4RValueList* > (YY_MOVE (s.value)); break; case 20: // "word" @@ -585,85 +460,153 @@ case 61: // group case 62: // path case 63: // name - value.template destroy< std::string > (); + value.move< std::string > (YY_MOVE (s.value)); break; case 10: // "fast byte arg list" case 50: // fast_byte_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 18: // "fast float32 arg list" case 58: // fast_float32_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 19: // "fast float64 arg list" case 59: // fast_float64_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 13: // "fast int16 arg list" case 53: // fast_int16_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 15: // "fast int32 arg list" case 55: // fast_int32_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 17: // "fast int64 arg list" case 57: // fast_int64_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 11: // "fast int8 arg list" case 51: // fast_int8_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 12: // "fast uint16 arg list" case 52: // fast_uint16_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 14: // "fast uint32 arg list" case 54: // fast_uint32_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; case 16: // "fast uint64 arg list" case 56: // fast_uint64_arg_list - value.template destroy< std::vector* > (); + value.move< std::vector* > (YY_MOVE (s.value)); break; default: break; } - Base::clear (); + location = YY_MOVE (s.location); } - template - inline - bool - D4FunctionParser::basic_symbol::empty () const + // by_type. + D4FunctionParser::by_type::by_type () + : type (empty_symbol) + {} + +#if 201103L <= YY_CPLUSPLUS + D4FunctionParser::by_type::by_type (by_type&& that) + : type (that.type) { - return Base::type_get () == empty_symbol; + that.clear (); } +#endif + + D4FunctionParser::by_type::by_type (const by_type& that) + : type (that.type) + {} + + D4FunctionParser::by_type::by_type (token_type t) + : type (yytranslate_ (t)) + {} - template - inline void - D4FunctionParser::basic_symbol::move (basic_symbol& s) + D4FunctionParser::by_type::clear () + { + type = empty_symbol; + } + + void + D4FunctionParser::by_type::move (by_type& that) + { + type = that.type; + that.clear (); + } + + int + D4FunctionParser::by_type::type_get () const YY_NOEXCEPT + { + return type; + } + + + // by_state. + D4FunctionParser::by_state::by_state () YY_NOEXCEPT + : state (empty_state) + {} + + D4FunctionParser::by_state::by_state (const by_state& that) YY_NOEXCEPT + : state (that.state) + {} + + void + D4FunctionParser::by_state::clear () YY_NOEXCEPT + { + state = empty_state; + } + + void + D4FunctionParser::by_state::move (by_state& that) + { + state = that.state; + that.clear (); + } + + D4FunctionParser::by_state::by_state (state_type s) YY_NOEXCEPT + : state (s) + {} + + D4FunctionParser::symbol_number_type + D4FunctionParser::by_state::type_get () const YY_NOEXCEPT { - super_type::move(s); - switch (this->type_get ()) + if (state == empty_state) + return empty_symbol; + else + return yystos_[state]; + } + + D4FunctionParser::stack_symbol_type::stack_symbol_type () + {} + + D4FunctionParser::stack_symbol_type::stack_symbol_type (YY_RVREF (stack_symbol_type) that) + : super_type (YY_MOVE (that.state), YY_MOVE (that.location)) + { + switch (that.type_get ()) { case 7: // "function name" case 44: // fname - value.move< D4Function > (s.value); + value.YY_MOVE_OR_COPY< D4Function > (YY_MOVE (that.value)); break; case 5: // "argument" @@ -674,14 +617,14 @@ case 46: // arg case 47: // variable_or_constant case 48: // array_constant - value.move< D4RValue* > (s.value); + value.YY_MOVE_OR_COPY< D4RValue* > (YY_MOVE (that.value)); break; case 3: // "functions" case 4: // "arguments" case 42: // functions case 45: // args - value.move< D4RValueList* > (s.value); + value.YY_MOVE_OR_COPY< D4RValueList* > (YY_MOVE (that.value)); break; case 20: // "word" @@ -690,287 +633,77 @@ case 61: // group case 62: // path case 63: // name - value.move< std::string > (s.value); + value.YY_MOVE_OR_COPY< std::string > (YY_MOVE (that.value)); break; case 10: // "fast byte arg list" case 50: // fast_byte_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 18: // "fast float32 arg list" case 58: // fast_float32_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 19: // "fast float64 arg list" case 59: // fast_float64_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 13: // "fast int16 arg list" case 53: // fast_int16_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 15: // "fast int32 arg list" case 55: // fast_int32_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 17: // "fast int64 arg list" case 57: // fast_int64_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 11: // "fast int8 arg list" case 51: // fast_int8_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 12: // "fast uint16 arg list" case 52: // fast_uint16_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 14: // "fast uint32 arg list" case 54: // fast_uint32_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; case 16: // "fast uint64 arg list" case 56: // fast_uint64_arg_list - value.move< std::vector* > (s.value); + value.YY_MOVE_OR_COPY< std::vector* > (YY_MOVE (that.value)); break; default: break; } - location = s.location; - } - - // by_type. - inline - D4FunctionParser::by_type::by_type () - : type (empty_symbol) - {} - - inline - D4FunctionParser::by_type::by_type (const by_type& other) - : type (other.type) - {} - - inline - D4FunctionParser::by_type::by_type (token_type t) - : type (yytranslate_ (t)) - {} - - inline - void - D4FunctionParser::by_type::clear () - { - type = empty_symbol; - } - - inline - void - D4FunctionParser::by_type::move (by_type& that) - { - type = that.type; - that.clear (); - } - - inline - int - D4FunctionParser::by_type::type_get () const - { - return type; - } - // Implementation of make_symbol for each symbol type. - D4FunctionParser::symbol_type - D4FunctionParser::make_END (const location_type& l) - { - return symbol_type (token::END, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_WORD (const std::string& v, const location_type& l) - { - return symbol_type (token::WORD, v, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_STRING (const std::string& v, const location_type& l) - { - return symbol_type (token::STRING, v, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_SEMICOLON (const location_type& l) - { - return symbol_type (token::SEMICOLON, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_COLON (const location_type& l) - { - return symbol_type (token::COLON, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_LPAREN (const location_type& l) - { - return symbol_type (token::LPAREN, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_RPAREN (const location_type& l) - { - return symbol_type (token::RPAREN, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_COMMA (const location_type& l) - { - return symbol_type (token::COMMA, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_GROUP_SEP (const location_type& l) - { - return symbol_type (token::GROUP_SEP, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_PATH_SEP (const location_type& l) - { - return symbol_type (token::PATH_SEP, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_BYTE (const location_type& l) - { - return symbol_type (token::DOLLAR_BYTE, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_UINT8 (const location_type& l) - { - return symbol_type (token::DOLLAR_UINT8, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_INT8 (const location_type& l) - { - return symbol_type (token::DOLLAR_INT8, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_UINT16 (const location_type& l) - { - return symbol_type (token::DOLLAR_UINT16, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_INT16 (const location_type& l) - { - return symbol_type (token::DOLLAR_INT16, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_UINT32 (const location_type& l) - { - return symbol_type (token::DOLLAR_UINT32, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_INT32 (const location_type& l) - { - return symbol_type (token::DOLLAR_INT32, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_UINT64 (const location_type& l) - { - return symbol_type (token::DOLLAR_UINT64, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_INT64 (const location_type& l) - { - return symbol_type (token::DOLLAR_INT64, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_FLOAT32 (const location_type& l) - { - return symbol_type (token::DOLLAR_FLOAT32, l); - } - - D4FunctionParser::symbol_type - D4FunctionParser::make_DOLLAR_FLOAT64 (const location_type& l) - { - return symbol_type (token::DOLLAR_FLOAT64, l); - } - - - - // by_state. - inline - D4FunctionParser::by_state::by_state () - : state (empty_state) - {} - - inline - D4FunctionParser::by_state::by_state (const by_state& other) - : state (other.state) - {} - - inline - void - D4FunctionParser::by_state::clear () - { - state = empty_state; - } - - inline - void - D4FunctionParser::by_state::move (by_state& that) - { - state = that.state; - that.clear (); - } - - inline - D4FunctionParser::by_state::by_state (state_type s) - : state (s) - {} - - inline - D4FunctionParser::symbol_number_type - D4FunctionParser::by_state::type_get () const - { - if (state == empty_state) - return empty_symbol; - else - return yystos_[state]; +#if 201103L <= YY_CPLUSPLUS + // that is emptied. + that.state = empty_state; +#endif } - inline - D4FunctionParser::stack_symbol_type::stack_symbol_type () - {} - - - inline - D4FunctionParser::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that) - : super_type (s, that.location) + D4FunctionParser::stack_symbol_type::stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) that) + : super_type (s, YY_MOVE (that.location)) { - switch (that.type_get ()) + switch (that.type_get ()) { case 7: // "function name" case 44: // fname - value.move< D4Function > (that.value); + value.move< D4Function > (YY_MOVE (that.value)); break; case 5: // "argument" @@ -981,14 +714,14 @@ case 46: // arg case 47: // variable_or_constant case 48: // array_constant - value.move< D4RValue* > (that.value); + value.move< D4RValue* > (YY_MOVE (that.value)); break; case 3: // "functions" case 4: // "arguments" case 42: // functions case 45: // args - value.move< D4RValueList* > (that.value); + value.move< D4RValueList* > (YY_MOVE (that.value)); break; case 20: // "word" @@ -997,57 +730,57 @@ case 61: // group case 62: // path case 63: // name - value.move< std::string > (that.value); + value.move< std::string > (YY_MOVE (that.value)); break; case 10: // "fast byte arg list" case 50: // fast_byte_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 18: // "fast float32 arg list" case 58: // fast_float32_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 19: // "fast float64 arg list" case 59: // fast_float64_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 13: // "fast int16 arg list" case 53: // fast_int16_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 15: // "fast int32 arg list" case 55: // fast_int32_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 17: // "fast int64 arg list" case 57: // fast_int64_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 11: // "fast int8 arg list" case 51: // fast_int8_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 12: // "fast uint16 arg list" case 52: // fast_uint16_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 14: // "fast uint32 arg list" case 54: // fast_uint32_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; case 16: // "fast uint64 arg list" case 56: // fast_uint64_arg_list - value.move< std::vector* > (that.value); + value.move< std::vector* > (YY_MOVE (that.value)); break; default: @@ -1058,16 +791,16 @@ that.type = empty_symbol; } - inline +#if YY_CPLUSPLUS < 201103L D4FunctionParser::stack_symbol_type& - D4FunctionParser::stack_symbol_type::operator= (const stack_symbol_type& that) + D4FunctionParser::stack_symbol_type::operator= (stack_symbol_type& that) { state = that.state; - switch (that.type_get ()) + switch (that.type_get ()) { case 7: // "function name" case 44: // fname - value.copy< D4Function > (that.value); + value.move< D4Function > (that.value); break; case 5: // "argument" @@ -1078,14 +811,14 @@ case 46: // arg case 47: // variable_or_constant case 48: // array_constant - value.copy< D4RValue* > (that.value); + value.move< D4RValue* > (that.value); break; case 3: // "functions" case 4: // "arguments" case 42: // functions case 45: // args - value.copy< D4RValueList* > (that.value); + value.move< D4RValueList* > (that.value); break; case 20: // "word" @@ -1094,57 +827,57 @@ case 61: // group case 62: // path case 63: // name - value.copy< std::string > (that.value); + value.move< std::string > (that.value); break; case 10: // "fast byte arg list" case 50: // fast_byte_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 18: // "fast float32 arg list" case 58: // fast_float32_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 19: // "fast float64 arg list" case 59: // fast_float64_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 13: // "fast int16 arg list" case 53: // fast_int16_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 15: // "fast int32 arg list" case 55: // fast_int32_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 17: // "fast int64 arg list" case 57: // fast_int64_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 11: // "fast int8 arg list" case 51: // fast_int8_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 12: // "fast uint16 arg list" case 52: // fast_uint16_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 14: // "fast uint32 arg list" case 54: // fast_uint32_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; case 16: // "fast uint64 arg list" case 56: // fast_uint64_arg_list - value.copy< std::vector* > (that.value); + value.move< std::vector* > (that.value); break; default: @@ -1152,12 +885,13 @@ } location = that.location; + // that is emptied. + that.state = empty_state; return *this; } - +#endif template - inline void D4FunctionParser::yy_destroy_ (const char* yymsg, basic_symbol& yysym) const { @@ -1174,10 +908,12 @@ std::ostream& yyoutput = yyo; YYUSE (yyoutput); symbol_number_type yytype = yysym.type_get (); +#if defined __GNUC__ && ! defined __clang__ && ! defined __ICC && __GNUC__ * 100 + __GNUC_MINOR__ <= 408 // Avoid a (spurious) G++ 4.8 warning about "array subscript is // below array bounds". if (yysym.empty ()) std::abort (); +#endif yyo << (yytype < yyntokens_ ? "token" : "nterm") << ' ' << yytname_[yytype] << " (" << yysym.location << ": "; @@ -1186,26 +922,27 @@ } #endif - inline void - D4FunctionParser::yypush_ (const char* m, state_type s, symbol_type& sym) + D4FunctionParser::yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym) { - stack_symbol_type t (s, sym); - yypush_ (m, t); + if (m) + YY_SYMBOL_PRINT (m, sym); + yystack_.push (YY_MOVE (sym)); } - inline void - D4FunctionParser::yypush_ (const char* m, stack_symbol_type& s) + D4FunctionParser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym) { - if (m) - YY_SYMBOL_PRINT (m, s); - yystack_.push (s); +#if 201103L <= YY_CPLUSPLUS + yypush_ (m, stack_symbol_type (s, std::move (sym))); +#else + stack_symbol_type ss (s, sym); + yypush_ (m, ss); +#endif } - inline void - D4FunctionParser::yypop_ (unsigned int n) + D4FunctionParser::yypop_ (int n) { yystack_.pop (n); } @@ -1237,7 +974,7 @@ } #endif // YYDEBUG - inline D4FunctionParser::state_type + D4FunctionParser::state_type D4FunctionParser::yy_lr_goto_state_ (state_type yystate, int yysym) { int yyr = yypgoto_[yysym - yyntokens_] + yystate; @@ -1247,19 +984,25 @@ return yydefgoto_[yysym - yyntokens_]; } - inline bool + bool D4FunctionParser::yy_pact_value_is_default_ (int yyvalue) { return yyvalue == yypact_ninf_; } - inline bool + bool D4FunctionParser::yy_table_value_is_error_ (int yyvalue) { return yyvalue == yytable_ninf_; } int + D4FunctionParser::operator() () + { + return parse (); + } + + int D4FunctionParser::parse () { // State. @@ -1280,15 +1023,15 @@ /// The return value of parse (). int yyresult; - // FIXME: This shoud be completely indented. It is not yet to - // avoid gratuitous conflicts when merging into the master branch. +#if YY_EXCEPTIONS try +#endif // YY_EXCEPTIONS { - YYCDEBUG << "Starting parse" << std::endl; + YYCDEBUG << "Starting parse\n"; // User initialization code. - #line 69 "d4_function_parser.yy" // lalr1.cc:745 +#line 71 "d4_function_parser.yy" // lalr1.cc:791 { // Initialize the initial location. This is printed when the parser builds // its own error messages - when the parse fails as opposed to when the @@ -1297,28 +1040,32 @@ yyla.location.initialize (evaluator.expression()); } -#line 1301 "d4_function_parser.tab.cc" // lalr1.cc:745 +#line 1044 "d4_function_parser.tab.cc" // lalr1.cc:791 /* Initialize the stack. The initial state will be set in yynewstate, since the latter expects the semantical and the location values to have been already stored, initialize these stacks with a primary value. */ yystack_.clear (); - yypush_ (YY_NULLPTR, 0, yyla); + yypush_ (YY_NULLPTR, 0, YY_MOVE (yyla)); - // A new symbol was pushed on the stack. + /*-----------------------------------------------. + | yynewstate -- push a new symbol on the stack. | + `-----------------------------------------------*/ yynewstate: - YYCDEBUG << "Entering state " << yystack_[0].state << std::endl; + YYCDEBUG << "Entering state " << yystack_[0].state << '\n'; // Accept? if (yystack_[0].state == yyfinal_) - goto yyacceptlab; + YYACCEPT; goto yybackup; - // Backup. - yybackup: + /*-----------. + | yybackup. | + `-----------*/ + yybackup: // Try to take a decision without lookahead. yyn = yypact_[yystack_[0].state]; if (yy_pact_value_is_default_ (yyn)) @@ -1328,15 +1075,20 @@ if (yyla.empty ()) { YYCDEBUG << "Reading a token: "; +#if YY_EXCEPTIONS try +#endif // YY_EXCEPTIONS { yyla.type = yytranslate_ (yylex (&yyla.value, &yyla.location, scanner, evaluator)); } +#if YY_EXCEPTIONS catch (const syntax_error& yyexc) { + YYCDEBUG << "Caught exception: " << yyexc.what() << '\n'; error (yyexc); goto yyerrlab1; } +#endif // YY_EXCEPTIONS } YY_SYMBOL_PRINT ("Next token is", yyla); @@ -1361,9 +1113,10 @@ --yyerrstatus_; // Shift the lookahead token. - yypush_ ("Shifting", yyn, yyla); + yypush_ ("Shifting", yyn, YY_MOVE (yyla)); goto yynewstate; + /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ @@ -1373,22 +1126,23 @@ goto yyerrlab; goto yyreduce; + /*-----------------------------. - | yyreduce -- Do a reduction. | + | yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: yylen = yyr2_[yyn]; { stack_symbol_type yylhs; - yylhs.state = yy_lr_goto_state_(yystack_[yylen].state, yyr1_[yyn]); + yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]); /* Variants are always initialized to an empty instance of the correct type. The default '$$ = $1' action is NOT applied when using variants. */ - switch (yyr1_[yyn]) + switch (yyr1_[yyn]) { case 7: // "function name" case 44: // fname - yylhs.value.build< D4Function > (); + yylhs.value.emplace< D4Function > (); break; case 5: // "argument" @@ -1399,14 +1153,14 @@ case 46: // arg case 47: // variable_or_constant case 48: // array_constant - yylhs.value.build< D4RValue* > (); + yylhs.value.emplace< D4RValue* > (); break; case 3: // "functions" case 4: // "arguments" case 42: // functions case 45: // args - yylhs.value.build< D4RValueList* > (); + yylhs.value.emplace< D4RValueList* > (); break; case 20: // "word" @@ -1415,57 +1169,57 @@ case 61: // group case 62: // path case 63: // name - yylhs.value.build< std::string > (); + yylhs.value.emplace< std::string > (); break; case 10: // "fast byte arg list" case 50: // fast_byte_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 18: // "fast float32 arg list" case 58: // fast_float32_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 19: // "fast float64 arg list" case 59: // fast_float64_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 13: // "fast int16 arg list" case 53: // fast_int16_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 15: // "fast int32 arg list" case 55: // fast_int32_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 17: // "fast int64 arg list" case 57: // fast_int64_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 11: // "fast int8 arg list" case 51: // fast_int8_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 12: // "fast uint16 arg list" case 52: // fast_uint16_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 14: // "fast uint32 arg list" case 54: // fast_uint32_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; case 16: // "fast uint64 arg list" case 56: // fast_uint64_arg_list - yylhs.value.build< std::vector* > (); + yylhs.value.emplace< std::vector* > (); break; default: @@ -1473,497 +1227,512 @@ } - // Compute the default @$. + // Default location. { - slice slice (yystack_, yylen); - YYLLOC_DEFAULT (yylhs.location, slice, yylen); + stack_type::slice range (yystack_, yylen); + YYLLOC_DEFAULT (yylhs.location, range, yylen); + yyerror_range[1].location = yylhs.location; } // Perform the reduction. YY_REDUCE_PRINT (yyn); +#if YY_EXCEPTIONS try +#endif // YY_EXCEPTIONS { switch (yyn) { case 2: -#line 156 "d4_function_parser.yy" // lalr1.cc:859 +#line 158 "d4_function_parser.yy" // lalr1.cc:919 { - evaluator.set_result(yystack_[0].value.as< D4RValueList* > ()); + evaluator.set_result(yystack_[0].value.as < D4RValueList* > ()); } -#line 1494 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1251 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 3: -#line 162 "d4_function_parser.yy" // lalr1.cc:859 +#line 164 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValueList* > () = new D4RValueList(yystack_[0].value.as< D4RValue* > ()); + yylhs.value.as < D4RValueList* > () = new D4RValueList(yystack_[0].value.as < D4RValue* > ()); } -#line 1502 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1259 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 4: -#line 166 "d4_function_parser.yy" // lalr1.cc:859 +#line 168 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< D4RValueList* > ()->add_rvalue(yystack_[0].value.as< D4RValue* > ()); - yylhs.value.as< D4RValueList* > () = yystack_[2].value.as< D4RValueList* > (); + yystack_[2].value.as < D4RValueList* > ()->add_rvalue(yystack_[0].value.as < D4RValue* > ()); + yylhs.value.as < D4RValueList* > () = yystack_[2].value.as < D4RValueList* > (); } -#line 1511 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1268 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 5: -#line 173 "d4_function_parser.yy" // lalr1.cc:859 +#line 175 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(yystack_[3].value.as< D4Function > (), yystack_[1].value.as< D4RValueList* > ()); // Build a D4RValue from a D4Function pointer and a D4RValueList + yylhs.value.as < D4RValue* > () = new D4RValue(yystack_[3].value.as < D4Function > (), yystack_[1].value.as < D4RValueList* > ()); // Build a D4RValue from a D4Function pointer and a D4RValueList } -#line 1519 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1276 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 6: -#line 179 "d4_function_parser.yy" // lalr1.cc:859 +#line 181 "d4_function_parser.yy" // lalr1.cc:919 { D4Function f; - if (!evaluator.sf_list()->find_function(yystack_[0].value.as< std::string > (), &f)) { + if (!evaluator.sf_list()->find_function(yystack_[0].value.as < std::string > (), &f)) { // ...cloud use @1.{first,last}_column in these error messages. - throw Error(malformed_expr, "'" + yystack_[0].value.as< std::string > () + "' is not a registered DAP4 server function."); + throw Error(malformed_expr, "'" + yystack_[0].value.as < std::string > () + "' is not a registered DAP4 server function."); } - yylhs.value.as< D4Function > () = f; + yylhs.value.as < D4Function > () = f; } -#line 1533 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1290 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 7: -#line 191 "d4_function_parser.yy" // lalr1.cc:859 +#line 193 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValueList* > () = new D4RValueList(yystack_[0].value.as< D4RValue* > ()); // build a D4RValueList from the D4RValue + yylhs.value.as < D4RValueList* > () = new D4RValueList(yystack_[0].value.as < D4RValue* > ()); // build a D4RValueList from the D4RValue } -#line 1541 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1298 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 8: -#line 195 "d4_function_parser.yy" // lalr1.cc:859 +#line 197 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< D4RValueList* > ()->add_rvalue(yystack_[0].value.as< D4RValue* > ()); - yylhs.value.as< D4RValueList* > () = yystack_[2].value.as< D4RValueList* > (); // Append the D4RValue ($3) to the D4RValueList ($1), then return + yystack_[2].value.as < D4RValueList* > ()->add_rvalue(yystack_[0].value.as < D4RValue* > ()); + yylhs.value.as < D4RValueList* > () = yystack_[2].value.as < D4RValueList* > (); // Append the D4RValue ($3) to the D4RValueList ($1), then return } -#line 1550 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1307 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 9: -#line 202 "d4_function_parser.yy" // lalr1.cc:859 +#line 204 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = yystack_[0].value.as< D4RValue* > (); + yylhs.value.as < D4RValue* > () = yystack_[0].value.as < D4RValue* > (); } -#line 1558 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1315 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 10: -#line 206 "d4_function_parser.yy" // lalr1.cc:859 +#line 208 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = yystack_[0].value.as< D4RValue* > (); + yylhs.value.as < D4RValue* > () = yystack_[0].value.as < D4RValue* > (); } -#line 1566 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1323 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 11: -#line 210 "d4_function_parser.yy" // lalr1.cc:859 +#line 212 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = yystack_[0].value.as< D4RValue* > (); + yylhs.value.as < D4RValue* > () = yystack_[0].value.as < D4RValue* > (); } -#line 1574 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1331 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 12: -#line 216 "d4_function_parser.yy" // lalr1.cc:859 +#line 216 "d4_function_parser.yy" // lalr1.cc:919 { - D4RValue *rvalue = evaluator.build_rvalue(yystack_[0].value.as< std::string > ()); - if (!rvalue) { - throw Error(malformed_expr, "'" + yystack_[0].value.as< std::string > () + "' is not a variable, number or string."); - } - - yylhs.value.as< D4RValue* > () = rvalue; + yylhs.value.as < D4RValue* > () = 0; } -#line 1587 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1339 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 13: -#line 228 "d4_function_parser.yy" // lalr1.cc:859 +#line 222 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + D4RValue *rvalue = evaluator.build_rvalue(yystack_[0].value.as < std::string > ()); + if (!rvalue) { + throw Error(malformed_expr, "'" + yystack_[0].value.as < std::string > () + "' is not a variable, number or string."); + } + + yylhs.value.as < D4RValue* > () = rvalue; } -#line 1596 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1352 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 14: -#line 234 "d4_function_parser.yy" // lalr1.cc:859 +#line 234 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1605 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1361 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 15: -#line 240 "d4_function_parser.yy" // lalr1.cc:859 +#line 240 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1614 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1370 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 16: -#line 246 "d4_function_parser.yy" // lalr1.cc:859 +#line 246 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1623 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1379 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 17: -#line 252 "d4_function_parser.yy" // lalr1.cc:859 +#line 252 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1632 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1388 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 18: -#line 258 "d4_function_parser.yy" // lalr1.cc:859 +#line 258 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1641 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1397 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 19: -#line 264 "d4_function_parser.yy" // lalr1.cc:859 +#line 264 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1650 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1406 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 20: -#line 270 "d4_function_parser.yy" // lalr1.cc:859 +#line 270 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1659 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1415 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 21: -#line 276 "d4_function_parser.yy" // lalr1.cc:859 +#line 276 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1668 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1424 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 22: -#line 282 "d4_function_parser.yy" // lalr1.cc:859 +#line 282 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1677 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1433 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 23: -#line 288 "d4_function_parser.yy" // lalr1.cc:859 +#line 288 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< D4RValue* > () = new D4RValue(*(yystack_[1].value.as< std::vector* > ())); - delete yystack_[1].value.as< std::vector* > (); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1686 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1442 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 24: -#line 300 "d4_function_parser.yy" // lalr1.cc:859 +#line 294 "d4_function_parser.yy" // lalr1.cc:919 { - evaluator.set_arg_length_hint(get_uint64(yystack_[0].value.as< std::string > ().c_str())); + yylhs.value.as < D4RValue* > () = new D4RValue(*(yystack_[1].value.as < std::vector* > ())); + delete yystack_[1].value.as < std::vector* > (); } -#line 1694 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1451 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 25: -#line 306 "d4_function_parser.yy" // lalr1.cc:859 +#line 306 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_byte(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0))); + evaluator.set_arg_length_hint(get_uint64(yystack_[0].value.as < std::string > ().c_str())); } -#line 1702 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1459 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 26: -#line 310 "d4_function_parser.yy" // lalr1.cc:859 +#line 312 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_byte(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0))); } -#line 1711 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1467 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 27: -#line 317 "d4_function_parser.yy" // lalr1.cc:859 +#line 316 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_int8(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1719 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1476 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 28: -#line 321 "d4_function_parser.yy" // lalr1.cc:859 +#line 323 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_int8(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0))); } -#line 1728 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1484 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 29: -#line 328 "d4_function_parser.yy" // lalr1.cc:859 +#line 327 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_uint16(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1736 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1493 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 30: -#line 332 "d4_function_parser.yy" // lalr1.cc:859 +#line 334 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_uint16(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0))); } -#line 1745 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1501 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 31: -#line 339 "d4_function_parser.yy" // lalr1.cc:859 +#line 338 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_int16(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1753 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1510 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 32: -#line 343 "d4_function_parser.yy" // lalr1.cc:859 +#line 345 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_int16(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0))); } -#line 1762 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1518 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 33: -#line 350 "d4_function_parser.yy" // lalr1.cc:859 +#line 349 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_uint32(strtoul(yystack_[0].value.as< std::string > ().c_str(), 0, 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1770 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1527 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 34: -#line 354 "d4_function_parser.yy" // lalr1.cc:859 +#line 356 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtoul(yystack_[0].value.as< std::string > ().c_str(), 0, 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_uint32(strtoul(yystack_[0].value.as < std::string > ().c_str(), 0, 0))); } -#line 1779 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1535 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 35: -#line 360 "d4_function_parser.yy" // lalr1.cc:859 +#line 360 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_int32(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtoul(yystack_[0].value.as < std::string > ().c_str(), 0, 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1787 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1544 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 36: -#line 364 "d4_function_parser.yy" // lalr1.cc:859 +#line 366 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtol(yystack_[0].value.as< std::string > ().c_str(), 0, 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_int32(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0))); } -#line 1796 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1552 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 37: -#line 371 "d4_function_parser.yy" // lalr1.cc:859 +#line 370 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_uint64(strtoull(yystack_[0].value.as< std::string > ().c_str(), 0, 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtol(yystack_[0].value.as < std::string > ().c_str(), 0, 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1804 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1561 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 38: -#line 375 "d4_function_parser.yy" // lalr1.cc:859 +#line 377 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtoull(yystack_[0].value.as< std::string > ().c_str(), 0, 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_uint64(strtoull(yystack_[0].value.as < std::string > ().c_str(), 0, 0))); } -#line 1813 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1569 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 39: -#line 382 "d4_function_parser.yy" // lalr1.cc:859 +#line 381 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_int64(strtoll(yystack_[0].value.as< std::string > ().c_str(), 0, 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtoull(yystack_[0].value.as < std::string > ().c_str(), 0, 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1821 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1578 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 40: -#line 386 "d4_function_parser.yy" // lalr1.cc:859 +#line 388 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtoll(yystack_[0].value.as< std::string > ().c_str(), 0, 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_int64(strtoll(yystack_[0].value.as < std::string > ().c_str(), 0, 0))); } -#line 1830 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1586 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 41: -#line 396 "d4_function_parser.yy" // lalr1.cc:859 +#line 392 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_float32(strtof(yystack_[0].value.as< std::string > ().c_str(), 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtoll(yystack_[0].value.as < std::string > ().c_str(), 0, 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1838 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1595 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 42: -#line 400 "d4_function_parser.yy" // lalr1.cc:859 +#line 402 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtof(yystack_[0].value.as< std::string > ().c_str(), 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_float32(strtof(yystack_[0].value.as < std::string > ().c_str(), 0))); } -#line 1847 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1603 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 43: -#line 407 "d4_function_parser.yy" // lalr1.cc:859 +#line 406 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::vector* > () = evaluator.init_arg_list(dods_float64(strtod(yystack_[0].value.as< std::string > ().c_str(), 0))); + yystack_[2].value.as < std::vector* > ()->push_back(strtof(yystack_[0].value.as < std::string > ().c_str(), 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1855 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1612 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 44: -#line 411 "d4_function_parser.yy" // lalr1.cc:859 +#line 413 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::vector* > ()->push_back(strtod(yystack_[0].value.as< std::string > ().c_str(), 0)); - yylhs.value.as< std::vector* > () = yystack_[2].value.as< std::vector* > (); + yylhs.value.as < std::vector* > () = evaluator.init_arg_list(dods_float64(strtod(yystack_[0].value.as < std::string > ().c_str(), 0))); } -#line 1864 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1620 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 45: -#line 418 "d4_function_parser.yy" // lalr1.cc:859 +#line 417 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > () = yystack_[0].value.as< std::string > (); + yystack_[2].value.as < std::vector* > ()->push_back(strtod(yystack_[0].value.as < std::string > ().c_str(), 0)); + yylhs.value.as < std::vector* > () = yystack_[2].value.as < std::vector* > (); } -#line 1872 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1629 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 46: -#line 422 "d4_function_parser.yy" // lalr1.cc:859 +#line 424 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > ().append("/"); - yylhs.value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); + yylhs.value.as < std::string > () = yystack_[0].value.as < std::string > (); } -#line 1881 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1637 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 47: -#line 427 "d4_function_parser.yy" // lalr1.cc:859 +#line 428 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::string > ().append("/"); - yystack_[2].value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); - yylhs.value.as< std::string > () = yystack_[2].value.as< std::string > (); + yylhs.value.as < std::string > ().append("/"); + yylhs.value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); } -#line 1891 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1646 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 48: -#line 435 "d4_function_parser.yy" // lalr1.cc:859 +#line 433 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > ().append("/"); - yylhs.value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); + yystack_[2].value.as < std::string > ().append("/"); + yystack_[2].value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); + yylhs.value.as < std::string > () = yystack_[2].value.as < std::string > (); } -#line 1900 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1656 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 49: -#line 440 "d4_function_parser.yy" // lalr1.cc:859 +#line 441 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::string > ().append("."); - yystack_[2].value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); - yylhs.value.as< std::string > () = yystack_[2].value.as< std::string > (); + yylhs.value.as < std::string > ().append("/"); + yylhs.value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); } -#line 1910 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1665 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 50: -#line 448 "d4_function_parser.yy" // lalr1.cc:859 +#line 446 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > () = yystack_[0].value.as< std::string > (); + yystack_[2].value.as < std::string > ().append("."); + yystack_[2].value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); + yylhs.value.as < std::string > () = yystack_[2].value.as < std::string > (); } -#line 1918 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1675 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 51: -#line 452 "d4_function_parser.yy" // lalr1.cc:859 +#line 454 "d4_function_parser.yy" // lalr1.cc:919 { - yystack_[2].value.as< std::string > ().append("."); - yystack_[2].value.as< std::string > ().append(yystack_[0].value.as< std::string > ()); - yylhs.value.as< std::string > () = yystack_[2].value.as< std::string > (); + yylhs.value.as < std::string > () = yystack_[0].value.as < std::string > (); } -#line 1928 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1683 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 52: -#line 463 "d4_function_parser.yy" // lalr1.cc:859 +#line 458 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > ()=yystack_[0].value.as< std::string > (); + yystack_[2].value.as < std::string > ().append("."); + yystack_[2].value.as < std::string > ().append(yystack_[0].value.as < std::string > ()); + yylhs.value.as < std::string > () = yystack_[2].value.as < std::string > (); } -#line 1936 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1693 "d4_function_parser.tab.cc" // lalr1.cc:919 break; case 53: -#line 467 "d4_function_parser.yy" // lalr1.cc:859 +#line 469 "d4_function_parser.yy" // lalr1.cc:919 + { + yylhs.value.as < std::string > ()=yystack_[0].value.as < std::string > (); +} +#line 1701 "d4_function_parser.tab.cc" // lalr1.cc:919 + break; + + case 54: +#line 473 "d4_function_parser.yy" // lalr1.cc:919 { - yylhs.value.as< std::string > ()=yystack_[0].value.as< std::string > (); + yylhs.value.as < std::string > ()=yystack_[0].value.as < std::string > (); } -#line 1944 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1709 "d4_function_parser.tab.cc" // lalr1.cc:919 break; -#line 1948 "d4_function_parser.tab.cc" // lalr1.cc:859 +#line 1713 "d4_function_parser.tab.cc" // lalr1.cc:919 default: break; } } +#if YY_EXCEPTIONS catch (const syntax_error& yyexc) { + YYCDEBUG << "Caught exception: " << yyexc.what() << '\n'; error (yyexc); YYERROR; } +#endif // YY_EXCEPTIONS YY_SYMBOL_PRINT ("-> $$ =", yylhs); yypop_ (yylen); yylen = 0; YY_STACK_PRINT (); // Shift the result of the reduction. - yypush_ (YY_NULLPTR, yylhs); + yypush_ (YY_NULLPTR, YY_MOVE (yylhs)); } goto yynewstate; + /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ @@ -2000,19 +1769,18 @@ | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ + /* Pacify compilers when the user code never invokes YYERROR and + the label yyerrorlab therefore never appears in user code. */ if (false) - goto yyerrorlab; - yyerror_range[1].location = yystack_[yylen - 1].location; + YYERROR; + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ yypop_ (yylen); yylen = 0; goto yyerrlab1; + /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ @@ -2049,20 +1817,30 @@ // Shift the error token. error_token.state = yyn; - yypush_ ("Shifting", error_token); + yypush_ ("Shifting", YY_MOVE (error_token)); } goto yynewstate; - // Accept. + + /*-------------------------------------. + | yyacceptlab -- YYACCEPT comes here. | + `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; - // Abort. + + /*-----------------------------------. + | yyabortlab -- YYABORT comes here. | + `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; + + /*-----------------------------------------------------. + | yyreturn -- parsing is finished, return the result. | + `-----------------------------------------------------*/ yyreturn: if (!yyla.empty ()) yy_destroy_ ("Cleanup: discarding lookahead", yyla); @@ -2078,12 +1856,12 @@ return yyresult; } +#if YY_EXCEPTIONS catch (...) { - YYCDEBUG << "Exception caught: cleaning lookahead and stack" - << std::endl; + YYCDEBUG << "Exception caught: cleaning lookahead and stack\n"; // Do not try to display the values of the reclaimed symbols, - // as their printer might throw an exception. + // as their printers might throw an exception. if (!yyla.empty ()) yy_destroy_ (YY_NULLPTR, yyla); @@ -2094,12 +1872,13 @@ } throw; } +#endif // YY_EXCEPTIONS } void D4FunctionParser::error (const syntax_error& yyexc) { - error (yyexc.location, yyexc.what()); + error (yyexc.location, yyexc.what ()); } // Generate an error message. @@ -2175,12 +1954,13 @@ case N: \ yyformat = S; \ break - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); + default: // Avoid compiler warnings. + YYCASE_ (0, YY_("syntax error")); + YYCASE_ (1, YY_("syntax error, unexpected %s")); + YYCASE_ (2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_ (3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_ (4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_ (5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); #undef YYCASE_ } @@ -2201,7 +1981,7 @@ const signed char D4FunctionParser::yypact_ninf_ = -20; - const signed char D4FunctionParser::yytable_ninf_ = -50; + const signed char D4FunctionParser::yytable_ninf_ = -51; const signed char D4FunctionParser::yypact_[] = @@ -2224,19 +2004,19 @@ const unsigned char D4FunctionParser::yydefact_[] = { - 0, 6, 0, 2, 3, 0, 1, 0, 0, 4, - 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 9, 0, 7, 10, 11, 12, - 0, 45, 50, 52, 46, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, - 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 47, 50, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, - 0, 27, 0, 29, 0, 31, 0, 33, 0, 35, - 0, 37, 0, 39, 0, 0, 41, 0, 43, 13, - 0, 14, 15, 0, 16, 0, 17, 0, 18, 0, - 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, - 26, 28, 30, 32, 34, 36, 38, 40, 42, 44 + 0, 6, 0, 2, 3, 0, 1, 0, 12, 4, + 53, 54, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9, 0, 7, 10, 11, 13, + 0, 46, 51, 53, 47, 51, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 12, 0, + 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 48, 51, 52, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 0, 28, 0, 30, 0, 32, 0, 34, 0, 36, + 0, 38, 0, 40, 0, 0, 42, 0, 44, 14, + 0, 15, 16, 0, 17, 0, 18, 0, 19, 0, + 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, + 27, 29, 31, 33, 35, 37, 39, 41, 43, 45 }; const signed char @@ -2255,7 +2035,7 @@ 29, 30, 31, 32 }; - const short int + const short D4FunctionParser::yytable_[] = { 34, 35, 10, 11, 33, 11, 47, 48, 6, 12, @@ -2266,8 +2046,8 @@ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, -6, 36, 37, 96, 98, 38, 39, 40, 41, 42, 43, 44, 45, 46, 51, 67, 78, 49, 68, - 50, -48, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 81, 83, 85, 87, -49, 89, 91, 93, 120, + 50, -49, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 81, 83, 85, 87, -50, 89, 91, 93, 120, 121, 122, 123, 124, 125, 128, 126, 129, 127, 80, 0, 0, 0, 0, 0, 0, 0, 63 }; @@ -2311,22 +2091,22 @@ D4FunctionParser::yyr1_[] = { 0, 40, 41, 42, 42, 43, 44, 45, 45, 46, - 46, 46, 47, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 49, 50, 50, 51, 51, 52, - 52, 53, 53, 54, 54, 55, 55, 56, 56, 57, - 57, 58, 58, 59, 59, 60, 60, 60, 61, 61, - 62, 62, 63, 63 + 46, 46, 46, 47, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 49, 50, 50, 51, 51, + 52, 52, 53, 53, 54, 54, 55, 55, 56, 56, + 57, 57, 58, 58, 59, 59, 60, 60, 60, 61, + 61, 62, 62, 63, 63 }; const unsigned char D4FunctionParser::yyr2_[] = { 0, 2, 1, 1, 3, 4, 1, 1, 3, 1, - 1, 1, 1, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 1, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 2, 3, 2, 3, - 1, 3, 1, 1 + 1, 1, 0, 1, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 1, 1, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 1, 2, 3, 2, + 3, 1, 3, 1, 1 }; @@ -2357,15 +2137,15 @@ }; #if YYDEBUG - const unsigned short int + const unsigned short D4FunctionParser::yyrline_[] = { - 0, 155, 155, 161, 165, 172, 178, 190, 194, 201, - 205, 209, 215, 227, 233, 239, 245, 251, 257, 263, - 269, 275, 281, 287, 299, 305, 309, 316, 320, 327, - 331, 338, 342, 349, 353, 359, 363, 370, 374, 381, - 385, 395, 399, 406, 410, 417, 421, 426, 434, 439, - 447, 451, 462, 466 + 0, 157, 157, 163, 167, 174, 180, 192, 196, 203, + 207, 211, 216, 221, 233, 239, 245, 251, 257, 263, + 269, 275, 281, 287, 293, 305, 311, 315, 322, 326, + 333, 337, 344, 348, 355, 359, 365, 369, 376, 380, + 387, 391, 401, 405, 412, 416, 423, 427, 432, 440, + 445, 453, 457, 468, 472 }; // Print the state stack on the debug stream. @@ -2378,18 +2158,18 @@ i_end = yystack_.end (); i != i_end; ++i) *yycdebug_ << ' ' << i->state; - *yycdebug_ << std::endl; + *yycdebug_ << '\n'; } // Report on the debug stream that the rule \a yyrule is going to be reduced. void D4FunctionParser::yy_reduce_print_ (int yyrule) { - unsigned int yylno = yyrline_[yyrule]; + unsigned yylno = yyrline_[yyrule]; int yynrhs = yyr2_[yyrule]; // Print the symbols being reduced, and their result. *yycdebug_ << "Reducing stack by rule " << yyrule - 1 - << " (line " << yylno << "):" << std::endl; + << " (line " << yylno << "):\n"; // The symbols being reduced. for (int yyi = 0; yyi < yynrhs; yyi++) YY_SYMBOL_PRINT (" $" << yyi + 1 << " =", @@ -2397,16 +2177,16 @@ } #endif // YYDEBUG - // Symbol number corresponding to token number t. - inline D4FunctionParser::token_number_type D4FunctionParser::yytranslate_ (int t) { + // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to + // TOKEN-NUM as returned by yylex. static const token_number_type translate_table[] = { - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -2437,21 +2217,21 @@ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 }; - const unsigned int user_token_number_max_ = 294; + const unsigned user_token_number_max_ = 294; const token_number_type undef_token_ = 2; - if (static_cast(t) <= yyeof_) + if (static_cast (t) <= yyeof_) return yyeof_; - else if (static_cast (t) <= user_token_number_max_) + else if (static_cast (t) <= user_token_number_max_) return translate_table[t]; else return undef_token_; } -#line 34 "d4_function_parser.yy" // lalr1.cc:1167 +#line 34 "d4_function_parser.yy" // lalr1.cc:1242 } // libdap -#line 2454 "d4_function_parser.tab.cc" // lalr1.cc:1167 -#line 472 "d4_function_parser.yy" // lalr1.cc:1168 +#line 2234 "d4_function_parser.tab.cc" // lalr1.cc:1242 +#line 478 "d4_function_parser.yy" // lalr1.cc:1243 // Forward the error to the driver for handling. The location parameter diff -Nru libdap-3.19.1/d4_function/d4_function_parser.tab.hh libdap-3.20.5/d4_function/d4_function_parser.tab.hh --- libdap-3.19.1/d4_function/d4_function_parser.tab.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/d4_function_parser.tab.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,8 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. // Skeleton interface for Bison LALR(1) parsers in C++ -// Copyright (C) 2002-2015 Free Software Foundation, Inc. +// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ // This special exception was added by the Free Software Foundation in // version 2.2 of Bison. + /** ** \file d4_function_parser.tab.hh ** Define the libdap::parser class. @@ -37,11 +38,16 @@ // C++ LALR(1) parser skeleton written by Akim Demaille. +// Undocumented macros, especially those whose name start with YY_, +// are private implementation details. Do not rely on them. + #ifndef YY_YY_D4_FUNCTION_PARSER_TAB_HH_INCLUDED # define YY_YY_D4_FUNCTION_PARSER_TAB_HH_INCLUDED // // "%code requires" blocks. -#line 47 "d4_function_parser.yy" // lalr1.cc:392 +#line 47 "d4_function_parser.yy" // lalr1.cc:417 + +#define YYERROR_VERBOSE 0 #include "D4FunctionEvaluator.h" #include "D4RValue.h" @@ -52,7 +58,7 @@ } -#line 56 "d4_function_parser.tab.hh" // lalr1.cc:392 +#line 62 "d4_function_parser.tab.hh" // lalr1.cc:417 # include # include // std::abort @@ -60,7 +66,43 @@ # include # include # include -# include "stack.hh" + +#if defined __cplusplus +# define YY_CPLUSPLUS __cplusplus +#else +# define YY_CPLUSPLUS 199711L +#endif + +// Support move semantics when possible. +#if 201103L <= YY_CPLUSPLUS +# define YY_MOVE std::move +# define YY_MOVE_OR_COPY move +# define YY_MOVE_REF(Type) Type&& +# define YY_RVREF(Type) Type&& +# define YY_COPY(Type) Type +#else +# define YY_MOVE +# define YY_MOVE_OR_COPY copy +# define YY_MOVE_REF(Type) Type& +# define YY_RVREF(Type) const Type& +# define YY_COPY(Type) const Type& +#endif + +// Support noexcept when possible. +#if 201103L <= YY_CPLUSPLUS +# define YY_NOEXCEPT noexcept +# define YY_NOTHROW +#else +# define YY_NOEXCEPT +# define YY_NOTHROW throw () +#endif + +// Support constexpr when possible. +#if 201703 <= YY_CPLUSPLUS +# define YY_CONSTEXPR constexpr +#else +# define YY_CONSTEXPR +#endif # include "location.hh" #include #ifndef YYASSERT @@ -87,15 +129,6 @@ # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -103,7 +136,7 @@ # define YYUSE(E) /* empty */ #endif -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ @@ -122,125 +155,191 @@ # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif +# ifndef YY_NULLPTR +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# else +# define YY_NULLPTR ((void*)0) +# endif +# endif + /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 #endif -#line 34 "d4_function_parser.yy" // lalr1.cc:392 +#line 34 "d4_function_parser.yy" // lalr1.cc:417 namespace libdap { -#line 133 "d4_function_parser.tab.hh" // lalr1.cc:392 +#line 178 "d4_function_parser.tab.hh" // lalr1.cc:417 - /// A char[S] buffer to store and retrieve objects. + /// A Bison parser. + class D4FunctionParser + { + public: +#ifndef YYSTYPE + /// A buffer to store and retrieve objects. /// /// Sort of a variant, but does not keep track of the nature /// of the stored data, since that knowledge is available - /// via the current state. - template - struct variant + /// via the current parser state. + class semantic_type { + public: /// Type of *this. - typedef variant self_type; + typedef semantic_type self_type; /// Empty construction. - variant () - : yytypeid_ (YY_NULLPTR) + semantic_type () YY_NOEXCEPT + : yybuffer_ () + , yytypeid_ (YY_NULLPTR) {} /// Construct and fill. template - variant (const T& t) + semantic_type (YY_RVREF (T) t) : yytypeid_ (&typeid (T)) { - YYASSERT (sizeof (T) <= S); - new (yyas_ ()) T (t); + YYASSERT (sizeof (T) <= size); + new (yyas_ ()) T (YY_MOVE (t)); } /// Destruction, allowed only if empty. - ~variant () + ~semantic_type () YY_NOEXCEPT { YYASSERT (!yytypeid_); } +# if 201103L <= YY_CPLUSPLUS + /// Instantiate a \a T in here from \a t. + template + T& + emplace (U&&... u) + { + YYASSERT (!yytypeid_); + YYASSERT (sizeof (T) <= size); + yytypeid_ = & typeid (T); + return *new (yyas_ ()) T (std::forward (u)...); + } +# else /// Instantiate an empty \a T in here. template T& - build () + emplace () { YYASSERT (!yytypeid_); - YYASSERT (sizeof (T) <= S); + YYASSERT (sizeof (T) <= size); yytypeid_ = & typeid (T); - return *new (yyas_ ()) T; + return *new (yyas_ ()) T (); } /// Instantiate a \a T in here from \a t. template T& - build (const T& t) + emplace (const T& t) { YYASSERT (!yytypeid_); - YYASSERT (sizeof (T) <= S); + YYASSERT (sizeof (T) <= size); yytypeid_ = & typeid (T); return *new (yyas_ ()) T (t); } +# endif + + /// Instantiate an empty \a T in here. + /// Obsolete, use emplace. + template + T& + build () + { + return emplace (); + } + + /// Instantiate a \a T in here from \a t. + /// Obsolete, use emplace. + template + T& + build (const T& t) + { + return emplace (t); + } /// Accessor to a built \a T. template T& - as () + as () YY_NOEXCEPT { + YYASSERT (yytypeid_); YYASSERT (*yytypeid_ == typeid (T)); - YYASSERT (sizeof (T) <= S); + YYASSERT (sizeof (T) <= size); return *yyas_ (); } /// Const accessor to a built \a T (for %printer). template const T& - as () const + as () const YY_NOEXCEPT { + YYASSERT (yytypeid_); YYASSERT (*yytypeid_ == typeid (T)); - YYASSERT (sizeof (T) <= S); + YYASSERT (sizeof (T) <= size); return *yyas_ (); } - /// Swap the content with \a other, of same type. + /// Swap the content with \a that, of same type. /// /// Both variants must be built beforehand, because swapping the actual /// data requires reading it (with as()), and this is not possible on /// unconstructed variants: it would require some dynamic testing, which - /// should not be the variant's responsability. + /// should not be the variant's responsibility. /// Swapping between built and (possibly) non-built is done with - /// variant::move (). + /// self_type::move (). template void - swap (self_type& other) + swap (self_type& that) YY_NOEXCEPT { YYASSERT (yytypeid_); - YYASSERT (*yytypeid_ == *other.yytypeid_); - std::swap (as (), other.as ()); + YYASSERT (*yytypeid_ == *that.yytypeid_); + std::swap (as (), that.as ()); } - /// Move the content of \a other to this. + /// Move the content of \a that to this. /// - /// Destroys \a other. + /// Destroys \a that. template void - move (self_type& other) + move (self_type& that) { - build (); - swap (other); - other.destroy (); +# if 201103L <= YY_CPLUSPLUS + emplace (std::move (that.as ())); +# else + emplace (); + swap (that); +# endif + that.destroy (); + } + +# if 201103L <= YY_CPLUSPLUS + /// Move the content of \a that to this. + template + void + move (self_type&& that) + { + emplace (std::move (that.as ())); + that.destroy (); } +#endif - /// Copy the content of \a other to this. + /// Copy the content of \a that to this. template void - copy (const self_type& other) + copy (const self_type& that) { - build (other.as ()); + emplace (that.as ()); } /// Destroy the stored \a T. @@ -254,13 +353,13 @@ private: /// Prohibit blind copies. - self_type& operator=(const self_type&); - variant (const self_type&); + self_type& operator= (const self_type&); + semantic_type (const self_type&); /// Accessor to raw memory as \a T. template T* - yyas_ () + yyas_ () YY_NOEXCEPT { void *yyp = yybuffer_.yyraw; return static_cast (yyp); @@ -269,36 +368,18 @@ /// Const accessor to raw memory as \a T. template const T* - yyas_ () const + yyas_ () const YY_NOEXCEPT { const void *yyp = yybuffer_.yyraw; return static_cast (yyp); } - union - { - /// Strongest alignment constraints. - long double yyalign_me; - /// A buffer large enough to store any of the semantic values. - char yyraw[S]; - } yybuffer_; - - /// Whether the content is built: if defined, the name of the stored type. - const std::type_info *yytypeid_; - }; - - - /// A Bison parser. - class D4FunctionParser - { - public: -#ifndef YYSTYPE /// An auxiliary type to compute the largest semantic type. union union_type { // "function name" // fname - char dummy1[sizeof(D4Function)]; + char dummy1[sizeof (D4Function)]; // "argument" // "function" @@ -308,13 +389,13 @@ // arg // variable_or_constant // array_constant - char dummy2[sizeof(D4RValue*)]; + char dummy2[sizeof (D4RValue*)]; // "functions" // "arguments" // functions // args - char dummy3[sizeof(D4RValueList*)]; + char dummy3[sizeof (D4RValueList*)]; // "word" // "string" @@ -322,51 +403,65 @@ // group // path // name - char dummy4[sizeof(std::string)]; + char dummy4[sizeof (std::string)]; // "fast byte arg list" // fast_byte_arg_list - char dummy5[sizeof(std::vector*)]; + char dummy5[sizeof (std::vector*)]; // "fast float32 arg list" // fast_float32_arg_list - char dummy6[sizeof(std::vector*)]; + char dummy6[sizeof (std::vector*)]; // "fast float64 arg list" // fast_float64_arg_list - char dummy7[sizeof(std::vector*)]; + char dummy7[sizeof (std::vector*)]; // "fast int16 arg list" // fast_int16_arg_list - char dummy8[sizeof(std::vector*)]; + char dummy8[sizeof (std::vector*)]; // "fast int32 arg list" // fast_int32_arg_list - char dummy9[sizeof(std::vector*)]; + char dummy9[sizeof (std::vector*)]; // "fast int64 arg list" // fast_int64_arg_list - char dummy10[sizeof(std::vector*)]; + char dummy10[sizeof (std::vector*)]; // "fast int8 arg list" // fast_int8_arg_list - char dummy11[sizeof(std::vector*)]; + char dummy11[sizeof (std::vector*)]; // "fast uint16 arg list" // fast_uint16_arg_list - char dummy12[sizeof(std::vector*)]; + char dummy12[sizeof (std::vector*)]; // "fast uint32 arg list" // fast_uint32_arg_list - char dummy13[sizeof(std::vector*)]; + char dummy13[sizeof (std::vector*)]; // "fast uint64 arg list" // fast_uint64_arg_list - char dummy14[sizeof(std::vector*)]; -}; + char dummy14[sizeof (std::vector*)]; + }; + + /// The size of the largest semantic type. + enum { size = sizeof (union_type) }; + + /// A buffer to store semantic values. + union + { + /// Strongest alignment constraints. + long double yyalign_me; + /// A buffer large enough to store any of the semantic values. + char yyraw[size]; + } yybuffer_; + + /// Whether the content is built: if defined, the name of the stored type. + const std::type_info *yytypeid_; + }; - /// Symbol semantic values. - typedef variant semantic_type; #else typedef YYSTYPE semantic_type; #endif @@ -376,7 +471,18 @@ /// Syntax errors thrown from user actions. struct syntax_error : std::runtime_error { - syntax_error (const location_type& l, const std::string& m); + syntax_error (const location_type& l, const std::string& m) + : std::runtime_error (m) + , location (l) + {} + + syntax_error (const syntax_error& s) + : std::runtime_error (s.what ()) + , location (s.location) + {} + + ~syntax_error () YY_NOEXCEPT YY_NOTHROW; + location_type location; }; @@ -424,7 +530,7 @@ /// A complete symbol. /// /// Expects its Base type to provide access to the symbol type - /// via type_get(). + /// via type_get (). /// /// Provide access to semantic value and location. template @@ -434,57 +540,327 @@ typedef Base super_type; /// Default constructor. - basic_symbol (); + basic_symbol () + : value () + , location () + {} + +#if 201103L <= YY_CPLUSPLUS + /// Move constructor. + basic_symbol (basic_symbol&& that); +#endif /// Copy constructor. - basic_symbol (const basic_symbol& other); + basic_symbol (const basic_symbol& that); /// Constructor for valueless symbols, and symbols from each type. - - basic_symbol (typename Base::kind_type t, const location_type& l); - - basic_symbol (typename Base::kind_type t, const D4Function v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const D4RValue* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const D4RValueList* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::string v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - basic_symbol (typename Base::kind_type t, const std::vector* v, const location_type& l); - - - /// Constructor for symbols with semantic value. - basic_symbol (typename Base::kind_type t, - const semantic_type& v, - const location_type& l); +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, location_type&& l) + : Base (t) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const location_type& l) + : Base (t) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, D4Function&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const D4Function& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, D4RValue*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const D4RValue*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, D4RValueList*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const D4RValueList*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif +#if 201103L <= YY_CPLUSPLUS + basic_symbol (typename Base::kind_type t, std::vector*&& v, location_type&& l) + : Base (t) + , value (std::move (v)) + , location (std::move (l)) + {} +#else + basic_symbol (typename Base::kind_type t, const std::vector*& v, const location_type& l) + : Base (t) + , value (v) + , location (l) + {} +#endif /// Destroy the symbol. - ~basic_symbol (); + ~basic_symbol () + { + clear (); + } /// Destroy contents, and record that is empty. - void clear (); + void clear () + { + // User destructor. + symbol_number_type yytype = this->type_get (); + basic_symbol& yysym = *this; + (void) yysym; + switch (yytype) + { + default: + break; + } + + // Type destructor. +switch (yytype) + { + case 7: // "function name" + case 44: // fname + value.template destroy< D4Function > (); + break; + + case 5: // "argument" + case 6: // "function" + case 8: // "variable or constant" + case 9: // "array constant" + case 43: // function + case 46: // arg + case 47: // variable_or_constant + case 48: // array_constant + value.template destroy< D4RValue* > (); + break; + + case 3: // "functions" + case 4: // "arguments" + case 42: // functions + case 45: // args + value.template destroy< D4RValueList* > (); + break; + + case 20: // "word" + case 21: // "string" + case 60: // id + case 61: // group + case 62: // path + case 63: // name + value.template destroy< std::string > (); + break; + + case 10: // "fast byte arg list" + case 50: // fast_byte_arg_list + value.template destroy< std::vector* > (); + break; + + case 18: // "fast float32 arg list" + case 58: // fast_float32_arg_list + value.template destroy< std::vector* > (); + break; + + case 19: // "fast float64 arg list" + case 59: // fast_float64_arg_list + value.template destroy< std::vector* > (); + break; + + case 13: // "fast int16 arg list" + case 53: // fast_int16_arg_list + value.template destroy< std::vector* > (); + break; + + case 15: // "fast int32 arg list" + case 55: // fast_int32_arg_list + value.template destroy< std::vector* > (); + break; + + case 17: // "fast int64 arg list" + case 57: // fast_int64_arg_list + value.template destroy< std::vector* > (); + break; + + case 11: // "fast int8 arg list" + case 51: // fast_int8_arg_list + value.template destroy< std::vector* > (); + break; + + case 12: // "fast uint16 arg list" + case 52: // fast_uint16_arg_list + value.template destroy< std::vector* > (); + break; + + case 14: // "fast uint32 arg list" + case 54: // fast_uint32_arg_list + value.template destroy< std::vector* > (); + break; + + case 16: // "fast uint64 arg list" + case 56: // fast_uint64_arg_list + value.template destroy< std::vector* > (); + break; + + default: + break; + } + + Base::clear (); + } /// Whether empty. - bool empty () const; + bool empty () const YY_NOEXCEPT; /// Destructive move, \a s is emptied into this. void move (basic_symbol& s); @@ -496,8 +872,10 @@ location_type location; private: +#if YY_CPLUSPLUS < 201103L /// Assignment operator. - basic_symbol& operator= (const basic_symbol& other); + basic_symbol& operator= (const basic_symbol& that); +#endif }; /// Type access provider for token (enum) based symbols. @@ -506,8 +884,13 @@ /// Default constructor. by_type (); +#if 201103L <= YY_CPLUSPLUS + /// Move constructor. + by_type (by_type&& that); +#endif + /// Copy constructor. - by_type (const by_type& other); + by_type (const by_type& that); /// The symbol type as needed by the constructor. typedef token_type kind_type; @@ -523,10 +906,10 @@ /// The (internal) type number (corresponding to \a type). /// \a empty when empty. - symbol_number_type type_get () const; + symbol_number_type type_get () const YY_NOEXCEPT; /// The token. - token_type token () const; + token_type token () const YY_NOEXCEPT; /// The symbol type. /// \a empty_symbol when empty. @@ -535,98 +918,220 @@ }; /// "External" symbols: returned by the scanner. - typedef basic_symbol symbol_type; + struct symbol_type : basic_symbol + { + /// Superclass. + typedef basic_symbol super_type; - // Symbol constructors declarations. - static inline - symbol_type - make_END (const location_type& l); - - static inline - symbol_type - make_WORD (const std::string& v, const location_type& l); - - static inline - symbol_type - make_STRING (const std::string& v, const location_type& l); - - static inline - symbol_type - make_SEMICOLON (const location_type& l); - - static inline - symbol_type - make_COLON (const location_type& l); - - static inline - symbol_type - make_LPAREN (const location_type& l); - - static inline - symbol_type - make_RPAREN (const location_type& l); - - static inline - symbol_type - make_COMMA (const location_type& l); - - static inline - symbol_type - make_GROUP_SEP (const location_type& l); - - static inline - symbol_type - make_PATH_SEP (const location_type& l); - - static inline - symbol_type - make_DOLLAR_BYTE (const location_type& l); - - static inline - symbol_type - make_DOLLAR_UINT8 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_INT8 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_UINT16 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_INT16 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_UINT32 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_INT32 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_UINT64 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_INT64 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_FLOAT32 (const location_type& l); - - static inline - symbol_type - make_DOLLAR_FLOAT64 (const location_type& l); + /// Empty symbol. + symbol_type () {} + /// Constructor for valueless symbols, and symbols from each type. +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, location_type l) + : super_type(token_type (tok), std::move (l)) + { + YYASSERT (tok == token::END || tok == token::SEMICOLON || tok == token::COLON || tok == token::LPAREN || tok == token::RPAREN || tok == token::COMMA || tok == token::GROUP_SEP || tok == token::PATH_SEP || tok == token::DOLLAR_BYTE || tok == token::DOLLAR_UINT8 || tok == token::DOLLAR_INT8 || tok == token::DOLLAR_UINT16 || tok == token::DOLLAR_INT16 || tok == token::DOLLAR_UINT32 || tok == token::DOLLAR_INT32 || tok == token::DOLLAR_UINT64 || tok == token::DOLLAR_INT64 || tok == token::DOLLAR_FLOAT32 || tok == token::DOLLAR_FLOAT64); + } +#else + symbol_type (int tok, const location_type& l) + : super_type(token_type (tok), l) + { + YYASSERT (tok == token::END || tok == token::SEMICOLON || tok == token::COLON || tok == token::LPAREN || tok == token::RPAREN || tok == token::COMMA || tok == token::GROUP_SEP || tok == token::PATH_SEP || tok == token::DOLLAR_BYTE || tok == token::DOLLAR_UINT8 || tok == token::DOLLAR_INT8 || tok == token::DOLLAR_UINT16 || tok == token::DOLLAR_INT16 || tok == token::DOLLAR_UINT32 || tok == token::DOLLAR_INT32 || tok == token::DOLLAR_UINT64 || tok == token::DOLLAR_INT64 || tok == token::DOLLAR_FLOAT32 || tok == token::DOLLAR_FLOAT64); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, D4Function v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 262); + } +#else + symbol_type (int tok, const D4Function& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 262); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, D4RValue* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 260 || tok == 261 || tok == 263 || tok == 264); + } +#else + symbol_type (int tok, const D4RValue*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 260 || tok == 261 || tok == 263 || tok == 264); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, D4RValueList* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 258 || tok == 259); + } +#else + symbol_type (int tok, const D4RValueList*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 258 || tok == 259); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::string v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == token::WORD || tok == token::STRING); + } +#else + symbol_type (int tok, const std::string& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == token::WORD || tok == token::STRING); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 265); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 265); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 273); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 273); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 274); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 274); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 268); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 268); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 270); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 270); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 272); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 272); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 266); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 266); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 267); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 267); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 269); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 269); + } +#endif +#if 201103L <= YY_CPLUSPLUS + symbol_type (int tok, std::vector* v, location_type l) + : super_type(token_type (tok), std::move (v), std::move (l)) + { + YYASSERT (tok == 271); + } +#else + symbol_type (int tok, const std::vector*& v, const location_type& l) + : super_type(token_type (tok), v, l) + { + YYASSERT (tok == 271); + } +#endif + }; /// Build a parser object. D4FunctionParser (D4FunctionScanner &scanner_yyarg, D4FunctionEvaluator &evaluator_yyarg); virtual ~D4FunctionParser (); + /// Parse. An alias for parse (). + /// \returns 0 iff parsing succeeded. + int operator() (); + /// Parse. /// \returns 0 iff parsing succeeded. virtual int parse (); @@ -653,6 +1158,324 @@ /// Report a syntax error. void error (const syntax_error& err); + // Implementation of make_symbol for each symbol type. +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_END (location_type l) + { + return symbol_type (token::END, std::move (l)); + } +#else + static + symbol_type + make_END (const location_type& l) + { + return symbol_type (token::END, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_WORD (std::string v, location_type l) + { + return symbol_type (token::WORD, std::move (v), std::move (l)); + } +#else + static + symbol_type + make_WORD (const std::string& v, const location_type& l) + { + return symbol_type (token::WORD, v, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_STRING (std::string v, location_type l) + { + return symbol_type (token::STRING, std::move (v), std::move (l)); + } +#else + static + symbol_type + make_STRING (const std::string& v, const location_type& l) + { + return symbol_type (token::STRING, v, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_SEMICOLON (location_type l) + { + return symbol_type (token::SEMICOLON, std::move (l)); + } +#else + static + symbol_type + make_SEMICOLON (const location_type& l) + { + return symbol_type (token::SEMICOLON, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_COLON (location_type l) + { + return symbol_type (token::COLON, std::move (l)); + } +#else + static + symbol_type + make_COLON (const location_type& l) + { + return symbol_type (token::COLON, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_LPAREN (location_type l) + { + return symbol_type (token::LPAREN, std::move (l)); + } +#else + static + symbol_type + make_LPAREN (const location_type& l) + { + return symbol_type (token::LPAREN, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_RPAREN (location_type l) + { + return symbol_type (token::RPAREN, std::move (l)); + } +#else + static + symbol_type + make_RPAREN (const location_type& l) + { + return symbol_type (token::RPAREN, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_COMMA (location_type l) + { + return symbol_type (token::COMMA, std::move (l)); + } +#else + static + symbol_type + make_COMMA (const location_type& l) + { + return symbol_type (token::COMMA, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_GROUP_SEP (location_type l) + { + return symbol_type (token::GROUP_SEP, std::move (l)); + } +#else + static + symbol_type + make_GROUP_SEP (const location_type& l) + { + return symbol_type (token::GROUP_SEP, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_PATH_SEP (location_type l) + { + return symbol_type (token::PATH_SEP, std::move (l)); + } +#else + static + symbol_type + make_PATH_SEP (const location_type& l) + { + return symbol_type (token::PATH_SEP, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_BYTE (location_type l) + { + return symbol_type (token::DOLLAR_BYTE, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_BYTE (const location_type& l) + { + return symbol_type (token::DOLLAR_BYTE, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_UINT8 (location_type l) + { + return symbol_type (token::DOLLAR_UINT8, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_UINT8 (const location_type& l) + { + return symbol_type (token::DOLLAR_UINT8, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_INT8 (location_type l) + { + return symbol_type (token::DOLLAR_INT8, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_INT8 (const location_type& l) + { + return symbol_type (token::DOLLAR_INT8, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_UINT16 (location_type l) + { + return symbol_type (token::DOLLAR_UINT16, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_UINT16 (const location_type& l) + { + return symbol_type (token::DOLLAR_UINT16, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_INT16 (location_type l) + { + return symbol_type (token::DOLLAR_INT16, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_INT16 (const location_type& l) + { + return symbol_type (token::DOLLAR_INT16, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_UINT32 (location_type l) + { + return symbol_type (token::DOLLAR_UINT32, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_UINT32 (const location_type& l) + { + return symbol_type (token::DOLLAR_UINT32, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_INT32 (location_type l) + { + return symbol_type (token::DOLLAR_INT32, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_INT32 (const location_type& l) + { + return symbol_type (token::DOLLAR_INT32, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_UINT64 (location_type l) + { + return symbol_type (token::DOLLAR_UINT64, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_UINT64 (const location_type& l) + { + return symbol_type (token::DOLLAR_UINT64, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_INT64 (location_type l) + { + return symbol_type (token::DOLLAR_INT64, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_INT64 (const location_type& l) + { + return symbol_type (token::DOLLAR_INT64, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_FLOAT32 (location_type l) + { + return symbol_type (token::DOLLAR_FLOAT32, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_FLOAT32 (const location_type& l) + { + return symbol_type (token::DOLLAR_FLOAT32, l); + } +#endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DOLLAR_FLOAT64 (location_type l) + { + return symbol_type (token::DOLLAR_FLOAT64, std::move (l)); + } +#else + static + symbol_type + make_DOLLAR_FLOAT64 (const location_type& l) + { + return symbol_type (token::DOLLAR_FLOAT64, l); + } +#endif + + private: /// This class is not copyable. D4FunctionParser (const D4FunctionParser&); @@ -705,7 +1528,7 @@ // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If // positive, shift that token. If negative, reduce the rule whose // number is the opposite. If YYTABLE_NINF, syntax error. - static const short int yytable_[]; + static const short yytable_[]; static const signed char yycheck_[]; @@ -728,14 +1551,15 @@ static const char* const yytname_[]; #if YYDEBUG // YYRLINE[YYN] -- Source line where rule number YYN was defined. - static const unsigned short int yyrline_[]; + static const unsigned short yyrline_[]; /// Report on the debug stream that the rule \a r is going to be reduced. virtual void yy_reduce_print_ (int r); /// Print the state stack on the debug stream. virtual void yystack_print_ (); - // Debugging. + /// Debugging level. int yydebug_; + /// Debug stream. std::ostream* yycdebug_; /// \brief Display a symbol type, value and location. @@ -757,26 +1581,26 @@ struct by_state { /// Default constructor. - by_state (); + by_state () YY_NOEXCEPT; /// The symbol type as needed by the constructor. typedef state_type kind_type; /// Constructor. - by_state (kind_type s); + by_state (kind_type s) YY_NOEXCEPT; /// Copy constructor. - by_state (const by_state& other); + by_state (const by_state& that) YY_NOEXCEPT; /// Record that this symbol is empty. - void clear (); + void clear () YY_NOEXCEPT; /// Steal the symbol type from \a that. void move (by_state& that); /// The (internal) type number (corresponding to \a state). /// \a empty_symbol when empty. - symbol_number_type type_get () const; + symbol_number_type type_get () const YY_NOEXCEPT; /// The state number used to denote an empty symbol. enum { empty_state = -1 }; @@ -793,12 +1617,141 @@ typedef basic_symbol super_type; /// Construct an empty symbol. stack_symbol_type (); + /// Move or copy construction. + stack_symbol_type (YY_RVREF (stack_symbol_type) that); /// Steal the contents from \a sym to build this. - stack_symbol_type (state_type s, symbol_type& sym); - /// Assignment, needed by push_back. - stack_symbol_type& operator= (const stack_symbol_type& that); + stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym); +#if YY_CPLUSPLUS < 201103L + /// Assignment, needed by push_back by some old implementations. + /// Moves the contents of that. + stack_symbol_type& operator= (stack_symbol_type& that); +#endif }; + /// A stack with random access from its top. + template > + class stack + { + public: + // Hide our reversed order. + typedef typename S::reverse_iterator iterator; + typedef typename S::const_reverse_iterator const_iterator; + typedef typename S::size_type size_type; + + stack (size_type n = 200) + : seq_ (n) + {} + + /// Random access. + /// + /// Index 0 returns the topmost element. + T& + operator[] (size_type i) + { + return seq_[size () - 1 - i]; + } + + /// Random access. + /// + /// Index 0 returns the topmost element. + T& + operator[] (int i) + { + return operator[] (size_type (i)); + } + + /// Random access. + /// + /// Index 0 returns the topmost element. + const T& + operator[] (size_type i) const + { + return seq_[size () - 1 - i]; + } + + /// Random access. + /// + /// Index 0 returns the topmost element. + const T& + operator[] (int i) const + { + return operator[] (size_type (i)); + } + + /// Steal the contents of \a t. + /// + /// Close to move-semantics. + void + push (YY_MOVE_REF (T) t) + { + seq_.push_back (T ()); + operator[] (0).move (t); + } + + /// Pop elements from the stack. + void + pop (int n = 1) YY_NOEXCEPT + { + for (; 0 < n; --n) + seq_.pop_back (); + } + + /// Pop all elements from the stack. + void + clear () YY_NOEXCEPT + { + seq_.clear (); + } + + /// Number of elements on the stack. + size_type + size () const YY_NOEXCEPT + { + return seq_.size (); + } + + /// Iterator on top of the stack (going downwards). + const_iterator + begin () const YY_NOEXCEPT + { + return seq_.rbegin (); + } + + /// Bottom of the stack. + const_iterator + end () const YY_NOEXCEPT + { + return seq_.rend (); + } + + /// Present a slice of the top of a stack. + class slice + { + public: + slice (const stack& stack, int range) + : stack_ (stack) + , range_ (range) + {} + + const T& + operator[] (int i) const + { + return stack_[range_ - i]; + } + + private: + const stack& stack_; + int range_; + }; + + private: + stack (const stack&); + stack& operator= (const stack&); + /// The wrapped container. + S seq_; + }; + + /// Stack type. typedef stack stack_type; @@ -808,20 +1761,20 @@ /// Push a new state on the stack. /// \param m a debug message to display /// if null, no trace is output. - /// \param s the symbol + /// \param sym the symbol /// \warning the contents of \a s.value is stolen. - void yypush_ (const char* m, stack_symbol_type& s); + void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym); /// Push a new look ahead token on the state on the stack. /// \param m a debug message to display /// if null, no trace is output. /// \param s the state /// \param sym the symbol (for its value and location). - /// \warning the contents of \a s.value is stolen. - void yypush_ (const char* m, state_type s, symbol_type& sym); + /// \warning the contents of \a sym.value is stolen. + void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym); - /// Pop \a n symbols the three stacks. - void yypop_ (unsigned int n = 1); + /// Pop \a n symbols from the stack. + void yypop_ (int n = 1); /// Constants. enum @@ -842,9 +1795,9 @@ }; -#line 34 "d4_function_parser.yy" // lalr1.cc:392 +#line 34 "d4_function_parser.yy" // lalr1.cc:417 } // libdap -#line 848 "d4_function_parser.tab.hh" // lalr1.cc:392 +#line 1801 "d4_function_parser.tab.hh" // lalr1.cc:417 diff -Nru libdap-3.19.1/d4_function/d4_function_parser.yy libdap-3.20.5/d4_function/d4_function_parser.yy --- libdap-3.19.1/d4_function/d4_function_parser.yy 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/d4_function_parser.yy 2020-02-17 07:35:45.000000000 +0000 @@ -46,6 +46,8 @@ %code requires { +#define YYERROR_VERBOSE 0 + #include "D4FunctionEvaluator.h" #include "D4RValue.h" #include "dods-datatypes.h" @@ -210,6 +212,10 @@ { $$ = $1; } +| /* Null, argument lists may be empty */ +{ + $$ = 0; +} ; variable_or_constant : id diff -Nru libdap-3.19.1/d4_function/location.hh libdap-3.20.5/d4_function/location.hh --- libdap-3.19.1/d4_function/location.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/location.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,8 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. // Locations for Bison parsers in C++ -// Copyright (C) 2002-2015 Free Software Foundation, Inc. +// Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -38,12 +38,145 @@ #ifndef YY_YY_LOCATION_HH_INCLUDED # define YY_YY_LOCATION_HH_INCLUDED -# include "position.hh" +# include // std::max +# include +# include + +# ifndef YY_NULLPTR +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# else +# define YY_NULLPTR ((void*)0) +# endif +# endif -#line 34 "d4_function_parser.yy" // location.cc:337 +#line 34 "d4_function_parser.yy" // location.cc:360 namespace libdap { -#line 46 "location.hh" // location.cc:337 - /// Abstract a location. +#line 60 "location.hh" // location.cc:360 + /// A point in a source file. + class position + { + public: + /// Construct a position. + explicit position (std::string* f = YY_NULLPTR, + unsigned l = 1u, + unsigned c = 1u) + : filename (f) + , line (l) + , column (c) + {} + + + /// Initialization. + void initialize (std::string* fn = YY_NULLPTR, + unsigned l = 1u, + unsigned c = 1u) + { + filename = fn; + line = l; + column = c; + } + + /** \name Line and Column related manipulators + ** \{ */ + /// (line related) Advance to the COUNT next lines. + void lines (int count = 1) + { + if (count) + { + column = 1u; + line = add_ (line, count, 1); + } + } + + /// (column related) Advance to the COUNT next columns. + void columns (int count = 1) + { + column = add_ (column, count, 1); + } + /** \} */ + + /// File name to which this position refers. + std::string* filename; + /// Current line number. + unsigned line; + /// Current column number. + unsigned column; + + private: + /// Compute max (min, lhs+rhs). + static unsigned add_ (unsigned lhs, int rhs, int min) + { + return static_cast (std::max (min, + static_cast (lhs) + rhs)); + } + }; + + /// Add \a width columns, in place. + inline position& + operator+= (position& res, int width) + { + res.columns (width); + return res; + } + + /// Add \a width columns. + inline position + operator+ (position res, int width) + { + return res += width; + } + + /// Subtract \a width columns, in place. + inline position& + operator-= (position& res, int width) + { + return res += -width; + } + + /// Subtract \a width columns. + inline position + operator- (position res, int width) + { + return res -= width; + } + + /// Compare two position objects. + inline bool + operator== (const position& pos1, const position& pos2) + { + return (pos1.line == pos2.line + && pos1.column == pos2.column + && (pos1.filename == pos2.filename + || (pos1.filename && pos2.filename + && *pos1.filename == *pos2.filename))); + } + + /// Compare two position objects. + inline bool + operator!= (const position& pos1, const position& pos2) + { + return !(pos1 == pos2); + } + + /** \brief Intercept output stream redirection. + ** \param ostr the destination output stream + ** \param pos a reference to the position to redirect + */ + template + std::basic_ostream& + operator<< (std::basic_ostream& ostr, const position& pos) + { + if (pos.filename) + ostr << *pos.filename << ':'; + return ostr << pos.line << '.' << pos.column; + } + + /// Two points in a source file. class location { public: @@ -52,30 +185,27 @@ location (const position& b, const position& e) : begin (b) , end (e) - { - } + {} /// Construct a 0-width location in \a p. explicit location (const position& p = position ()) : begin (p) , end (p) - { - } + {} /// Construct a 0-width location in \a f, \a l, \a c. explicit location (std::string* f, - unsigned int l = 1u, - unsigned int c = 1u) + unsigned l = 1u, + unsigned c = 1u) : begin (f, l, c) , end (f, l, c) - { - } + {} /// Initialization. void initialize (std::string* f = YY_NULLPTR, - unsigned int l = 1u, - unsigned int c = 1u) + unsigned l = 1u, + unsigned c = 1u) { begin.initialize (f, l, c); end = begin; @@ -170,10 +300,10 @@ ** Avoid duplicate information. */ template - inline std::basic_ostream& + std::basic_ostream& operator<< (std::basic_ostream& ostr, const location& loc) { - unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0; + unsigned end_col = 0 < loc.end.column ? loc.end.column - 1 : 0; ostr << loc.begin; if (loc.end.filename && (!loc.begin.filename @@ -186,7 +316,7 @@ return ostr; } -#line 34 "d4_function_parser.yy" // location.cc:337 +#line 34 "d4_function_parser.yy" // location.cc:360 } // libdap -#line 192 "location.hh" // location.cc:337 +#line 322 "location.hh" // location.cc:360 #endif // !YY_YY_LOCATION_HH_INCLUDED diff -Nru libdap-3.19.1/d4_function/Makefile.am libdap-3.20.5/d4_function/Makefile.am --- libdap-3.19.1/d4_function/Makefile.am 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/Makefile.am 2020-02-17 07:35:45.000000000 +0000 @@ -25,8 +25,22 @@ CXXFLAGS_DEBUG = -g3 -O0 -Wall -W -Wcast-align TEST_COV_FLAGS = -ftest-coverage -fprofile-arcs +if USE_ASAN +ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer +endif + +# Removed $(CXX11_FLAG) since c++0x, gcc 4.4.x and bison -gneerated code +# do not work together. jhrg 4//5/19 if BUILD_DEVELOPER -AM_CXXFLAGS += $(CXXFLAGS_DEBUG) +AM_CXXFLAGS += $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +else +AM_CXXFLAGS += -g -O2 +endif + +AM_LDFLAGS = +if ENABLE_COVERAGE +AM_CXXFLAGS += -fprofile-arcs -ftest-coverage -pg +AM_LDFLAGS += -lgcov --coverage -pg endif noinst_LTLIBRARIES = libd4_function_parser.la @@ -42,7 +56,7 @@ d4_function_parser.tab.cc d4_function_parser.tab.hh lex.d4_function.cc \ stack.hh location.hh position.hh -libd4_ce_parser_la_CXXFLAGS=$(AM_CPPFLAGS) +libd4_ce_parser_la_CXXFLAGS = $(AM_CPPFLAGS) $(AM_CXXFLAGS) EXTRA_DIST = d4_function_parser.yy d4_function_scanner.ll diff -Nru libdap-3.19.1/d4_function/Makefile.in libdap-3.20.5/d4_function/Makefile.in --- libdap-3.19.1/d4_function/Makefile.in 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/Makefile.in 2020-02-17 07:35:45.000000000 +0000 @@ -79,7 +79,13 @@ build_triplet = @build@ host_triplet = @host@ @COMPILER_IS_GCC_TRUE@am__append_1 = -Wall -W -Wcast-align -@BUILD_DEVELOPER_TRUE@am__append_2 = $(CXXFLAGS_DEBUG) + +# Removed $(CXX11_FLAG) since c++0x, gcc 4.4.x and bison -gneerated code +# do not work together. jhrg 4//5/19 +@BUILD_DEVELOPER_TRUE@am__append_2 = $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +@BUILD_DEVELOPER_FALSE@am__append_3 = -g -O2 +@ENABLE_COVERAGE_TRUE@am__append_4 = -fprofile-arcs -ftest-coverage -pg +@ENABLE_COVERAGE_TRUE@am__append_5 = -lgcov --coverage -pg subdir = d4_function DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/conf/depcomp $(pkginclude_HEADERS) @@ -138,6 +144,7 @@ $(top_srcdir)/gl/m4/wcrtomb.m4 $(top_srcdir)/gl/m4/wctype_h.m4 \ $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/conf/acinclude.m4 \ $(top_srcdir)/conf/cppunit.m4 \ + $(top_srcdir)/conf/cxx_flags_check.m4 \ $(top_srcdir)/conf/gcov_valgrind.m4 \ $(top_srcdir)/conf/libtool.m4 $(top_srcdir)/conf/ltoptions.m4 \ $(top_srcdir)/conf/ltsugar.m4 $(top_srcdir)/conf/ltversion.m4 \ @@ -300,14 +307,17 @@ CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@ CPPUNIT_CONFIG = @CPPUNIT_CONFIG@ CPPUNIT_LIBS = @CPPUNIT_LIBS@ +CRYPTO_LIBS = @CRYPTO_LIBS@ CURL_CFLAGS = @CURL_CFLAGS@ CURL_LIBS = @CURL_LIBS@ CURL_STATIC_LIBS = @CURL_STATIC_LIBS@ CXX = @CXX@ +CXX11_FLAG = @CXX11_FLAG@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DAP3_2_DDX = @DAP3_2_DDX@ DAPLIB_AGE = @DAPLIB_AGE@ DAPLIB_CURRENT = @DAPLIB_CURRENT@ DAPLIB_REVISION = @DAPLIB_REVISION@ @@ -618,7 +628,6 @@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VALGRIND = @HAVE_VALGRIND@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ @@ -860,6 +869,8 @@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIRPC_CFLAGS = @TIRPC_CFLAGS@ +TIRPC_LIBS = @TIRPC_LIBS@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -943,7 +954,8 @@ # Arrange to build with the backward compatibility mode enabled. AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/d4_ce -I$(srcdir) $(XML2_CFLAGS) -AM_CXXFLAGS = $(am__append_1) $(am__append_2) +AM_CXXFLAGS = $(am__append_1) $(am__append_2) $(am__append_3) \ + $(am__append_4) # autoconf/automake includes support for yacc and lex so that the input # files for those compilers can be listed in a _SOURCES variable and the @@ -957,6 +969,8 @@ # AM_LFLAGS = -d CXXFLAGS_DEBUG = -g3 -O0 -Wall -W -Wcast-align TEST_COV_FLAGS = -ftest-coverage -fprofile-arcs +@USE_ASAN_TRUE@ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer +AM_LDFLAGS = $(am__append_5) noinst_LTLIBRARIES = libd4_function_parser.la pkginclude_HEADERS = D4FunctionEvaluator.h @@ -970,7 +984,7 @@ d4_function_parser.tab.cc d4_function_parser.tab.hh lex.d4_function.cc \ stack.hh location.hh position.hh -libd4_ce_parser_la_CXXFLAGS = $(AM_CPPFLAGS) +libd4_ce_parser_la_CXXFLAGS = $(AM_CPPFLAGS) $(AM_CXXFLAGS) EXTRA_DIST = d4_function_parser.yy d4_function_scanner.ll DISTCLEANFILES = all: $(BUILT_SOURCES) diff -Nru libdap-3.19.1/d4_function/position.hh libdap-3.20.5/d4_function/position.hh --- libdap-3.19.1/d4_function/position.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/position.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,180 +1,11 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. -// Positions for Bison parsers in C++ +// Starting with Bison 3.2, this file is useless: the structure it +// used to define is now defined in "location.hh". +// +// To get rid of this file: +// 1. add 'require "3.2"' (or newer) to your grammar file +// 2. remove references to this file from your build system +// 3. if you used to include it, include "location.hh" instead. -// Copyright (C) 2002-2015 Free Software Foundation, Inc. - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -// As a special exception, you may create a larger work that contains -// part or all of the Bison parser skeleton and distribute that work -// under terms of your choice, so long as that work isn't itself a -// parser generator using the skeleton or a modified version thereof -// as a parser skeleton. Alternatively, if you modify or redistribute -// the parser skeleton itself, you may (at your option) remove this -// special exception, which will cause the skeleton and the resulting -// Bison output files to be licensed under the GNU General Public -// License without this special exception. - -// This special exception was added by the Free Software Foundation in -// version 2.2 of Bison. - -/** - ** \file position.hh - ** Define the libdap::position class. - */ - -#ifndef YY_YY_POSITION_HH_INCLUDED -# define YY_YY_POSITION_HH_INCLUDED - -# include // std::max -# include -# include - -# ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr -# else -# define YY_NULLPTR 0 -# endif -# endif - -#line 34 "d4_function_parser.yy" // location.cc:337 -namespace libdap { -#line 56 "position.hh" // location.cc:337 - /// Abstract a position. - class position - { - public: - /// Construct a position. - explicit position (std::string* f = YY_NULLPTR, - unsigned int l = 1u, - unsigned int c = 1u) - : filename (f) - , line (l) - , column (c) - { - } - - - /// Initialization. - void initialize (std::string* fn = YY_NULLPTR, - unsigned int l = 1u, - unsigned int c = 1u) - { - filename = fn; - line = l; - column = c; - } - - /** \name Line and Column related manipulators - ** \{ */ - /// (line related) Advance to the COUNT next lines. - void lines (int count = 1) - { - if (count) - { - column = 1u; - line = add_ (line, count, 1); - } - } - - /// (column related) Advance to the COUNT next columns. - void columns (int count = 1) - { - column = add_ (column, count, 1); - } - /** \} */ - - /// File name to which this position refers. - std::string* filename; - /// Current line number. - unsigned int line; - /// Current column number. - unsigned int column; - - private: - /// Compute max(min, lhs+rhs) (provided min <= lhs). - static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min) - { - return (0 < rhs || -static_cast(rhs) < lhs - ? rhs + lhs - : min); - } - }; - - /// Add \a width columns, in place. - inline position& - operator+= (position& res, int width) - { - res.columns (width); - return res; - } - - /// Add \a width columns. - inline position - operator+ (position res, int width) - { - return res += width; - } - - /// Subtract \a width columns, in place. - inline position& - operator-= (position& res, int width) - { - return res += -width; - } - - /// Subtract \a width columns. - inline position - operator- (position res, int width) - { - return res -= width; - } - - /// Compare two position objects. - inline bool - operator== (const position& pos1, const position& pos2) - { - return (pos1.line == pos2.line - && pos1.column == pos2.column - && (pos1.filename == pos2.filename - || (pos1.filename && pos2.filename - && *pos1.filename == *pos2.filename))); - } - - /// Compare two position objects. - inline bool - operator!= (const position& pos1, const position& pos2) - { - return !(pos1 == pos2); - } - - /** \brief Intercept output stream redirection. - ** \param ostr the destination output stream - ** \param pos a reference to the position to redirect - */ - template - inline std::basic_ostream& - operator<< (std::basic_ostream& ostr, const position& pos) - { - if (pos.filename) - ostr << *pos.filename << ':'; - return ostr << pos.line << '.' << pos.column; - } - -#line 34 "d4_function_parser.yy" // location.cc:337 -} // libdap -#line 180 "position.hh" // location.cc:337 -#endif // !YY_YY_POSITION_HH_INCLUDED +#include "location.hh" diff -Nru libdap-3.19.1/d4_function/stack.hh libdap-3.20.5/d4_function/stack.hh --- libdap-3.19.1/d4_function/stack.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/d4_function/stack.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,157 +1,8 @@ -// A Bison parser, made by GNU Bison 3.0.4. +// A Bison parser, made by GNU Bison 3.3. -// Stack handling for Bison parsers in C++ - -// Copyright (C) 2002-2015 Free Software Foundation, Inc. - -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -// As a special exception, you may create a larger work that contains -// part or all of the Bison parser skeleton and distribute that work -// under terms of your choice, so long as that work isn't itself a -// parser generator using the skeleton or a modified version thereof -// as a parser skeleton. Alternatively, if you modify or redistribute -// the parser skeleton itself, you may (at your option) remove this -// special exception, which will cause the skeleton and the resulting -// Bison output files to be licensed under the GNU General Public -// License without this special exception. - -// This special exception was added by the Free Software Foundation in -// version 2.2 of Bison. - -/** - ** \file stack.hh - ** Define the libdap::stack class. - */ - -#ifndef YY_YY_STACK_HH_INCLUDED -# define YY_YY_STACK_HH_INCLUDED - -# include - -#line 34 "d4_function_parser.yy" // stack.hh:151 -namespace libdap { -#line 46 "stack.hh" // stack.hh:151 - template > - class stack - { - public: - // Hide our reversed order. - typedef typename S::reverse_iterator iterator; - typedef typename S::const_reverse_iterator const_iterator; - - stack () - : seq_ () - { - seq_.reserve (200); - } - - stack (unsigned int n) - : seq_ (n) - {} - - inline - T& - operator[] (unsigned int i) - { - return seq_[seq_.size () - 1 - i]; - } - - inline - const T& - operator[] (unsigned int i) const - { - return seq_[seq_.size () - 1 - i]; - } - - /// Steal the contents of \a t. - /// - /// Close to move-semantics. - inline - void - push (T& t) - { - seq_.push_back (T()); - operator[](0).move (t); - } - - inline - void - pop (unsigned int n = 1) - { - for (; n; --n) - seq_.pop_back (); - } - - void - clear () - { - seq_.clear (); - } - - inline - typename S::size_type - size () const - { - return seq_.size (); - } - - inline - const_iterator - begin () const - { - return seq_.rbegin (); - } - - inline - const_iterator - end () const - { - return seq_.rend (); - } - - private: - stack (const stack&); - stack& operator= (const stack&); - /// The wrapped container. - S seq_; - }; - - /// Present a slice of the top of a stack. - template > - class slice - { - public: - slice (const S& stack, unsigned int range) - : stack_ (stack) - , range_ (range) - {} - - inline - const T& - operator [] (unsigned int i) const - { - return stack_[range_ - i]; - } - - private: - const S& stack_; - unsigned int range_; - }; - -#line 34 "d4_function_parser.yy" // stack.hh:151 -} // libdap -#line 156 "stack.hh" // stack.hh:151 - -#endif // !YY_YY_STACK_HH_INCLUDED +// Starting with Bison 3.2, this file is useless: the structure it +// used to define is now defined with the parser itself. +// +// To get rid of this file: +// 1. add 'require "3.2"' (or newer) to your grammar file +// 2. remove references to this file from your build system. diff -Nru libdap-3.19.1/D4Group.cc libdap-3.20.5/D4Group.cc --- libdap-3.19.1/D4Group.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4Group.cc 2020-02-17 07:35:45.000000000 +0000 @@ -26,6 +26,8 @@ //#define DODS_DEBUG +#include + #include #include #include @@ -611,8 +613,7 @@ throw InternalErr(__FILE__, __LINE__, "Could not end " + type_name() + " element"); } } - - +#if 0 /** @brief DAP4 to DAP2 transform * * D4Group objects, with the exception of the root group, "disappear" @@ -622,34 +623,64 @@ * (metadata) are transfered to the parent_attr_table. The Group * members are collected returned in vector. * - * * @param The AttrTable pointer parent_attr_table is used by Groups, which disappear - * from the DAP2 representation. Their children are returned in the the BAseType vector + * from the DAP2 representation. Their children are returned in the the BaseType vector * their attributes are added to parent_attr_table; * @return A pointer to a vector of BaseType pointers (right?). In this D4Group case the * vector will contain DAP2 versions of all of the member variables of the D4Group instance. * (ex: UInt64) the will return a NULL pointer and so this must be tested! */ vector * -D4Group::transform_to_dap2(AttrTable *parent_attr_table){ - return transform_to_dap2(parent_attr_table,false); +D4Group::transform_to_dap2(AttrTable *parent_attr_table) +{ + return transform_to_dap2(parent_attr_table, false); } +#endif +/** @brief Transform the D4Group's variables to DAP2 variables + * + * For all of the variables in a D4Group, build a vector of DAP2 variables + * that can be directly added to DDS object. Extract the DAP4 variables' + * attributes and transfer them the the AttrTable object passed as the first + * argument. + * + * For all variables in the D4Group that are members of child groups (i.e, + * not the root group), the name of the group (or names of the groups) will + * be prepended to the name of the variable. Group names are separated using + * a '/' character. + * + * The Group attributes are transfered to the parent_attr_table. + * + * @todo Fix the comment. + * + * @param parent_attr_table The AttrTable pointer parent_attr_table is used by Groups, which disappear + * from the DAP2 representation. Their children are returned in the the BaseType vector + * their attributes are added to parent_attr_table; + * @return A pointer to a vector of BaseType pointers (right?). In this D4Group case the + * vector will contain DAP2 versions of all of the member variables of the D4Group instance. + * (ex: UInt64) the will return a NULL pointer and so this must be tested! + */ vector * -D4Group::transform_to_dap2(AttrTable *parent_attr_table, bool is_root) +D4Group::transform_to_dap2(AttrTable *parent_attr_table) { - DBG( cerr << __func__ << "() - BEGIN ("<< name() << " is_root: "<< (is_root?"true":"false") << ")" << endl;); - vector *results = new vector(); - vector dropped_vars; + DBG( cerr << __func__ << "() - BEGIN ("<< name() << ")" << endl); - AttrTable *group_attrs; - group_attrs = attributes()->get_AttrTable(name()); + vector *results = new vector(); // LEAK - /** - * If this is the root group then we handle the attributes differently. - */ - if(is_root){ - DBG( cerr << __func__ << "() - Promoting group attributes to parent" << endl;); - // If it's a root group we copy all the stuff up into the parent attr table + // Get the D4Group's attributes +#if 0 + AttrTable *group_attrs = attributes()->get_AttrTable(name()); +#else + AttrTable *group_attrs = new AttrTable(); + attributes()->transform_attrs_to_dap2(group_attrs); + group_attrs->set_name(name()); +#endif + + // If this is the root group then copy all of its attributes into the parent_attr_table. + // The group_attrs AttrTable* above will be replaced by the parent_attr_table. + bool is_root = (name() == "/"); + + if (is_root) { + assert(name() == "/"); for (AttrTable::Attr_iter i = group_attrs->attr_begin(), e = group_attrs->attr_end(); i != e; ++i) { if ((*i)->type == Attr_container) { // copy the source container so that the DAS passed in can be @@ -658,86 +689,70 @@ parent_attr_table->append_container(at, at->get_name()); } else { - parent_attr_table->append_attr( - (*i)->name, - AttrType_to_String((*i)->type), - (*i)->attr); + parent_attr_table->append_attr((*i)->name, AttrType_to_String((*i)->type), (*i)->attr); } } delete group_attrs; group_attrs = parent_attr_table; } - /** - * Now we process the child variables of this group - */ - for (D4Group::Vars_citer varIter = var_begin(), e = var_end(); varIter != e; ++varIter) { - DBG( cerr << __func__ << "() - Processing member variable '" << (*varIter)->name() << - "' root: " << (is_root?"true":"false") << endl;); - vector *new_vars = (*varIter)->transform_to_dap2(group_attrs); + // Now we process the child variables of this group + + vector dropped_vars; + for (D4Group::Vars_citer i = var_begin(), e = var_end(); i != e; ++i) { + + DBG( cerr << __func__ << "() - Processing member variable '" << (*i)->name() << + "' root: " << (is_root?"true":"false") << endl); + + vector *new_vars = (*i)->transform_to_dap2(group_attrs); if (new_vars) { // Might be un-mappable // It's not so game on.. - vector::iterator vIter = new_vars->begin(); - vector::iterator end = new_vars->end(); - for( ; vIter!=end ; vIter++ ){ - BaseType *new_var = (*vIter); - - string new_name = (is_root?"":FQN()) + new_var->name(); - new_var->set_name(new_name); - results->push_back(new_var); - (*vIter) = NULL; - DBG( cerr << __func__ << "() - Added member variable '" << (*varIter)->name() << "' " << - "to results vector. root: "<< (is_root?"true":"false") << endl;); + for (vector::iterator vi = new_vars->begin(), ve = new_vars->end(); vi != ve; vi++) { + string new_name = (is_root ? "" : FQN()) + (*vi)->name(); + (*vi)->set_name(new_name); + (*vi)->set_parent(NULL); + results->push_back((*vi)); +#if 0 + (*vi) = NULL; +#endif + DBG( cerr << __func__ << "() - Added member variable '" << (*i)->name() << "' " << + "to results vector. root: "<< (is_root?"true":"false") << endl); } + delete new_vars; } else { - DBG( cerr << __func__ << "() - Dropping member variable " << (*varIter)->name() << - " root: " << (is_root?"true":"false") << endl;); + DBG( cerr << __func__ << "() - Dropping member variable " << (*i)->name() << + " root: " << (is_root?"true":"false") << endl); // Got back a NULL, so we are dropping this var. - dropped_vars.push_back(*varIter); + dropped_vars.push_back(*i); } } + // Process dropped DAP4 vars - DBG( cerr << __func__ << "() - Processing " << dropped_vars.size() << " Dropped Variable(s)" << endl;); - AttrTable *dv_attr_table = make_dropped_vars_attr_table(&dropped_vars); - if(dv_attr_table){ - DBG( cerr << __func__ << "() - Adding Dropped Variables AttrTable" << endl;); - group_attrs->append_container(dv_attr_table,dv_attr_table->get_name()); - } - else { - DBG( cerr << __func__ << "() - No Dropped Variables AttrTable returned." << endl;); + DBG( cerr << __func__ << "() - Processing " << dropped_vars.size() << " Dropped Variable(s)" << endl); + AttrTable *dv_attr_table = make_dropped_vars_attr_table(&dropped_vars); + if (dv_attr_table) { + group_attrs->append_container(dv_attr_table, dv_attr_table->get_name()); } - /** - * Get all the child groups. - */ - D4Group::groupsIter gIter = grp_begin(); - D4Group::groupsIter gEnd = grp_end(); - for( ; gIter!=gEnd ; gIter++){ - D4Group *grp = *gIter; - DBG( cerr << __func__ << "() - Processing D4Group " << grp->name() << endl;); - vector *d2_vars = grp->transform_to_dap2(group_attrs); - if(d2_vars){ - DBG( cerr << __func__ << "() - Processing " << grp->name() << " Member Variables." << endl;); - vector::iterator vIter = d2_vars->begin(); - vector::iterator vEnd = d2_vars->end(); - for( ; vIter!=vEnd; vIter++){ - DBG( cerr << __func__ << "() - Processing " << grp->name() << " Member Variable: " << (*vIter)->name() << endl;); - results->push_back(*vIter); + // Get all the child groups. + for (D4Group::groupsIter gi = grp_begin(), ge = grp_end(); gi != ge; ++gi) { + vector *d2_vars = (*gi)->transform_to_dap2(group_attrs); + if (d2_vars) { + for (vector::iterator i = d2_vars->begin(), e = d2_vars->end(); i != e; ++i) { + results->push_back(*i); } } - - - + delete d2_vars; } - if(!is_root){ + if (!is_root) { group_attrs->set_name(name()); - parent_attr_table->append_container(group_attrs,group_attrs->get_name()); + parent_attr_table->append_container(group_attrs, group_attrs->get_name()); } - DBG( cerr << __func__ << "() - END" << endl;); + return results; } diff -Nru libdap-3.19.1/D4Group.h libdap-3.20.5/D4Group.h --- libdap-3.19.1/D4Group.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4Group.h 2020-02-17 07:35:45.000000000 +0000 @@ -141,7 +141,7 @@ void print_dap4(XMLWriter &xml, bool constrained = false); virtual std::vector *transform_to_dap2(AttrTable *parent_attr_table); - virtual std::vector *transform_to_dap2(AttrTable *parent_attr_table, bool use_name_prefix); + //virtual std::vector *transform_to_dap2(AttrTable *parent_attr_table, bool is_root); }; diff -Nru libdap-3.19.1/D4Opaque.cc libdap-3.20.5/D4Opaque.cc --- libdap-3.19.1/D4Opaque.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4Opaque.cc 2020-02-17 07:35:45.000000000 +0000 @@ -39,6 +39,7 @@ #include "crc.h" #include "debug.h" +#include "DapIndent.h" #undef CLEAR_LOCAL_DATA diff -Nru libdap-3.19.1/D4ParserSax2.cc libdap-3.20.5/D4ParserSax2.cc --- libdap-3.19.1/D4ParserSax2.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4ParserSax2.cc 2020-02-17 07:35:45.000000000 +0000 @@ -33,7 +33,7 @@ #include #include -#include +#include #include "DMR.h" @@ -206,7 +206,7 @@ dim_def()->set_size(xml_attrs["size"].value); } catch (Error &e) { - dmr_error(this, e.get_error_message().c_str()); + dmr_error(this, "%s", e.get_error_message().c_str()); return false; } @@ -1238,7 +1238,7 @@ bool wellFormed = d_context->wellFormed; bool valid = d_context->valid; - d_context->sax = NULL; + // d_context->sax = NULL; xmlFreeParserCtxt(d_context); delete d_enum_def; @@ -1290,35 +1290,7 @@ throw InternalErr(__FILE__, __LINE__, "DMR object is null"); d_dmr = dest_dmr; // dump values here - #if 0 - // Old, bad, code. Lines are limited to 1023 chars including the element text. - const int size = 1024; - char chars[size]; - int line = 1; - - f.getline(chars, size); - int res = f.gcount(); - if (res == 0) throw Error("No input found while parsing the DMR."); - - getline(f, line); - - if (debug) cerr << "line: (" << line++ << "): " << chars << endl; - - d_context = xmlCreatePushParserCtxt(&d_dmr_sax_parser, this, chars, res - 1, "stream"); - d_context->validate = true; - push_state(parser_start); - - f.getline(chars, size); - while ((f.gcount() > 0) && (get_state() != parser_end)) { - if (debug) cerr << "line: (" << line++ << "): " << chars << endl; - xmlParseChunk(d_context, chars, f.gcount() - 1, 0); - f.getline(chars, size); - } - - // This call ends the parse. - xmlParseChunk(d_context, chars, 0, 1/*terminate*/); -#else int line_num = 1; string line; @@ -1347,9 +1319,45 @@ if (debug) cerr << "line: (" << line_num << "): " << endl << line << endl << endl; } - // This call ends the parse. xmlParseChunk(d_context, line.c_str(), 0, 1/*terminate*/); + +#else + int line_num = 1; + string line; + + // Get the XML prolog line (looks like: ) + getline(f, line); + if (line.length() == 0) throw Error("No input found while parsing the DMR."); + + if (debug) cerr << "line: (" << line_num << "): " << endl << line << endl << endl; + + d_context = xmlCreatePushParserCtxt(&d_dmr_sax_parser, this, line.c_str(), line.length(), "stream"); + d_context->validate = true; + push_state(parser_start); + + // Get the first chunk of the stuff + long chunk_count = 0; + long chunk_size = 0; + + f.read(d_parse_buffer, D4_PARSE_BUFF_SIZE); + chunk_size=f.gcount(); + d_parse_buffer[chunk_size]=0; // null terminate the string. We can do it this way because the buffer is +1 bigger than D4_PARSE_BUFF_SIZE + if (debug) cerr << "chunk: (" << chunk_count++ << "): " << endl << d_parse_buffer << endl << endl; + + while(!f.eof() && (get_state() != parser_end)){ + + xmlParseChunk(d_context, d_parse_buffer, chunk_size, 0); + + // There is more to read. Get the next chunk + f.read(d_parse_buffer, D4_PARSE_BUFF_SIZE); + chunk_size=f.gcount(); + d_parse_buffer[chunk_size]=0; // null terminate the string. We can do it this way because the buffer is +1 bigger than D4_PARSE_BUFF_SIZE + if (debug) cerr << "chunk: (" << chunk_count++ << "): " << endl << d_parse_buffer << endl << endl; + } + + // This call ends the parse. + xmlParseChunk(d_context, d_parse_buffer, chunk_size, 1/*terminate*/); #endif // This checks that the state on the parser stack is parser_end and throws @@ -1362,10 +1370,14 @@ * @param document Read the DMR from this string. * @param dest_dmr Value/result parameter; dumps the information to this DMR * instance. - * @param debug If true, ouput helpful debugging messages, False by default + * @param debug If true, output helpful debugging messages, False by default * * @exception Error Thrown if the XML document could not be read or parsed. * @exception InternalErr Thrown if an internal error is found. + * + * @deprecated Remove this; it's confusing (looks like it's reading from a file + * with the name stored in 'document') and offers nothing more than the call + * below with the char* buffer. */ void D4ParserSax2::intern(const string &document, DMR *dest_dmr, bool debug) { diff -Nru libdap-3.19.1/D4ParserSax2.h libdap-3.20.5/D4ParserSax2.h --- libdap-3.19.1/D4ParserSax2.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4ParserSax2.h 2020-02-17 07:35:45.000000000 +0000 @@ -38,6 +38,7 @@ #include #define CRLF "\r\n" +#define D4_PARSE_BUFF_SIZE 1048576 namespace libdap { @@ -116,6 +117,7 @@ parser_end }; + char d_parse_buffer[D4_PARSE_BUFF_SIZE+1]; // Buff size plus one byte for NULL termination. xmlSAXHandler d_dmr_sax_parser; @@ -279,6 +281,7 @@ } void intern(istream &f, DMR *dest_dmr, bool debug = false); + // Deprecated - this does not read from a file, it parses text in the string 'document' void intern(const string &document, DMR *dest_dmr, bool debug = false); void intern(const char *buffer, int size, DMR *dest_dmr, bool debug = false); diff -Nru libdap-3.19.1/D4RValue.cc libdap-3.20.5/D4RValue.cc --- libdap-3.19.1/D4RValue.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4RValue.cc 2020-02-17 07:35:45.000000000 +0000 @@ -284,8 +284,6 @@ default: throw InternalErr(__FILE__, __LINE__, "Unknown rvalue type."); } - - return 0; // nullptr; added return to quiet warning. jhrg 3/24/15 } /** @@ -316,8 +314,6 @@ default: throw InternalErr(__FILE__, __LINE__, "Unknown rvalue type."); } - - return 0; // nullptr; added return to quiet warning. jhrg 3/24/15 } } // namespace libdap diff -Nru libdap-3.19.1/D4Sequence.cc libdap-3.20.5/D4Sequence.cc --- libdap-3.19.1/D4Sequence.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4Sequence.cc 2020-02-17 07:35:45.000000000 +0000 @@ -43,6 +43,7 @@ #include "InternalErr.h" #include "util.h" #include "escaping.h" +#include "DapIndent.h" #undef CLEAR_LOCAL_DATA diff -Nru libdap-3.19.1/D4StreamMarshaller.cc libdap-3.20.5/D4StreamMarshaller.cc --- libdap-3.19.1/D4StreamMarshaller.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4StreamMarshaller.cc 2020-02-17 07:35:45.000000000 +0000 @@ -51,6 +51,7 @@ #include "util.h" #endif +#include "DapIndent.h" #include "debug.h" using namespace std; @@ -813,7 +814,6 @@ default: throw InternalErr(__FILE__, __LINE__, "Unknown datatype."); - break; } } diff -Nru libdap-3.19.1/D4StreamUnMarshaller.cc libdap-3.20.5/D4StreamUnMarshaller.cc --- libdap-3.19.1/D4StreamUnMarshaller.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/D4StreamUnMarshaller.cc 2020-02-17 07:35:45.000000000 +0000 @@ -39,10 +39,10 @@ //#define DODS_DEBUG 1 #include "util.h" -//#include "XDRUtils.h" #include "InternalErr.h" #include "D4StreamUnMarshaller.h" #include "debug.h" +#include "DapIndent.h" namespace libdap { diff -Nru libdap-3.19.1/DapObj.h libdap-3.20.5/DapObj.h --- libdap-3.19.1/DapObj.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/DapObj.h 2020-02-17 07:35:45.000000000 +0000 @@ -38,11 +38,6 @@ #include -using std::ostream ; -using std::endl ; - -#include "DapIndent.h" - namespace libdap { @@ -66,7 +61,7 @@ * * @param strm C++ i/o stream to dump the object to */ - virtual void dump(ostream &strm) const = 0 ; + virtual void dump(std::ostream &strm) const = 0 ; } ; } // namespace libdap @@ -80,8 +75,8 @@ * @param strm C++ i/o stream to dump the object to * @param obj The DapObj to dump */ -inline ostream & -operator<<(ostream &strm, const libdap::DapObj &obj) +inline std::ostream & +operator<<(std::ostream &strm, const libdap::DapObj &obj) { obj.dump(strm) ; return strm ; diff -Nru libdap-3.19.1/DAS.cc libdap-3.20.5/DAS.cc --- libdap-3.19.1/DAS.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/DAS.cc 2020-02-17 07:35:45.000000000 +0000 @@ -56,6 +56,7 @@ #include "parser.h" #include "escaping.h" #include "debug.h" +#include "DapIndent.h" using std::cerr; using std::endl; @@ -225,8 +226,8 @@ /** @brief Reads a DAS from the named file. - Read attributes from a file. Returns false if unable to open - the file, otherwise returns the result of the mfunc parse. */ + Read attributes from a file. Throws Error if unable to open + the file, otherwise parses the file. */ void DAS::parse(string fname) { diff -Nru libdap-3.19.1/das.tab.cc libdap-3.20.5/das.tab.cc --- libdap-3.19.1/das.tab.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/das.tab.cc 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,11 +41,14 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "3.0.4" +#define YYBISON_VERSION "3.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -69,15 +73,16 @@ #define yylval daslval #define yychar daschar -/* Copy the first part of user declarations. */ - -#line 75 "das.tab.cc" /* yacc.c:339 */ # ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif # else -# define YY_NULLPTR 0 +# define YY_NULLPTR ((void*)0) # endif # endif @@ -101,11 +106,12 @@ extern int dasdebug; #endif /* "%code requires" blocks. */ -#line 40 "das.yy" /* yacc.c:355 */ +#line 40 "das.yy" /* yacc.c:352 */ #define YYSTYPE char * #define ATTR_STRING_QUOTE_FIX +#define YYERROR_VERBOSE 0 #include "config.h" @@ -146,7 +152,7 @@ extern int das_line_num; /* defined in das.lex */ -#line 150 "das.tab.cc" /* yacc.c:355 */ +#line 156 "das.tab.cc" /* yacc.c:352 */ /* Token type. */ #ifndef YYTOKENTYPE @@ -183,11 +189,9 @@ #endif /* !YY_DAS_DAS_TAB_HH_INCLUDED */ -/* Copy the second part of user declarations. */ -#line 189 "das.tab.cc" /* yacc.c:358 */ /* Unqualified %code blocks. */ -#line 85 "das.yy" /* yacc.c:359 */ +#line 86 "das.yy" /* yacc.c:355 */ // No global static objects. We go through this every so often, I guess I // should learn... 1/24/2000 jhrg @@ -227,7 +231,7 @@ const string &msg); -#line 231 "das.tab.cc" /* yacc.c:359 */ +#line 235 "das.tab.cc" /* yacc.c:355 */ #ifdef short # undef short @@ -248,13 +252,13 @@ #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else -typedef unsigned short int yytype_uint16; +typedef unsigned short yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else -typedef short int yytype_int16; +typedef short yytype_int16; #endif #ifndef YYSIZE_T @@ -266,7 +270,7 @@ # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else -# define YYSIZE_T unsigned int +# define YYSIZE_T unsigned # endif #endif @@ -302,15 +306,6 @@ # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -318,7 +313,7 @@ # define YYUSE(E) /* empty */ #endif -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ @@ -480,16 +475,16 @@ /* YYNSTATES -- Number of states. */ #define YYNSTATES 134 -/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 270 +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ + as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -526,15 +521,15 @@ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 194, 194, 194, 211, 212, 216, 217, 223, 224, - 225, 228, 230, 231, 230, 234, 235, 234, 238, 239, - 238, 242, 243, 242, 246, 247, 246, 250, 251, 250, - 254, 255, 254, 258, 259, 258, 262, 263, 262, 266, - 267, 266, 271, 291, 270, 299, 298, 304, 308, 314, - 318, 324, 328, 334, 338, 344, 348, 354, 358, 364, - 368, 374, 379, 386, 390, 396, 410, 413, 416, 419, - 419, 419, 419, 419, 420, 420, 420, 420, 421, 421, - 421, 421, 425, 429, 424 + 0, 195, 195, 195, 212, 213, 217, 218, 224, 225, + 226, 229, 231, 232, 231, 235, 236, 235, 239, 240, + 239, 243, 244, 243, 247, 248, 247, 251, 252, 251, + 255, 256, 255, 259, 260, 259, 263, 264, 263, 267, + 268, 267, 272, 292, 271, 300, 299, 305, 309, 315, + 319, 325, 329, 335, 339, 345, 349, 355, 359, 365, + 369, 375, 380, 387, 391, 397, 411, 414, 417, 420, + 420, 420, 420, 420, 421, 421, 421, 421, 422, 422, + 422, 422, 426, 430, 425 }; #endif @@ -733,22 +728,22 @@ #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (arg, YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (arg, YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) /* Error token number */ #define YYTERROR 1 @@ -788,38 +783,38 @@ } while (0) -/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) +yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) { - FILE *yyo = yyoutput; - YYUSE (yyo); + FILE *yyoutput = yyo; + YYUSE (yyoutput); YYUSE (arg); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); + YYPRINT (yyo, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) +yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) { - YYFPRINTF (yyoutput, "%s %s (", + YYFPRINTF (yyo, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); - yy_symbol_value_print (yyoutput, yytype, yyvaluep, arg); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yytype, yyvaluep, arg); + YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. @@ -853,7 +848,7 @@ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, parser_arg *arg) { - unsigned long int yylno = yyrline[yyrule]; + unsigned long yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", @@ -864,7 +859,7 @@ YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) + &yyvsp[(yyi + 1) - (yynrhs)] , arg); YYFPRINTF (stderr, "\n"); } @@ -968,7 +963,10 @@ case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; - /* Fall through. */ + else + goto append; + + append: default: if (yyres) yyres[yyn] = *yyp; @@ -986,7 +984,7 @@ if (! yyres) return yystrlen (yystr); - return yystpcpy (yyres, yystr) - yyres; + return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres); } # endif @@ -1064,10 +1062,10 @@ yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } } } @@ -1079,6 +1077,7 @@ case N: \ yyformat = S; \ break + default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); @@ -1090,9 +1089,10 @@ { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } if (*yymsg_alloc < yysize) @@ -1219,23 +1219,31 @@ yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; + /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yynewstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + *yyssp = (yytype_int16) yystate; if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1); -#ifdef yyoverflow +# if defined yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into @@ -1251,14 +1259,10 @@ &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); - yyss = yyss1; yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; @@ -1274,22 +1278,22 @@ goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); @@ -1298,11 +1302,11 @@ goto yybackup; + /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ @@ -1375,7 +1379,7 @@ /*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ @@ -1396,7 +1400,7 @@ switch (yyn) { case 2: -#line 194 "das.yy" /* yacc.c:1661 */ +#line 195 "das.yy" /* yacc.c:1667 */ { if (!name) name = new string(); if (!type) type = new string(); @@ -1405,157 +1409,157 @@ // push outermost AttrTable PUSH(DAS_OBJ(arg)->get_top_level_attributes()); } -#line 1409 "das.tab.cc" /* yacc.c:1661 */ +#line 1413 "das.tab.cc" /* yacc.c:1667 */ break; case 3: -#line 203 "das.yy" /* yacc.c:1661 */ +#line 204 "das.yy" /* yacc.c:1667 */ { POP; // pop the DAS/AttrTable before stack's dtor delete name; name = 0; delete type; type = 0; delete attr_tab_stack; attr_tab_stack = 0; } -#line 1420 "das.tab.cc" /* yacc.c:1661 */ +#line 1424 "das.tab.cc" /* yacc.c:1667 */ break; case 7: -#line 218 "das.yy" /* yacc.c:1661 */ +#line 219 "das.yy" /* yacc.c:1667 */ { parse_error((parser_arg *)arg, NO_DAS_MSG, das_line_num); } -#line 1428 "das.tab.cc" /* yacc.c:1661 */ +#line 1432 "das.tab.cc" /* yacc.c:1667 */ break; case 12: -#line 230 "das.yy" /* yacc.c:1661 */ +#line 231 "das.yy" /* yacc.c:1667 */ { save_str(*type, "Byte", das_line_num); } -#line 1434 "das.tab.cc" /* yacc.c:1661 */ +#line 1438 "das.tab.cc" /* yacc.c:1667 */ break; case 13: -#line 231 "das.yy" /* yacc.c:1661 */ - { save_str(*name, (yyvsp[0]), das_line_num); } -#line 1440 "das.tab.cc" /* yacc.c:1661 */ +#line 232 "das.yy" /* yacc.c:1667 */ + { save_str(*name, yyvsp[0], das_line_num); } +#line 1444 "das.tab.cc" /* yacc.c:1667 */ break; case 15: -#line 234 "das.yy" /* yacc.c:1661 */ +#line 235 "das.yy" /* yacc.c:1667 */ { save_str(*type, "Int16", das_line_num); } -#line 1446 "das.tab.cc" /* yacc.c:1661 */ +#line 1450 "das.tab.cc" /* yacc.c:1667 */ break; case 16: -#line 235 "das.yy" /* yacc.c:1661 */ - { save_str(*name, (yyvsp[0]), das_line_num); } -#line 1452 "das.tab.cc" /* yacc.c:1661 */ +#line 236 "das.yy" /* yacc.c:1667 */ + { save_str(*name, yyvsp[0], das_line_num); } +#line 1456 "das.tab.cc" /* yacc.c:1667 */ break; case 18: -#line 238 "das.yy" /* yacc.c:1661 */ +#line 239 "das.yy" /* yacc.c:1667 */ { save_str(*type, "UInt16", das_line_num); } -#line 1458 "das.tab.cc" /* yacc.c:1661 */ +#line 1462 "das.tab.cc" /* yacc.c:1667 */ break; case 19: -#line 239 "das.yy" /* yacc.c:1661 */ - { save_str(*name, (yyvsp[0]), das_line_num); } -#line 1464 "das.tab.cc" /* yacc.c:1661 */ +#line 240 "das.yy" /* yacc.c:1667 */ + { save_str(*name, yyvsp[0], das_line_num); } +#line 1468 "das.tab.cc" /* yacc.c:1667 */ break; case 21: -#line 242 "das.yy" /* yacc.c:1661 */ +#line 243 "das.yy" /* yacc.c:1667 */ { save_str(*type, "Int32", das_line_num); } -#line 1470 "das.tab.cc" /* yacc.c:1661 */ +#line 1474 "das.tab.cc" /* yacc.c:1667 */ break; case 22: -#line 243 "das.yy" /* yacc.c:1661 */ - { save_str(*name, (yyvsp[0]), das_line_num); } -#line 1476 "das.tab.cc" /* yacc.c:1661 */ +#line 244 "das.yy" /* yacc.c:1667 */ + { save_str(*name, yyvsp[0], das_line_num); } +#line 1480 "das.tab.cc" /* yacc.c:1667 */ break; case 24: -#line 246 "das.yy" /* yacc.c:1661 */ +#line 247 "das.yy" /* yacc.c:1667 */ { save_str(*type, "UInt32", das_line_num); } -#line 1482 "das.tab.cc" /* yacc.c:1661 */ +#line 1486 "das.tab.cc" /* yacc.c:1667 */ break; case 25: -#line 247 "das.yy" /* yacc.c:1661 */ - { save_str(*name, (yyvsp[0]), das_line_num); } -#line 1488 "das.tab.cc" /* yacc.c:1661 */ +#line 248 "das.yy" /* yacc.c:1667 */ + { save_str(*name, yyvsp[0], das_line_num); } +#line 1492 "das.tab.cc" /* yacc.c:1667 */ break; case 27: -#line 250 "das.yy" /* yacc.c:1661 */ +#line 251 "das.yy" /* yacc.c:1667 */ { save_str(*type, "Float32", das_line_num); } -#line 1494 "das.tab.cc" /* yacc.c:1661 */ +#line 1498 "das.tab.cc" /* yacc.c:1667 */ break; case 28: -#line 251 "das.yy" /* yacc.c:1661 */ - { save_str(*name, (yyvsp[0]), das_line_num); } -#line 1500 "das.tab.cc" /* yacc.c:1661 */ +#line 252 "das.yy" /* yacc.c:1667 */ + { save_str(*name, yyvsp[0], das_line_num); } +#line 1504 "das.tab.cc" /* yacc.c:1667 */ break; case 30: -#line 254 "das.yy" /* yacc.c:1661 */ +#line 255 "das.yy" /* yacc.c:1667 */ { save_str(*type, "Float64", das_line_num); } -#line 1506 "das.tab.cc" /* yacc.c:1661 */ +#line 1510 "das.tab.cc" /* yacc.c:1667 */ break; case 31: -#line 255 "das.yy" /* yacc.c:1661 */ - { save_str(*name, (yyvsp[0]), das_line_num); } -#line 1512 "das.tab.cc" /* yacc.c:1661 */ +#line 256 "das.yy" /* yacc.c:1667 */ + { save_str(*name, yyvsp[0], das_line_num); } +#line 1516 "das.tab.cc" /* yacc.c:1667 */ break; case 33: -#line 258 "das.yy" /* yacc.c:1661 */ +#line 259 "das.yy" /* yacc.c:1667 */ { *type = "String"; } -#line 1518 "das.tab.cc" /* yacc.c:1661 */ +#line 1522 "das.tab.cc" /* yacc.c:1667 */ break; case 34: -#line 259 "das.yy" /* yacc.c:1661 */ - { *name = (yyvsp[0]); } -#line 1524 "das.tab.cc" /* yacc.c:1661 */ +#line 260 "das.yy" /* yacc.c:1667 */ + { *name = yyvsp[0]; } +#line 1528 "das.tab.cc" /* yacc.c:1667 */ break; case 36: -#line 262 "das.yy" /* yacc.c:1661 */ +#line 263 "das.yy" /* yacc.c:1667 */ { *type = "Url"; } -#line 1530 "das.tab.cc" /* yacc.c:1661 */ +#line 1534 "das.tab.cc" /* yacc.c:1667 */ break; case 37: -#line 263 "das.yy" /* yacc.c:1661 */ - { *name = (yyvsp[0]); } -#line 1536 "das.tab.cc" /* yacc.c:1661 */ +#line 264 "das.yy" /* yacc.c:1667 */ + { *name = yyvsp[0]; } +#line 1540 "das.tab.cc" /* yacc.c:1667 */ break; case 39: -#line 266 "das.yy" /* yacc.c:1661 */ +#line 267 "das.yy" /* yacc.c:1667 */ { *type = "OtherXML"; } -#line 1542 "das.tab.cc" /* yacc.c:1661 */ +#line 1546 "das.tab.cc" /* yacc.c:1667 */ break; case 40: -#line 267 "das.yy" /* yacc.c:1661 */ - { *name = (yyvsp[0]); } -#line 1548 "das.tab.cc" /* yacc.c:1661 */ +#line 268 "das.yy" /* yacc.c:1667 */ + { *name = yyvsp[0]; } +#line 1552 "das.tab.cc" /* yacc.c:1667 */ break; case 42: -#line 271 "das.yy" /* yacc.c:1661 */ +#line 272 "das.yy" /* yacc.c:1667 */ { - DBG(cerr << "Processing ID: " << (yyvsp[0]) << endl); + DBG(cerr << "Processing ID: " << yyvsp[0] << endl); - AttrTable *at = TOP_OF_STACK->get_attr_table((yyvsp[0])); + AttrTable *at = TOP_OF_STACK->get_attr_table(yyvsp[0]); if (!at) { try { - at = TOP_OF_STACK->append_container((yyvsp[0])); + at = TOP_OF_STACK->append_container(yyvsp[0]); } catch (Error &e) { // re-throw with line number info @@ -1568,208 +1572,208 @@ DBG(cerr << " Pushed attr_tab: " << at << endl); } -#line 1572 "das.tab.cc" /* yacc.c:1661 */ +#line 1576 "das.tab.cc" /* yacc.c:1667 */ break; case 43: -#line 291 "das.yy" /* yacc.c:1661 */ +#line 292 "das.yy" /* yacc.c:1667 */ { /* pop top of stack; store in attr_tab */ DBG(cerr << " Popped attr_tab: " << TOP_OF_STACK << endl); POP; } -#line 1582 "das.tab.cc" /* yacc.c:1661 */ +#line 1586 "das.tab.cc" /* yacc.c:1667 */ break; case 45: -#line 299 "das.yy" /* yacc.c:1661 */ +#line 300 "das.yy" /* yacc.c:1667 */ { - parse_error(ATTR_TUPLE_MSG, das_line_num, (yyvsp[0])); + parse_error(ATTR_TUPLE_MSG, das_line_num, yyvsp[0]); } -#line 1590 "das.tab.cc" /* yacc.c:1661 */ +#line 1594 "das.tab.cc" /* yacc.c:1667 */ break; case 47: -#line 305 "das.yy" /* yacc.c:1661 */ +#line 306 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_byte); + add_attribute(*type, *name, yyvsp[0], &check_byte); } -#line 1598 "das.tab.cc" /* yacc.c:1661 */ +#line 1602 "das.tab.cc" /* yacc.c:1667 */ break; case 48: -#line 309 "das.yy" /* yacc.c:1661 */ +#line 310 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_byte); + add_attribute(*type, *name, yyvsp[0], &check_byte); } -#line 1606 "das.tab.cc" /* yacc.c:1661 */ +#line 1610 "das.tab.cc" /* yacc.c:1667 */ break; case 49: -#line 315 "das.yy" /* yacc.c:1661 */ +#line 316 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_int16); + add_attribute(*type, *name, yyvsp[0], &check_int16); } -#line 1614 "das.tab.cc" /* yacc.c:1661 */ +#line 1618 "das.tab.cc" /* yacc.c:1667 */ break; case 50: -#line 319 "das.yy" /* yacc.c:1661 */ +#line 320 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_int16); + add_attribute(*type, *name, yyvsp[0], &check_int16); } -#line 1622 "das.tab.cc" /* yacc.c:1661 */ +#line 1626 "das.tab.cc" /* yacc.c:1667 */ break; case 51: -#line 325 "das.yy" /* yacc.c:1661 */ +#line 326 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_uint16); + add_attribute(*type, *name, yyvsp[0], &check_uint16); } -#line 1630 "das.tab.cc" /* yacc.c:1661 */ +#line 1634 "das.tab.cc" /* yacc.c:1667 */ break; case 52: -#line 329 "das.yy" /* yacc.c:1661 */ +#line 330 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_uint16); + add_attribute(*type, *name, yyvsp[0], &check_uint16); } -#line 1638 "das.tab.cc" /* yacc.c:1661 */ +#line 1642 "das.tab.cc" /* yacc.c:1667 */ break; case 53: -#line 335 "das.yy" /* yacc.c:1661 */ +#line 336 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_int32); + add_attribute(*type, *name, yyvsp[0], &check_int32); } -#line 1646 "das.tab.cc" /* yacc.c:1661 */ +#line 1650 "das.tab.cc" /* yacc.c:1667 */ break; case 54: -#line 339 "das.yy" /* yacc.c:1661 */ +#line 340 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_int32); + add_attribute(*type, *name, yyvsp[0], &check_int32); } -#line 1654 "das.tab.cc" /* yacc.c:1661 */ +#line 1658 "das.tab.cc" /* yacc.c:1667 */ break; case 55: -#line 345 "das.yy" /* yacc.c:1661 */ +#line 346 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_uint32); + add_attribute(*type, *name, yyvsp[0], &check_uint32); } -#line 1662 "das.tab.cc" /* yacc.c:1661 */ +#line 1666 "das.tab.cc" /* yacc.c:1667 */ break; case 56: -#line 349 "das.yy" /* yacc.c:1661 */ +#line 350 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_uint32); + add_attribute(*type, *name, yyvsp[0], &check_uint32); } -#line 1670 "das.tab.cc" /* yacc.c:1661 */ +#line 1674 "das.tab.cc" /* yacc.c:1667 */ break; case 57: -#line 355 "das.yy" /* yacc.c:1661 */ +#line 356 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_float32); + add_attribute(*type, *name, yyvsp[0], &check_float32); } -#line 1678 "das.tab.cc" /* yacc.c:1661 */ +#line 1682 "das.tab.cc" /* yacc.c:1667 */ break; case 58: -#line 359 "das.yy" /* yacc.c:1661 */ +#line 360 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_float32); + add_attribute(*type, *name, yyvsp[0], &check_float32); } -#line 1686 "das.tab.cc" /* yacc.c:1661 */ +#line 1690 "das.tab.cc" /* yacc.c:1667 */ break; case 59: -#line 365 "das.yy" /* yacc.c:1661 */ +#line 366 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_float64); + add_attribute(*type, *name, yyvsp[0], &check_float64); } -#line 1694 "das.tab.cc" /* yacc.c:1661 */ +#line 1698 "das.tab.cc" /* yacc.c:1667 */ break; case 60: -#line 369 "das.yy" /* yacc.c:1661 */ +#line 370 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_float64); + add_attribute(*type, *name, yyvsp[0], &check_float64); } -#line 1702 "das.tab.cc" /* yacc.c:1661 */ +#line 1706 "das.tab.cc" /* yacc.c:1667 */ break; case 61: -#line 375 "das.yy" /* yacc.c:1661 */ +#line 376 "das.yy" /* yacc.c:1667 */ { - string attr = remove_quotes((yyvsp[0])); + string attr = remove_quotes(yyvsp[0]); add_attribute(*type, *name, attr, 0); } -#line 1711 "das.tab.cc" /* yacc.c:1661 */ +#line 1715 "das.tab.cc" /* yacc.c:1667 */ break; case 62: -#line 380 "das.yy" /* yacc.c:1661 */ +#line 381 "das.yy" /* yacc.c:1667 */ { - string attr = remove_quotes((yyvsp[0])); + string attr = remove_quotes(yyvsp[0]); add_attribute(*type, *name, attr, 0); } -#line 1720 "das.tab.cc" /* yacc.c:1661 */ +#line 1724 "das.tab.cc" /* yacc.c:1667 */ break; case 63: -#line 387 "das.yy" /* yacc.c:1661 */ +#line 388 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_url); + add_attribute(*type, *name, yyvsp[0], &check_url); } -#line 1728 "das.tab.cc" /* yacc.c:1661 */ +#line 1732 "das.tab.cc" /* yacc.c:1667 */ break; case 64: -#line 391 "das.yy" /* yacc.c:1661 */ +#line 392 "das.yy" /* yacc.c:1667 */ { - add_attribute(*type, *name, (yyvsp[0]), &check_url); + add_attribute(*type, *name, yyvsp[0], &check_url); } -#line 1736 "das.tab.cc" /* yacc.c:1661 */ +#line 1740 "das.tab.cc" /* yacc.c:1667 */ break; case 65: -#line 397 "das.yy" /* yacc.c:1661 */ +#line 398 "das.yy" /* yacc.c:1667 */ { // XML must be quoted in the DAS but the quotes are an // artifact of the DAS syntax so they are not part of the // value. - string xml = unescape_double_quotes((yyvsp[0])); + string xml = unescape_double_quotes(yyvsp[0]); if (is_quoted(xml)) add_attribute(*type, *name, remove_quotes(xml), 0); else add_attribute(*type, *name, xml, 0); } -#line 1752 "das.tab.cc" /* yacc.c:1661 */ +#line 1756 "das.tab.cc" /* yacc.c:1667 */ break; case 82: -#line 425 "das.yy" /* yacc.c:1661 */ +#line 426 "das.yy" /* yacc.c:1667 */ { - *name = (yyvsp[0]); + *name = yyvsp[0]; } -#line 1760 "das.tab.cc" /* yacc.c:1661 */ +#line 1764 "das.tab.cc" /* yacc.c:1667 */ break; case 83: -#line 429 "das.yy" /* yacc.c:1661 */ +#line 430 "das.yy" /* yacc.c:1667 */ { add_alias( DAS_OBJ(arg)->get_top_level_attributes(), - TOP_OF_STACK, *name, string((yyvsp[0])) ) ; + TOP_OF_STACK, *name, string(yyvsp[0]) ) ; } -#line 1769 "das.tab.cc" /* yacc.c:1661 */ +#line 1773 "das.tab.cc" /* yacc.c:1667 */ break; -#line 1773 "das.tab.cc" /* yacc.c:1661 */ +#line 1777 "das.tab.cc" /* yacc.c:1667 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -1794,14 +1798,13 @@ /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + } goto yynewstate; @@ -1884,12 +1887,10 @@ | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -1951,6 +1952,7 @@ yyresult = 0; goto yyreturn; + /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ @@ -1958,6 +1960,7 @@ yyresult = 1; goto yyreturn; + #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | @@ -1968,6 +1971,10 @@ /* Fall through. */ #endif + +/*-----------------------------------------------------. +| yyreturn -- parsing is finished, return the result. | +`-----------------------------------------------------*/ yyreturn: if (yychar != YYEMPTY) { @@ -1997,7 +2004,7 @@ #endif return yyresult; } -#line 436 "das.yy" /* yacc.c:1906 */ +#line 437 "das.yy" /* yacc.c:1918 */ // This function is required for linking, but DODS uses its own error diff -Nru libdap-3.19.1/das.tab.hh libdap-3.20.5/das.tab.hh --- libdap-3.19.1/das.tab.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/das.tab.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +31,9 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + #ifndef YY_DAS_DAS_TAB_HH_INCLUDED # define YY_DAS_DAS_TAB_HH_INCLUDED /* Debug traces. */ @@ -40,11 +44,12 @@ extern int dasdebug; #endif /* "%code requires" blocks. */ -#line 40 "das.yy" /* yacc.c:1915 */ +#line 40 "das.yy" /* yacc.c:1927 */ #define YYSTYPE char * #define ATTR_STRING_QUOTE_FIX +#define YYERROR_VERBOSE 0 #include "config.h" @@ -85,7 +90,7 @@ extern int das_line_num; /* defined in das.lex */ -#line 89 "das.tab.hh" /* yacc.c:1915 */ +#line 94 "das.tab.hh" /* yacc.c:1927 */ /* Token type. */ #ifndef YYTOKENTYPE diff -Nru libdap-3.19.1/das.yy libdap-3.20.5/das.yy --- libdap-3.19.1/das.yy 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/das.yy 2020-02-17 07:35:45.000000000 +0000 @@ -41,6 +41,7 @@ #define YYSTYPE char * #define ATTR_STRING_QUOTE_FIX +#define YYERROR_VERBOSE 0 #include "config.h" diff -Nru libdap-3.19.1/DataDDS.cc libdap-3.20.5/DataDDS.cc --- libdap-3.19.1/DataDDS.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/DataDDS.cc 2020-02-17 07:35:45.000000000 +0000 @@ -41,6 +41,7 @@ #include "DataDDS.h" #include "debug.h" +#include "DapIndent.h" using namespace std; @@ -58,7 +59,7 @@ if (!num.empty() && num.find('.') != string::npos) { istringstream iss(num); - char c; + char c = 0; iss >> d_server_version_major; iss >> c; // This reads the `.' in the version string @@ -91,7 +92,7 @@ if (!d_protocol_version.empty() && d_protocol_version.find('.') != string::npos) { istringstream iss(d_protocol_version); - char c; + char c = 0; iss >> d_server_protocol_major; iss >> c; // This reads the `.' in the version string diff -Nru libdap-3.19.1/DDS.cc libdap-3.20.5/DDS.cc --- libdap-3.19.1/DDS.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/DDS.cc 2020-02-17 07:35:45.000000000 +0000 @@ -35,6 +35,8 @@ #include #include +#include + #include #ifdef WIN32 @@ -50,9 +52,10 @@ #include #include #include +#include // #define DODS_DEBUG -//#define DODS_DEBUG2 +// #define DODS_DEBUG2 #include "GNURegex.h" @@ -60,11 +63,14 @@ #include "Clause.h" #include "Error.h" #include "InternalErr.h" +#if 0 #include "Keywords2.h" +#endif #include "parser.h" #include "debug.h" #include "util.h" +#include "DapIndent.h" #include "Byte.h" #include "Int16.h" @@ -83,14 +89,9 @@ #include "escaping.h" /** - * ############################################################################################ - * ############################################################################################ - * ############################################################################################ * DapXmlNamespaces * - * FIXME Replace all usages of the following variable with calls to DapXmlNamespaces - * TODO Replace all usages of the following variable with calls to DapXmlNamespaces - * + * @todo Replace all usages of the following variable with calls to DapXmlNamespaces */ const string c_xml_xsi = "http://www.w3.org/2001/XMLSchema-instance"; const string c_xml_namespace = "http://www.w3.org/XML/1998/namespace"; @@ -108,15 +109,11 @@ const string c_dap_20_n_sl = c_dap20_namespace + " " + c_default_dap20_schema_location; const string c_dap_32_n_sl = c_dap32_namespace + " " + c_default_dap32_schema_location; const string c_dap_40_n_sl = c_dap40_namespace + " " + c_default_dap40_schema_location; -/** - * - * DapXmlNamespaces - * ############################################################################################ - * ############################################################################################ - * ############################################################################################ - */ - +/// Name given to a container for orphaned top-level attributes. +/// These can show up when a DAS is built from a DMR because DAP4 +/// supports attributes at the top level that are not in any container. +const string TOP_LEVEL_ATTRS_CONTAINER_NAME = "DAP4_GLOBAL"; using namespace std; @@ -185,7 +182,9 @@ d_timeout = dds.d_timeout; +#if 0 d_keywords = dds.d_keywords; // value copy; Keywords contains no pointers +#endif d_max_response_size = dds.d_max_response_size; } @@ -205,7 +204,7 @@ DDS::DDS(BaseTypeFactory *factory, const string &name) : d_factory(factory), d_name(name), d_container_name(""), d_container(0), d_request_xml_base(""), - d_timeout(0), d_keywords(), d_max_response_size(0) + d_timeout(0), /*d_keywords(),*/ d_max_response_size(0) { DBG(cerr << "Building a DDS for the default version (2.0)" << endl); @@ -232,7 +231,7 @@ DDS::DDS(BaseTypeFactory *factory, const string &name, const string &version) : d_factory(factory), d_name(name), d_container_name(""), d_container(0), d_request_xml_base(""), - d_timeout(0), d_keywords(), d_max_response_size(0) + d_timeout(0), /*d_keywords(),*/ d_max_response_size(0) { DBG(cerr << "Building a DDS for version: " << version << endl); @@ -615,11 +614,6 @@ { if (!bt) throw InternalErr(__FILE__, __LINE__, "Trying to add a BaseType object with a NULL pointer."); -#if 0 - //FIXME There's no longer a DAP2 and DAP4 DDS - if (bt->is_dap4_only_type()) - throw InternalErr(__FILE__, __LINE__, "Attempt to add a DAP4 type to a DAP2 DDS."); -#endif DBG2(cerr << "In DDS::add_var(), bt's address is: " << bt << endl); @@ -1049,6 +1043,75 @@ } /** + * Does this AttrTable have descendants that are scalar or vector attributes? + * + * @param a The AttrTable + * @return true if the table contains a scalar- or vector-valued attribute, + * otherwise false. + */ +bool +has_dap2_attributes(AttrTable &a) +{ + for (AttrTable::Attr_iter i = a.attr_begin(), e = a.attr_end(); i != e; ++i) { + if (a.get_attr_type(i) != Attr_container) { + return true; + } + else if (has_dap2_attributes(*a.get_attr_table(i))) { + return true; + } + } + + return false; + +#if 0 + vector tables; + + for (AttrTable::Attr_iter i = a.attr_begin(), e = a.attr_end(); i != e; ++i) { + if (a.get_attr_type(i) != Attr_container) + return true; + else + tables.push_back(a.get_attr_table(i)); + } + + bool it_does = false; + for (vector::iterartor i = tables.begin(), e = tables.end(); it_does || i != e; ++i) { + it_does = has_dap2_attributes(**i); + } + + return it_does; +#endif +} + +/** + * Does this variable, or any of its descendants, have attributes? + * + * @param btp The variable + * @return True if any of the variable's descendants have attributes, + * otherwise false. + */ +bool +has_dap2_attributes(BaseType *btp) +{ + if (btp->get_attr_table().get_size() && has_dap2_attributes(btp->get_attr_table())) { + return true; + } + + Constructor *cons = dynamic_cast(btp); + if (cons) { + Grid* grid = dynamic_cast(btp); + if(grid){ + return has_dap2_attributes(grid->get_array()); + } + else { + for (Constructor::Vars_iter i = cons->var_begin(), e = cons->var_end(); i != e; i++) { + if (has_dap2_attributes(*i)) return true; + } + } + } + return false; +} + +/** * Print the DAP2 DAS object using attribute information recorded * this DDS object. * @@ -1058,35 +1121,201 @@ * @param out Write the DAS here. */ static string four_spaces = " "; -void print_var_das(ostream &out, BaseType *bt, string indent=""){ +void print_var_das(ostream &out, BaseType *bt, string indent = "") { + + if (!has_dap2_attributes(bt)) + return; AttrTable attr_table = bt->get_attr_table(); out << indent << add_space_encoding(bt->name()) << " {" << endl; - attr_table.print(out, indent+four_spaces); - Constructor *cnstrctr = dynamic_cast < Constructor * >(bt); - if(cnstrctr) { - Constructor::Vars_iter i = cnstrctr->var_begin(); - Constructor::Vars_iter e = cnstrctr->var_end(); - for (; i!=e; i++) { - print_var_das(out,*i,indent+four_spaces); - } + Constructor *cnstrctr = dynamic_cast(bt); + if (cnstrctr) { + Grid *grid = dynamic_cast(bt); + if (grid) { + Array *gridArray = grid->get_array(); + AttrTable arrayAT = gridArray->get_attr_table(); + + if (has_dap2_attributes(gridArray)) + gridArray->get_attr_table().print(out, indent + four_spaces); +#if 0 + // I dropped this because we don't want the MAP vectors showing up in the DAS + // as children of a Grid (aka flatten the Grid bro) - ndp 5/25/18 + for (Grid::Map_iter mIter = grid->map_begin(); + mIter != grid->map_end(); ++mIter) { + BaseType *currentMap = *mIter; + if (has_dap2_attributes(currentMap)) + print_var_das(out, currentMap, indent + four_spaces); + } +#endif + } + else { + attr_table.print(out, indent + four_spaces); + Constructor::Vars_iter i = cnstrctr->var_begin(); + Constructor::Vars_iter e = cnstrctr->var_end(); + for (; i != e; i++) { + // Only call print_var_das() if there really are attributes. + // This is made complicated because while there might be none + // for a particular var (*i), that var might be a ctor and its + // descendant might have an attribute. jhrg 3/18/18 + if (has_dap2_attributes(*i)) + print_var_das(out, *i, indent + four_spaces); + } + } + } + else { + attr_table.print(out, indent + four_spaces); } - out << indent << "}" << endl; + out << indent << "}" << endl; } +/** + * @brief write the DAS response given the attribute information in the DDS + * + * This method provides the same DAS response as DAS::print(), but does so + * using the AttrTables bound to the variables in this DDS object. + * + * @param out Write the DAS response to this stream + */ void DDS::print_das(ostream &out) { +#if 0 string indent(" "); - out << "Attributes {" << endl ; + out << "Attributes {" << endl; for (Vars_citer i = vars.begin(); i != vars.end(); i++) { + if (has_dap2_attributes(*i)) print_var_das(out, *i, four_spaces); } // Print the global attributes at the end. d_attr.print(out,indent); - out << "}" << endl ; + out << "}" << endl; +#endif + + auto_ptr das(get_das()); + + das->print(out); +} + +/** + * @brief Get a DAS object + * + * Returns a new DAS that contains all of the Dataset attributes. This includes all Variable + * attributes as well as Global attributes. The caller is responsible for deleting the + * returned object. + * + * @return A newly allocated DAS object + */ +DAS * +DDS::get_das() +{ + DAS *das = new DAS(); + get_das(das); + return das; +} + +/** + * Get a suitable name for new container for top-level attributes + * @param das Look in this DAS to find an unused name + * @return The name + */ +static string +get_unique_top_level_global_container_name(DAS *das) +{ + // It's virtually certain that the TOP_LEVE... name will be unique. If so, + // return the name. The code tests for a table to see if the name _should not_ be used. + AttrTable *table = das->get_table(TOP_LEVEL_ATTRS_CONTAINER_NAME); + if (!table) + return TOP_LEVEL_ATTRS_CONTAINER_NAME; + + // ... but the default name might already be used + unsigned int i = 0; + string name; + ostringstream oss; + while (table) { + oss.str(""); // reset to empty for the next suffix + oss << "_" << ++i; + if (!(i < UINT_MAX)) + throw InternalErr(__FILE__, __LINE__, "Cannot add top-level attributes to the DAS"); + name = TOP_LEVEL_ATTRS_CONTAINER_NAME + oss.str(); + table = das->get_table(name); + } + + return name; +} + +/** + * @brief Recursive helper function for Building DAS entries for + * Constructor types. + * @param at Add Constructor content to this Attribute table + * @param bt A pointer to a BaseType which may be an + * instance of Constructor. + */ +void fillConstructorAttrTable(AttrTable *at, BaseType *bt){ + Constructor *cons = dynamic_cast(bt); + if (cons) { + Grid *grid = dynamic_cast(bt); + if(grid){ + Array *gridArray = grid->get_array(); + AttrTable arrayAT = gridArray->get_attr_table(); + + for( AttrTable::Attr_iter atIter = arrayAT.attr_begin(); atIter!=arrayAT.attr_end(); ++atIter){ + AttrType type = arrayAT.get_attr_type(atIter); + string childName = arrayAT.get_name(atIter); + if (type == Attr_container){ + at->append_container( new AttrTable(*arrayAT.get_attr_table(atIter)), childName); + } + else { + vector* pAttrTokens = arrayAT.get_attr_vector(atIter); + // append_attr makes a copy of the vector, so we don't have to do so here. + at->append_attr(childName, AttrType_to_String(type), pAttrTokens); + } + } + + } + else { + for (Constructor::Vars_iter i = cons->var_begin(), e = cons->var_end(); i != e; i++) { + if (has_dap2_attributes(*i)) { + AttrTable *childAttrT = new AttrTable((*i)->get_attr_table()); + fillConstructorAttrTable(childAttrT, *i); + at->append_container(childAttrT,(*i)->name()); + } + } + } + } +} + +void DDS::get_das(DAS *das) +{ + for (Vars_citer i = vars.begin(); i != vars.end(); i++) { + if (has_dap2_attributes(*i)) { + AttrTable *childAttrT = new AttrTable((*i)->get_attr_table()); + fillConstructorAttrTable(childAttrT, *i); + das->add_table((*i)->name(), childAttrT); + } + } + + // Used in the rare case we have global attributes not in a table. + auto_ptr global(new AttrTable); + + for (AttrTable::Attr_iter i = d_attr.attr_begin(); i != d_attr.attr_end(); ++i) { + // It's possible, given the API and if the DDS was built from a DMR, that a + // global attribute might not be a container; check for that. + if (d_attr.get_attr_table(i)) { + das->add_table(d_attr.get_name(i), new AttrTable(*(d_attr.get_attr_table(i)))); + } + else { + // This must be a top level attribute outside a container. jhrg 4/6/18 + global->append_attr(d_attr.get_name(i), d_attr.get_type(i), d_attr.get_attr_vector(i)); + } + } + + // if any attributes were added to 'global,' add it to the DAS and take control of the pointer. + if (global->get_size() > 0) { + das->add_table(get_unique_top_level_global_container_name(das), global.get()); // What if this name is not unique? + global.release(); + } } /** @brief Print a constrained DDS to the specified file. @@ -1154,7 +1383,7 @@ } /** Print an XML representation of this DDS. This method is used to generate - the part of the DDX response. The \c Dataset tag is \e not written by + the DDX response. The \c Dataset tag is \e not written by this code. The caller of this method must handle writing that and including the \c dataBLOB tag. @@ -1205,76 +1434,135 @@ { XMLWriter xml(" "); + // this is the old version of this method. It produced different output for + // different version of DAP. We stopped using version numbers and use different + // web api calls (DMR, DAP for DAP4 and DAS, DDS and DODS for DAP2) so the + // dap version numbers are old and should not be used. There also seems to + // be a bug where these version numbers change 'randomly' but which doesn't + // show up in testing (or with valgrind or asan). jhrg 9/10/18 +#if 0 // Stamp and repeat for these sections; trying to economize is makes it // even more confusing if (get_dap_major() >= 4) { if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "Group") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write Group element"); + throw InternalErr(__FILE__, __LINE__, "Could not write Group element"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*)d_name.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "dapVersion", (const xmlChar*)get_dap_version().c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for dapVersion"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for dapVersion"); if (!get_request_xml_base().empty()) { if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:xml", (const xmlChar*)c_xml_namespace.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xml"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xml"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xml:base", (const xmlChar*)get_request_xml_base().c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xml:base"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xml:base"); } if (!get_namespace().empty()) { if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns", (const xmlChar*)get_namespace().c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns"); } } else if (get_dap_major() == 3 && get_dap_minor() >= 2) { if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "Dataset") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write Dataset element"); + throw InternalErr(__FILE__, __LINE__, "Could not write Dataset element"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*)d_name.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:xsi", (const xmlChar*)"http://www.w3.org/2001/XMLSchema-instance") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xsi"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xsi"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xsi:schemaLocation", (const xmlChar*)c_dap_32_n_sl.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:schemaLocation"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:schemaLocation"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:grddl", (const xmlChar*)"http://www.w3.org/2003/g/data-view#") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:grddl"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:grddl"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "grddl:transformation", (const xmlChar*)grddl_transformation_dap32.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:transformation"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:transformation"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns", (const xmlChar*)c_dap32_namespace.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:dap", (const xmlChar*)c_dap32_namespace.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:dap"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:dap"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "dapVersion", (const xmlChar*)"3.2") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for dapVersion"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for dapVersion"); if (!get_request_xml_base().empty()) { if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:xml", (const xmlChar*)c_xml_namespace.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xml"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xml"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xml:base", (const xmlChar*)get_request_xml_base().c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xml:base"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xml:base"); } } else { // dap2 if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "Dataset") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write Dataset element"); + throw InternalErr(__FILE__, __LINE__, "Could not write Dataset element"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*)d_name.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:xsi", (const xmlChar*)"http://www.w3.org/2001/XMLSchema-instance") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xsi"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xsi"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns", (const xmlChar*)c_dap20_namespace.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xsi:schemaLocation", (const xmlChar*)c_dap_20_n_sl.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:schemaLocation"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:schemaLocation"); + } +#endif + +#if DAP2_DDX + if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "Dataset") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write Dataset element"); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*)d_name.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:xsi", (const xmlChar*)"http://www.w3.org/2001/XMLSchema-instance") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xsi"); + + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns", (const xmlChar*)c_dap20_namespace.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns"); + + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xsi:schemaLocation", (const xmlChar*)c_dap_20_n_sl.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:schemaLocation"); +#elif DAP3_2_DDX + // This is the 'DAP 3.2' DDX response - now the only response libdap will return. + // jhrg 9/10/18 + if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "Dataset") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write Dataset element"); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "name", (const xmlChar*)d_name.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for name"); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:xsi", (const xmlChar*)"http://www.w3.org/2001/XMLSchema-instance") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xsi"); + + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xsi:schemaLocation", (const xmlChar*)c_dap_32_n_sl.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:schemaLocation"); + + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:grddl", (const xmlChar*)"http://www.w3.org/2003/g/data-view#") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:grddl"); + + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "grddl:transformation", (const xmlChar*)grddl_transformation_dap32.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:transformation"); + + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns", (const xmlChar*)c_dap32_namespace.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns"); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:dap", (const xmlChar*)c_dap32_namespace.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:dap"); + + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "dapVersion", (const xmlChar*)"3.2") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for dapVersion"); + + if (!get_request_xml_base().empty()) { + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xmlns:xml", (const xmlChar*)c_xml_namespace.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xmlns:xml"); + + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "xml:base", (const xmlChar*)get_request_xml_base().c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for xml:base"); } +#else +#error Must define DAP2_DDX or DAP3_2_DDX +#endif // Print the global attributes d_attr.print_xml_writer(xml); @@ -1282,6 +1570,9 @@ // Print each variable for_each(var_begin(), var_end(), VariablePrintXMLWriter(xml, constrained)); + // As above, this method now onl returns the DAP 3.2 version of the DDX response. + // jhrg 9/10/28 +#if 0 // For DAP 3.2 and greater, use the new syntax and value. The 'blob' is // the CID of the MIME part that holds the data. For DAP2 (which includes // 3.0 and 3.1), the blob is an href. For DAP4, only write the CID if it's @@ -1289,41 +1580,62 @@ if (get_dap_major() >= 4) { if (!blob.empty()) { if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "blob") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write blob element"); + throw InternalErr(__FILE__, __LINE__, "Could not write blob element"); string cid = "cid:" + blob; if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "href", (const xmlChar*) cid.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); if (xmlTextWriterEndElement(xml.get_writer()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not end blob element"); + throw InternalErr(__FILE__, __LINE__, "Could not end blob element"); } } else if (get_dap_major() == 3 && get_dap_minor() >= 2) { if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "blob") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write blob element"); + throw InternalErr(__FILE__, __LINE__, "Could not write blob element"); string cid = "cid:" + blob; if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "href", (const xmlChar*) cid.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); if (xmlTextWriterEndElement(xml.get_writer()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not end blob element"); + throw InternalErr(__FILE__, __LINE__, "Could not end blob element"); } else { // dap2 if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "dataBLOB") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write dataBLOB element"); + throw InternalErr(__FILE__, __LINE__, "Could not write dataBLOB element"); if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "href", (const xmlChar*) "") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); if (xmlTextWriterEndElement(xml.get_writer()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not end dataBLOB element"); + throw InternalErr(__FILE__, __LINE__, "Could not end dataBLOB element"); } +#endif + +#if DAP2_DDX + if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "dataBLOB") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write dataBLOB element"); + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "href", (const xmlChar*) "") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); + if (xmlTextWriterEndElement(xml.get_writer()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not end dataBLOB element"); +#elif DAP3_2_DDX + if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "blob") < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write blob element"); + string cid = "cid:" + blob; + if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "href", (const xmlChar*) cid.c_str()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); + if (xmlTextWriterEndElement(xml.get_writer()) < 0) + throw InternalErr(__FILE__, __LINE__, "Could not end blob element"); if (xmlTextWriterEndElement(xml.get_writer()) < 0) throw InternalErr(__FILE__, __LINE__, "Could not end Dataset element"); +#else +#error Must define DAP2_DDX or DAP3_2_DDX +#endif out << xml.get_doc();// << ends;// << endl; } /** - * Print the DAP4 DMR object. - * This method prints the DMR. If the dap version is not >= 4.0, it's an + * @brief Print the DAP4 DMR object using a DDS. + * + * This method prints the DMR from a DDS. If the dap version is not >= 4.0, it's an * error to call this method. * * @note Calling methods that print the DDS or DDX when get_dap_major() @@ -1383,24 +1695,6 @@ // Print each variable for_each(var_begin(), var_end(), VariablePrintXMLWriter(xml, constrained)); -#if 0 - // For DAP 3.2 and greater, use the new syntax and value. The 'blob' is - // the CID of the MIME part that holds the data. For DAP2 (which includes - // 3.0 and 3.1), the blob is an href. For DAP4, only write the CID if it's - // given. - if (get_dap_major() >= 4) { - if (!blob.empty()) { - if (xmlTextWriterStartElement(xml.get_writer(), (const xmlChar*) "blob") < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write blob element"); - string cid = "cid:" + blob; - if (xmlTextWriterWriteAttribute(xml.get_writer(), (const xmlChar*) "href", (const xmlChar*) cid.c_str()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not write attribute for d_name"); - if (xmlTextWriterEndElement(xml.get_writer()) < 0) - throw InternalErr(__FILE__, __LINE__, "Could not end blob element"); - } - } -#endif - if (xmlTextWriterEndElement(xml.get_writer()) < 0) throw InternalErr(__FILE__, __LINE__, "Could not end the top-level Group element"); @@ -1459,8 +1753,6 @@ @return True if the named variable was found, false otherwise. - @todo This should throw an exception on error!!! - @todo These methods that use the btp_stack to keep track of the path from the top of a dataset to a particular variable can be rewritten to use the parent field instead. @@ -1471,16 +1763,25 @@ bool DDS::mark(const string &n, bool state) { +#if 0 // TODO use auto_ptr BaseType::btp_stack *s = new BaseType::btp_stack; +#endif + + auto_ptr s(new BaseType::btp_stack); DBG2(cerr << "DDS::mark: Looking for " << n << endl); - BaseType *variable = var(n, s); + BaseType *variable = var(n, s.get()); if (!variable) { + throw Error(malformed_expr, "Could not find variable " + n); +#if 0 DBG2(cerr << "Could not find variable " << n << endl); +#if 0 delete s; s = 0; +#endif return false; +#endif } variable->set_send_p(state); @@ -1496,16 +1797,17 @@ DBG2(cerr << "DDS::mark: Set variable " << s->top()->d_name() << " (a " << s->top()->type_name() << ")" << endl); - // FIXME get_parent() hosed? -#if 1 + string parent_name = (s->top()->get_parent()) ? s->top()->get_parent()->name(): "none"; string parent_type = (s->top()->get_parent()) ? s->top()->get_parent()->type_name(): "none"; DBG2(cerr << "DDS::mark: Parent variable " << parent_name << " (a " << parent_type << ")" << endl); -#endif + s->pop(); } - delete s ; s = 0; +#if 0 + delete s; s = 0; +#endif return true; } diff -Nru libdap-3.19.1/DDS.h libdap-3.20.5/DDS.h --- libdap-3.19.1/DDS.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/DDS.h 2020-02-17 07:35:45.000000000 +0000 @@ -62,19 +62,22 @@ #include "DapObj.h" #endif +#if 0 #ifndef KEYWORDS_H_ #include "Keywords2.h" #endif +#endif #ifndef XMLWRITER_H_ #include "XMLWriter.h" #endif -using std::cout; - namespace libdap { +bool has_dap2_attributes(BaseType *btp); +bool has_dap2_attributes(AttrTable &a); + /** The DAP2 Data Descriptor Object (DDS) is a data structure used by the DAP2 software to describe datasets and subsets of those datasets. The DDS may be thought of as the declarations for the @@ -201,7 +204,9 @@ int d_timeout; // alarm time in seconds. If greater than // zero, raise the alarm signal if more than // d_timeout seconds are spent reading data. +#if 0 Keywords d_keywords; // Holds keywords parsed from the CE +#endif long d_max_response_size; // In bytes... @@ -273,7 +278,9 @@ /// @deprecated void set_dap_version(double d); - Keywords &get_keywords() { return d_keywords; } +#if 0 + Keywords &get_keywords() {return d_keywords;} +#endif /// Get the URL that will return this DDS/DDX/DataThing string get_request_xml_base() const { return d_request_xml_base; } @@ -287,11 +294,11 @@ /// Set the namespace for this DDS/DDX object/response void set_namespace(const string &ns) { d_namespace = ns; } - /// Get the maximum response size, in KB. Zero indicates no limit. + /// Get the maximum response size, in Bytes. Zero indicates no limit. long get_response_limit() { return d_max_response_size; } /** Set the maximum response size. Zero is the default value. The size - is given in kilobytes. + is given in kilobytes (but stored internally as the number of bytes). @param size The maximum size of the response in kilobytes. */ void set_response_limit(long size) { d_max_response_size = size * 1024; } @@ -349,7 +356,7 @@ void timeout_off(); void set_timeout(int t); int get_timeout(); - //@} + ///@} // These parse the DAP2 curly-brace document and make a C++ object. void parse(string fname); @@ -373,6 +380,8 @@ void print_dmr(ostream &out, bool constrained); void print_das(ostream &out); + DAS *get_das(); + void get_das(DAS *das); void mark_all(bool state); bool mark(const string &name, bool state); diff -Nru libdap-3.19.1/dds.tab.cc libdap-3.20.5/dds.tab.cc --- libdap-3.19.1/dds.tab.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/dds.tab.cc 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,11 +41,14 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "3.0.4" +#define YYBISON_VERSION "3.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -69,15 +73,16 @@ #define yylval ddslval #define yychar ddschar -/* Copy the first part of user declarations. */ - -#line 75 "dds.tab.cc" /* yacc.c:339 */ # ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif # else -# define YY_NULLPTR 0 +# define YY_NULLPTR ((void*)0) # endif # endif @@ -101,7 +106,7 @@ extern int ddsdebug; #endif /* "%code requires" blocks. */ -#line 47 "dds.yy" /* yacc.c:355 */ +#line 47 "dds.yy" /* yacc.c:352 */ #include "config_dap.h" @@ -141,13 +146,14 @@ // ERROR is no longer used. These parsers now signal problems by throwing // exceptions. 5/22/2002 jhrg #define DDS_OBJ(arg) ((DDS *)((parser_arg *)(arg))->_object) +#define YYERROR_VERBOSE 0 // #define YYPARSE_PARAM arg extern int dds_line_num; /* defined in dds.lex */ -#line 151 "dds.tab.cc" /* yacc.c:355 */ +#line 157 "dds.tab.cc" /* yacc.c:352 */ /* Token type. */ #ifndef YYTOKENTYPE @@ -178,12 +184,12 @@ union YYSTYPE { -#line 131 "dds.yy" /* yacc.c:355 */ +#line 132 "dds.yy" /* yacc.c:352 */ bool boolean; char word[ID_MAX]; -#line 187 "dds.tab.cc" /* yacc.c:355 */ +#line 193 "dds.tab.cc" /* yacc.c:352 */ }; typedef union YYSTYPE YYSTYPE; @@ -198,11 +204,9 @@ #endif /* !YY_DDS_DDS_TAB_HH_INCLUDED */ -/* Copy the second part of user declarations. */ -#line 204 "dds.tab.cc" /* yacc.c:358 */ /* Unqualified %code blocks. */ -#line 93 "dds.yy" /* yacc.c:359 */ +#line 94 "dds.yy" /* yacc.c:355 */ // No global static objects in the dap library! 1/24/2000 jhrg @@ -230,7 +234,7 @@ char *type, char *name); -#line 234 "dds.tab.cc" /* yacc.c:359 */ +#line 238 "dds.tab.cc" /* yacc.c:355 */ #ifdef short # undef short @@ -251,13 +255,13 @@ #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else -typedef unsigned short int yytype_uint16; +typedef unsigned short yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else -typedef short int yytype_int16; +typedef short yytype_int16; #endif #ifndef YYSIZE_T @@ -269,7 +273,7 @@ # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else -# define YYSIZE_T unsigned int +# define YYSIZE_T unsigned # endif #endif @@ -305,15 +309,6 @@ # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -321,7 +316,7 @@ # define YYUSE(E) /* empty */ #endif -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ @@ -483,16 +478,16 @@ /* YYNSTATES -- Number of states. */ #define YYNSTATES 88 -/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 273 +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ + as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -529,12 +524,12 @@ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 160, 160, 160, 176, 177, 180, 184, 193, 196, - 197, 206, 221, 220, 242, 241, 263, 275, 287, 262, - 308, 318, 324, 330, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 347, 348, 351, 351, 351, 351, 351, - 352, 352, 352, 352, 353, 353, 353, 353, 354, 357, - 379, 383, 378, 409, 419, 420, 421 + 0, 161, 161, 161, 177, 178, 181, 185, 194, 197, + 198, 207, 222, 221, 243, 242, 264, 276, 288, 263, + 309, 319, 325, 331, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 348, 349, 352, 352, 352, 352, 352, + 353, 353, 353, 353, 354, 354, 354, 354, 355, 358, + 380, 384, 379, 410, 420, 421, 422 }; #endif @@ -723,22 +718,22 @@ #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (arg, YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (arg, YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) /* Error token number */ #define YYTERROR 1 @@ -778,38 +773,38 @@ } while (0) -/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) +yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) { - FILE *yyo = yyoutput; - YYUSE (yyo); + FILE *yyoutput = yyo; + YYUSE (yyoutput); YYUSE (arg); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); + YYPRINT (yyo, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) +yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) { - YYFPRINTF (yyoutput, "%s %s (", + YYFPRINTF (yyo, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); - yy_symbol_value_print (yyoutput, yytype, yyvaluep, arg); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yytype, yyvaluep, arg); + YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. @@ -843,7 +838,7 @@ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, parser_arg *arg) { - unsigned long int yylno = yyrline[yyrule]; + unsigned long yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", @@ -854,7 +849,7 @@ YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) + &yyvsp[(yyi + 1) - (yynrhs)] , arg); YYFPRINTF (stderr, "\n"); } @@ -958,7 +953,10 @@ case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; - /* Fall through. */ + else + goto append; + + append: default: if (yyres) yyres[yyn] = *yyp; @@ -976,7 +974,7 @@ if (! yyres) return yystrlen (yystr); - return yystpcpy (yyres, yystr) - yyres; + return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres); } # endif @@ -1054,10 +1052,10 @@ yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } } } @@ -1069,6 +1067,7 @@ case N: \ yyformat = S; \ break + default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); @@ -1080,9 +1079,10 @@ { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } if (*yymsg_alloc < yysize) @@ -1209,23 +1209,31 @@ yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; + /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yynewstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + *yyssp = (yytype_int16) yystate; if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1); -#ifdef yyoverflow +# if defined yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into @@ -1241,14 +1249,10 @@ &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); - yyss = yyss1; yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; @@ -1264,22 +1268,22 @@ goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); @@ -1288,11 +1292,11 @@ goto yybackup; + /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ @@ -1365,7 +1369,7 @@ /*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ @@ -1386,7 +1390,7 @@ switch (yyn) { case 2: -#line 160 "dds.yy" /* yacc.c:1661 */ +#line 161 "dds.yy" /* yacc.c:1667 */ { /* On entry to the parser, make the BaseType stack. I use if (!ctor) here because in the tab.cc file, @@ -1397,57 +1401,57 @@ if (!ctor) ctor = new stack; } -#line 1401 "dds.tab.cc" /* yacc.c:1661 */ +#line 1405 "dds.tab.cc" /* yacc.c:1667 */ break; case 3: -#line 171 "dds.yy" /* yacc.c:1661 */ +#line 172 "dds.yy" /* yacc.c:1667 */ { delete ctor; ctor = 0; } -#line 1409 "dds.tab.cc" /* yacc.c:1661 */ +#line 1413 "dds.tab.cc" /* yacc.c:1667 */ break; case 6: -#line 181 "dds.yy" /* yacc.c:1661 */ +#line 182 "dds.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[-3].boolean) && (yyvsp[-1].boolean); } -#line 1417 "dds.tab.cc" /* yacc.c:1661 */ +#line 1421 "dds.tab.cc" /* yacc.c:1667 */ break; case 7: -#line 185 "dds.yy" /* yacc.c:1661 */ +#line 186 "dds.yy" /* yacc.c:1667 */ { parse_error((parser_arg *)arg, NO_DDS_MSG, dds_line_num, (yyvsp[0].word)); error_exit_cleanup(); YYABORT; } -#line 1427 "dds.tab.cc" /* yacc.c:1661 */ +#line 1431 "dds.tab.cc" /* yacc.c:1667 */ break; case 8: -#line 193 "dds.yy" /* yacc.c:1661 */ +#line 194 "dds.yy" /* yacc.c:1667 */ { (yyval.boolean) = true; } -#line 1435 "dds.tab.cc" /* yacc.c:1661 */ +#line 1439 "dds.tab.cc" /* yacc.c:1667 */ break; case 9: -#line 196 "dds.yy" /* yacc.c:1661 */ +#line 197 "dds.yy" /* yacc.c:1667 */ { (yyval.boolean) = true; } -#line 1441 "dds.tab.cc" /* yacc.c:1661 */ +#line 1445 "dds.tab.cc" /* yacc.c:1667 */ break; case 10: -#line 197 "dds.yy" /* yacc.c:1661 */ +#line 198 "dds.yy" /* yacc.c:1667 */ { (yyval.boolean) = true; } -#line 1447 "dds.tab.cc" /* yacc.c:1661 */ +#line 1451 "dds.tab.cc" /* yacc.c:1667 */ break; case 11: -#line 207 "dds.yy" /* yacc.c:1661 */ +#line 208 "dds.yy" /* yacc.c:1667 */ { string smsg; if (current->check_semantics(smsg)) { @@ -1460,21 +1464,21 @@ strncpy((yyval.word),(yyvsp[-1].word),ID_MAX); (yyval.word)[ID_MAX-1] = '\0'; } -#line 1464 "dds.tab.cc" /* yacc.c:1661 */ +#line 1468 "dds.tab.cc" /* yacc.c:1667 */ break; case 12: -#line 221 "dds.yy" /* yacc.c:1661 */ +#line 222 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ; current = ctor->top(); ctor->pop(); } -#line 1474 "dds.tab.cc" /* yacc.c:1661 */ +#line 1478 "dds.tab.cc" /* yacc.c:1667 */ break; case 13: -#line 227 "dds.yy" /* yacc.c:1661 */ +#line 228 "dds.yy" /* yacc.c:1667 */ { string smsg; if (current->check_semantics(smsg)) { @@ -1488,21 +1492,21 @@ strncpy((yyval.word),(yyvsp[-1].word),ID_MAX); (yyval.word)[ID_MAX-1] = '\0'; } -#line 1492 "dds.tab.cc" /* yacc.c:1661 */ +#line 1496 "dds.tab.cc" /* yacc.c:1667 */ break; case 14: -#line 242 "dds.yy" /* yacc.c:1661 */ +#line 243 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ; current = ctor->top(); ctor->pop(); } -#line 1502 "dds.tab.cc" /* yacc.c:1661 */ +#line 1506 "dds.tab.cc" /* yacc.c:1667 */ break; case 15: -#line 248 "dds.yy" /* yacc.c:1661 */ +#line 249 "dds.yy" /* yacc.c:1667 */ { string smsg; if (current->check_semantics(smsg)) { @@ -1516,11 +1520,11 @@ strncpy((yyval.word),(yyvsp[-1].word),ID_MAX); (yyval.word)[ID_MAX-1] = '\0'; } -#line 1520 "dds.tab.cc" /* yacc.c:1661 */ +#line 1524 "dds.tab.cc" /* yacc.c:1667 */ break; case 16: -#line 263 "dds.yy" /* yacc.c:1661 */ +#line 264 "dds.yy" /* yacc.c:1667 */ { if (is_keyword(string((yyvsp[-1].word)), "array")) { part = libdap::array; @@ -1532,11 +1536,11 @@ YYABORT; } } -#line 1536 "dds.tab.cc" /* yacc.c:1661 */ +#line 1540 "dds.tab.cc" /* yacc.c:1667 */ break; case 17: -#line 275 "dds.yy" /* yacc.c:1661 */ +#line 276 "dds.yy" /* yacc.c:1667 */ { if (is_keyword(string((yyvsp[-1].word)), "maps")) { part = maps; @@ -1548,21 +1552,21 @@ YYABORT; } } -#line 1552 "dds.tab.cc" /* yacc.c:1661 */ +#line 1556 "dds.tab.cc" /* yacc.c:1667 */ break; case 18: -#line 287 "dds.yy" /* yacc.c:1661 */ +#line 288 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ; current = ctor->top(); ctor->pop(); } -#line 1562 "dds.tab.cc" /* yacc.c:1661 */ +#line 1566 "dds.tab.cc" /* yacc.c:1667 */ break; case 19: -#line 293 "dds.yy" /* yacc.c:1661 */ +#line 294 "dds.yy" /* yacc.c:1667 */ { string smsg; if (current->check_semantics(smsg)) { @@ -1577,106 +1581,106 @@ strncpy((yyval.word),(yyvsp[-1].word),ID_MAX); (yyval.word)[ID_MAX-1] = '\0'; } -#line 1581 "dds.tab.cc" /* yacc.c:1661 */ +#line 1585 "dds.tab.cc" /* yacc.c:1667 */ break; case 20: -#line 309 "dds.yy" /* yacc.c:1661 */ +#line 310 "dds.yy" /* yacc.c:1667 */ { ostringstream msg; msg << BAD_DECLARATION; parse_error((parser_arg *)arg, msg.str().c_str(), dds_line_num, (yyvsp[0].word)); YYABORT; } -#line 1592 "dds.tab.cc" /* yacc.c:1661 */ +#line 1596 "dds.tab.cc" /* yacc.c:1667 */ break; case 21: -#line 319 "dds.yy" /* yacc.c:1661 */ +#line 320 "dds.yy" /* yacc.c:1667 */ { ctor->push(DDS_OBJ(arg)->get_factory()->NewStructure()); } -#line 1600 "dds.tab.cc" /* yacc.c:1661 */ +#line 1604 "dds.tab.cc" /* yacc.c:1667 */ break; case 22: -#line 325 "dds.yy" /* yacc.c:1661 */ +#line 326 "dds.yy" /* yacc.c:1667 */ { ctor->push(DDS_OBJ(arg)->get_factory()->NewSequence()); } -#line 1608 "dds.tab.cc" /* yacc.c:1661 */ +#line 1612 "dds.tab.cc" /* yacc.c:1667 */ break; case 23: -#line 331 "dds.yy" /* yacc.c:1661 */ +#line 332 "dds.yy" /* yacc.c:1667 */ { ctor->push(DDS_OBJ(arg)->get_factory()->NewGrid()); } -#line 1616 "dds.tab.cc" /* yacc.c:1661 */ +#line 1620 "dds.tab.cc" /* yacc.c:1667 */ break; case 24: -#line 336 "dds.yy" /* yacc.c:1661 */ +#line 337 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewByte(); } -#line 1622 "dds.tab.cc" /* yacc.c:1661 */ +#line 1626 "dds.tab.cc" /* yacc.c:1667 */ break; case 25: -#line 337 "dds.yy" /* yacc.c:1661 */ +#line 338 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewInt16(); } -#line 1628 "dds.tab.cc" /* yacc.c:1661 */ +#line 1632 "dds.tab.cc" /* yacc.c:1667 */ break; case 26: -#line 338 "dds.yy" /* yacc.c:1661 */ +#line 339 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewUInt16(); } -#line 1634 "dds.tab.cc" /* yacc.c:1661 */ +#line 1638 "dds.tab.cc" /* yacc.c:1667 */ break; case 27: -#line 339 "dds.yy" /* yacc.c:1661 */ +#line 340 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewInt32(); } -#line 1640 "dds.tab.cc" /* yacc.c:1661 */ +#line 1644 "dds.tab.cc" /* yacc.c:1667 */ break; case 28: -#line 340 "dds.yy" /* yacc.c:1661 */ +#line 341 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewUInt32(); } -#line 1646 "dds.tab.cc" /* yacc.c:1661 */ +#line 1650 "dds.tab.cc" /* yacc.c:1667 */ break; case 29: -#line 341 "dds.yy" /* yacc.c:1661 */ +#line 342 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewFloat32(); } -#line 1652 "dds.tab.cc" /* yacc.c:1661 */ +#line 1656 "dds.tab.cc" /* yacc.c:1667 */ break; case 30: -#line 342 "dds.yy" /* yacc.c:1661 */ +#line 343 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewFloat64(); } -#line 1658 "dds.tab.cc" /* yacc.c:1661 */ +#line 1662 "dds.tab.cc" /* yacc.c:1667 */ break; case 31: -#line 343 "dds.yy" /* yacc.c:1661 */ +#line 344 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewStr(); } -#line 1664 "dds.tab.cc" /* yacc.c:1661 */ +#line 1668 "dds.tab.cc" /* yacc.c:1667 */ break; case 32: -#line 344 "dds.yy" /* yacc.c:1661 */ +#line 345 "dds.yy" /* yacc.c:1667 */ { if( current ) delete current ;current = DDS_OBJ(arg)->get_factory()->NewUrl(); } -#line 1670 "dds.tab.cc" /* yacc.c:1661 */ +#line 1674 "dds.tab.cc" /* yacc.c:1667 */ break; case 33: -#line 347 "dds.yy" /* yacc.c:1661 */ +#line 348 "dds.yy" /* yacc.c:1667 */ { current->set_name((yyvsp[0].word)); } -#line 1676 "dds.tab.cc" /* yacc.c:1661 */ +#line 1680 "dds.tab.cc" /* yacc.c:1667 */ break; case 49: -#line 358 "dds.yy" /* yacc.c:1661 */ +#line 359 "dds.yy" /* yacc.c:1667 */ { if (!check_int32((yyvsp[-1].word))) { string msg = "In the dataset descriptor object:\n"; @@ -1696,19 +1700,19 @@ (yyval.boolean) = true; } -#line 1700 "dds.tab.cc" /* yacc.c:1661 */ +#line 1704 "dds.tab.cc" /* yacc.c:1667 */ break; case 50: -#line 379 "dds.yy" /* yacc.c:1661 */ +#line 380 "dds.yy" /* yacc.c:1667 */ { if (!id) id = new string((yyvsp[0].word)); } -#line 1708 "dds.tab.cc" /* yacc.c:1661 */ +#line 1712 "dds.tab.cc" /* yacc.c:1667 */ break; case 51: -#line 383 "dds.yy" /* yacc.c:1661 */ +#line 384 "dds.yy" /* yacc.c:1667 */ { if (!check_int32((yyvsp[0].word))) { string msg = "In the dataset descriptor object:\n"; @@ -1730,19 +1734,19 @@ delete id; id = 0; } -#line 1734 "dds.tab.cc" /* yacc.c:1661 */ +#line 1738 "dds.tab.cc" /* yacc.c:1667 */ break; case 52: -#line 405 "dds.yy" /* yacc.c:1661 */ +#line 406 "dds.yy" /* yacc.c:1667 */ { (yyval.boolean) = true; } -#line 1742 "dds.tab.cc" /* yacc.c:1661 */ +#line 1746 "dds.tab.cc" /* yacc.c:1667 */ break; case 53: -#line 410 "dds.yy" /* yacc.c:1661 */ +#line 411 "dds.yy" /* yacc.c:1667 */ { ostringstream msg; msg << "In the dataset descriptor object:" << endl @@ -1750,23 +1754,23 @@ parse_error((parser_arg *)arg, msg.str().c_str(), dds_line_num, (yyvsp[0].word)); YYABORT; } -#line 1754 "dds.tab.cc" /* yacc.c:1661 */ +#line 1758 "dds.tab.cc" /* yacc.c:1667 */ break; case 54: -#line 419 "dds.yy" /* yacc.c:1661 */ +#line 420 "dds.yy" /* yacc.c:1667 */ { (*DDS_OBJ(arg)).set_dataset_name((yyvsp[0].word)); (yyval.boolean) = true;} -#line 1760 "dds.tab.cc" /* yacc.c:1661 */ +#line 1764 "dds.tab.cc" /* yacc.c:1667 */ break; case 55: -#line 420 "dds.yy" /* yacc.c:1661 */ +#line 421 "dds.yy" /* yacc.c:1667 */ { (*DDS_OBJ(arg)).set_dataset_name((yyvsp[0].word)); (yyval.boolean) = true; } -#line 1766 "dds.tab.cc" /* yacc.c:1661 */ +#line 1770 "dds.tab.cc" /* yacc.c:1667 */ break; case 56: -#line 422 "dds.yy" /* yacc.c:1661 */ +#line 423 "dds.yy" /* yacc.c:1667 */ { ostringstream msg; msg << "Error parsing the dataset name." << endl @@ -1774,11 +1778,11 @@ parse_error((parser_arg *)arg, msg.str().c_str(), dds_line_num, (yyvsp[0].word)); YYABORT; } -#line 1778 "dds.tab.cc" /* yacc.c:1661 */ +#line 1782 "dds.tab.cc" /* yacc.c:1667 */ break; -#line 1782 "dds.tab.cc" /* yacc.c:1661 */ +#line 1786 "dds.tab.cc" /* yacc.c:1667 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -1803,14 +1807,13 @@ /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + } goto yynewstate; @@ -1893,12 +1896,10 @@ | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -1960,6 +1961,7 @@ yyresult = 0; goto yyreturn; + /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ @@ -1967,6 +1969,7 @@ yyresult = 1; goto yyreturn; + #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | @@ -1977,6 +1980,10 @@ /* Fall through. */ #endif + +/*-----------------------------------------------------. +| yyreturn -- parsing is finished, return the result. | +`-----------------------------------------------------*/ yyreturn: if (yychar != YYEMPTY) { @@ -2006,7 +2013,7 @@ #endif return yyresult; } -#line 431 "dds.yy" /* yacc.c:1906 */ +#line 432 "dds.yy" /* yacc.c:1918 */ /* diff -Nru libdap-3.19.1/dds.tab.hh libdap-3.20.5/dds.tab.hh --- libdap-3.19.1/dds.tab.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/dds.tab.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +31,9 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + #ifndef YY_DDS_DDS_TAB_HH_INCLUDED # define YY_DDS_DDS_TAB_HH_INCLUDED /* Debug traces. */ @@ -40,7 +44,7 @@ extern int ddsdebug; #endif /* "%code requires" blocks. */ -#line 47 "dds.yy" /* yacc.c:1915 */ +#line 47 "dds.yy" /* yacc.c:1927 */ #include "config_dap.h" @@ -80,13 +84,14 @@ // ERROR is no longer used. These parsers now signal problems by throwing // exceptions. 5/22/2002 jhrg #define DDS_OBJ(arg) ((DDS *)((parser_arg *)(arg))->_object) +#define YYERROR_VERBOSE 0 // #define YYPARSE_PARAM arg extern int dds_line_num; /* defined in dds.lex */ -#line 90 "dds.tab.hh" /* yacc.c:1915 */ +#line 95 "dds.tab.hh" /* yacc.c:1927 */ /* Token type. */ #ifndef YYTOKENTYPE @@ -117,12 +122,12 @@ union YYSTYPE { -#line 131 "dds.yy" /* yacc.c:1915 */ +#line 132 "dds.yy" /* yacc.c:1927 */ bool boolean; char word[ID_MAX]; -#line 126 "dds.tab.hh" /* yacc.c:1915 */ +#line 131 "dds.tab.hh" /* yacc.c:1927 */ }; typedef union YYSTYPE YYSTYPE; diff -Nru libdap-3.19.1/dds.yy libdap-3.20.5/dds.yy --- libdap-3.19.1/dds.yy 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/dds.yy 2020-02-17 07:35:45.000000000 +0000 @@ -83,6 +83,7 @@ // ERROR is no longer used. These parsers now signal problems by throwing // exceptions. 5/22/2002 jhrg #define DDS_OBJ(arg) ((DDS *)((parser_arg *)(arg))->_object) +#define YYERROR_VERBOSE 0 // #define YYPARSE_PARAM arg diff -Nru libdap-3.19.1/DDXParserSAX2.cc libdap-3.20.5/DDXParserSAX2.cc --- libdap-3.19.1/DDXParserSAX2.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/DDXParserSAX2.cc 2020-02-17 07:35:45.000000000 +0000 @@ -93,55 +93,42 @@ switch (t) { case dods_byte_c: return d_factory->NewByte(name); - break; case dods_int16_c: return d_factory->NewInt16(name); - break; case dods_uint16_c: return d_factory->NewUInt16(name); - break; case dods_int32_c: return d_factory->NewInt32(name); - break; case dods_uint32_c: return d_factory->NewUInt32(name); - break; case dods_float32_c: return d_factory->NewFloat32(name); - break; case dods_float64_c: return d_factory->NewFloat64(name); - break; case dods_str_c: return d_factory->NewStr(name); - break; case dods_url_c: return d_factory->NewUrl(name); - break; case dods_array_c: return d_factory->NewArray(name); - break; case dods_structure_c: return d_factory->NewStructure(name); - break; case dods_sequence_c: return d_factory->NewSequence(name); - break; case dods_grid_c: return d_factory->NewGrid(name); - break; default: return 0; diff -Nru libdap-3.19.1/debian/changelog libdap-3.20.5/debian/changelog --- libdap-3.19.1/debian/changelog 2018-02-20 07:02:22.000000000 +0000 +++ libdap-3.20.5/debian/changelog 2020-02-24 02:34:21.000000000 +0000 @@ -1,8 +1,82 @@ -libdap (3.19.1-2build1) bionic; urgency=medium +libdap (3.20.5-1~18.04.sav0) bionic; urgency=medium - * No-change rebuild to pick up the shared flex library. + * Backport to Bionic + * debian/control: Set debhelper-compat (= 11) BD + + -- Rob Savoury Sun, 23 Feb 2020 18:34:21 -0800 + +libdap (3.20.5-1) unstable; urgency=medium + + * New upstream release + * Use debhelper-compat (=12) + * Standards-Version: 4.5.0 + * Add debian/gdb.conf file + * Fix DEP-5 syntax error in d/copyright + + -- Alastair McKinstry Mon, 17 Feb 2020 08:57:25 +0000 + +libdap (3.20.4-1) unstable; urgency=medium + + * New upstream release + * Minor version changes: + libdapclient: 6.1.10 -> 6.1.11 + libdapserver: 7.6.10 -> 7.6.11 + libdap: 25.2.1 -> 25.2.2 + * Standards-Version: 4.4.0 + * Debhelper 12 + + -- Alastair McKinstry Mon, 15 Jul 2019 10:15:29 +0100 + +libdap (3.20.3-1) unstable; urgency=medium + + * New upstream release + * Standards-Version: 4.3.0 + * Minor Version changes: + libdapclient: 6.1.9 -> 6.1.10 + libdapserver: 7.6.9 -> 7.6.10 + libdap: 25.2.0 -> 25.2.1 + * Remove obsolete patches: + - disable-docs.patch + - xml_libs.patch + + -- Alastair McKinstry Tue, 26 Feb 2019 05:47:36 +0000 + +libdap (3.20.2-1) unstable; urgency=medium + + * New upstream release + * Minor version change: + libdap: 25.1.1 -> 25.2.0 + + -- Alastair McKinstry Sat, 08 Dec 2018 15:13:32 +0000 + +libdap (3.20.1-1) unstable; urgency=medium + + * New upstream release + * Minor version changes: + libdapclient : 6.1.8 -> 6.1.9 + libdap: 25.1.0 -> 25.1.1 + libdapserver: 7.6.8 -> 7.6.9 + + -- Alastair McKinstry Thu, 22 Nov 2018 09:05:12 +0000 + +libdap (3.20.0-1) unstable; urgency=medium + + * New upstream release + * Minor version changes: + libdapclient : 6.1.7 -> 6.1.8 + libdap: 25.0.1 -> 25.1.0 + libdapserver: 7.6.7 -> 7.6.8 + * Standards-Version: 4.2.1 + * Drop hardcoded xz compression in options + + -- Alastair McKinstry Sun, 30 Sep 2018 12:04:23 +0100 + +libdap (3.19.1-3) UNRELEASED; urgency=medium + + * Use correct machine-readable copyright file URI. + + -- Jelmer Vernooij Mon, 10 Sep 2018 22:15:22 +0100 - -- Matthias Klose Tue, 20 Feb 2018 07:02:22 +0000 libdap (3.19.1-2) unstable; urgency=medium diff -Nru libdap-3.19.1/debian/compat libdap-3.20.5/debian/compat --- libdap-3.19.1/debian/compat 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -10 diff -Nru libdap-3.19.1/debian/control libdap-3.20.5/debian/control --- libdap-3.19.1/debian/control 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/control 2020-02-24 02:34:21.000000000 +0000 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Alastair McKinstry Build-Depends: zlib1g-dev, - debhelper (>= 10), + debhelper-compat (= 11), pkg-config, libxml2-dev, libcurl4-gnutls-dev | libcurl-dev, @@ -19,8 +19,8 @@ libssl-dev, libfl-dev Build-Conflicts: autoconf2.13 -Standards-Version: 4.1.3 -Homepage: http://www.opendap.org/ +Standards-Version: 4.5.0 +Homepage: https://www.opendap.org/ Vcs-Browser: https://salsa.debian.org:/science-team/libdap.git Vcs-Git: https://salsa.debian.org:/science-team/libdap.git diff -Nru libdap-3.19.1/debian/copyright libdap-3.20.5/debian/copyright --- libdap-3.19.1/debian/copyright 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/copyright 2020-02-17 08:57:25.000000000 +0000 @@ -1,4 +1,4 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Name: libdap Maintainer: Alastair McKinstry Source: http://www.opendap.org/ @@ -12,11 +12,11 @@ License: GPL-2 Files: gl/* -Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation, Inc. +Copyright: 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation, Inc. License: LGPL-2.1 Files: Makefile.am, Makefile.in, deflate.c util_mit.cc -Copyright :1994-2002 World Wide Web Consortium, (Massachusetts Institute of +Copyright: 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). License: W3C diff -Nru libdap-3.19.1/debian/gbp.conf libdap-3.20.5/debian/gbp.conf --- libdap-3.19.1/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/debian/gbp.conf 2020-02-17 08:57:25.000000000 +0000 @@ -0,0 +1,16 @@ +[DEFAULT] + +# The default name for the upstream branch is "upstream". +# Change it if the name is different (for instance, "master"). +upstream-branch = upstream + +# The default name for the Debian branch is "master". +# Change it if the name is different (for instance, "debian/unstable"). +debian-branch = debian/master + +# git-import-orig uses the following names for the upstream tags. +# Change the value if you are not using git-import-orig +upstream-tag = upstream/%(version)s + +# Always use pristine-tar. +pristine-tar = False diff -Nru libdap-3.19.1/debian/libdap25.install libdap-3.20.5/debian/libdap25.install --- libdap-3.19.1/debian/libdap25.install 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/libdap25.install 2020-02-17 08:57:25.000000000 +0000 @@ -1 +1 @@ -usr/lib/*/libdap.so.25.0.1 +usr/lib/*/libdap.so.25.2.2 diff -Nru libdap-3.19.1/debian/libdapclient6v5.install libdap-3.20.5/debian/libdapclient6v5.install --- libdap-3.19.1/debian/libdapclient6v5.install 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/libdapclient6v5.install 2020-02-17 08:57:25.000000000 +0000 @@ -1 +1 @@ -usr/lib/*/libdapclient.so.6.1.7 +usr/lib/*/libdapclient.so.6.1.11 diff -Nru libdap-3.19.1/debian/libdapserver7v5.install libdap-3.20.5/debian/libdapserver7v5.install --- libdap-3.19.1/debian/libdapserver7v5.install 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/libdapserver7v5.install 2020-02-17 08:57:25.000000000 +0000 @@ -1 +1 @@ -usr/lib/*/libdapserver.so.7.6.7 +usr/lib/*/libdapserver.so.7.6.11 diff -Nru libdap-3.19.1/debian/patches/disable-cache-test.patch libdap-3.20.5/debian/patches/disable-cache-test.patch --- libdap-3.19.1/debian/patches/disable-cache-test.patch 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/patches/disable-cache-test.patch 2020-02-17 08:57:25.000000000 +0000 @@ -3,20 +3,20 @@ Forwarded: no Last-Updated: 2015-10-20 -Index: libdap-3.19.0/unit-tests/Makefile.am +Index: libdap-3.20.0/unit-tests/Makefile.am =================================================================== ---- libdap-3.19.0.orig/unit-tests/Makefile.am -+++ libdap-3.19.0/unit-tests/Makefile.am -@@ -67,9 +67,9 @@ D4-xml.tar.gz: D4-xml/DMR_*[0-9].xml +--- libdap-3.20.0.orig/unit-tests/Makefile.am ++++ libdap-3.20.0/unit-tests/Makefile.am +@@ -78,9 +78,9 @@ D4-xml.tar.gz: D4-xml/DMR_*[0-9].xml if CPPUNIT UNIT_TESTS = marshT arrayT attrTableT structT sequenceT ddsT dasT \ RegexTest ArrayTest AttrTableTest ByteTest MIMEUtilTest ancT DASTest \ - DDSTest DDXParserTest generalUtilTest HTTPConnectTest parserUtilTest \ - RCReaderTest SequenceTest SignalHandlerTest MarshallerTest \ -- HTTPCacheTest ServerFunctionsListUnitTest -+ DDSTest DDXParserTest generalUtilTest parserUtilTest \ +- HTTPCacheTest ServerFunctionsListUnitTest Int8Test Int16Test UInt16Test \ ++ DDSTest DDXParserTest generalUtilTest parserUtilTest \ + SequenceTest SignalHandlerTest MarshallerTest \ -+ ServerFunctionsListUnitTest ++ ServerFunctionsListUnitTest Int8Test Int16Test UInt16Test \ + Int32Test UInt32Test Int64Test UInt64Test Float32Test Float64Test \ + D4BaseTypeFactoryTest BaseTypeFactoryTest - if DAP4_DEFINED - UNIT_TESTS += D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \ diff -Nru libdap-3.19.1/debian/patches/disable-D4FilterClauseTest.patch libdap-3.20.5/debian/patches/disable-D4FilterClauseTest.patch --- libdap-3.19.1/debian/patches/disable-D4FilterClauseTest.patch 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/patches/disable-D4FilterClauseTest.patch 2020-02-17 08:57:25.000000000 +0000 @@ -4,11 +4,11 @@ Bug-Origin: https://bugs.debian.org/836187 Forwarded: no -Index: libdap-3.19.0/unit-tests/Makefile.am +Index: libdap-3.20.0/unit-tests/Makefile.am =================================================================== ---- libdap-3.19.0.orig/unit-tests/Makefile.am -+++ libdap-3.19.0/unit-tests/Makefile.am -@@ -74,7 +74,7 @@ UNIT_TESTS = marshT arrayT attrTableT st +--- libdap-3.20.0.orig/unit-tests/Makefile.am ++++ libdap-3.20.0/unit-tests/Makefile.am +@@ -87,7 +87,7 @@ UNIT_TESTS = marshT arrayT attrTableT st if DAP4_DEFINED UNIT_TESTS += D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \ D4EnumDefsTest D4GroupTest D4ParserSax2Test D4AttributesTest D4EnumTest \ diff -Nru libdap-3.19.1/debian/patches/disable-dmr-tests.patch libdap-3.20.5/debian/patches/disable-dmr-tests.patch --- libdap-3.19.1/debian/patches/disable-dmr-tests.patch 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/patches/disable-dmr-tests.patch 2020-02-17 08:57:25.000000000 +0000 @@ -3,11 +3,11 @@ Last-Updated: 2015-11-08 Forwarded: no -Index: libdap-3.19.0/tests/Makefile.am +Index: libdap-3.20.0/tests/Makefile.am =================================================================== ---- libdap-3.19.0.orig/tests/Makefile.am -+++ libdap-3.19.0/tests/Makefile.am -@@ -31,7 +31,7 @@ endif +--- libdap-3.20.0.orig/tests/Makefile.am ++++ libdap-3.20.0/tests/Makefile.am +@@ -39,7 +39,7 @@ endif # TESTS = DASTest DDSTest EXPRTest DMRTest getdapTest check_SCRIPTS = $(DASTESTSUITE) $(DDSTESTSUITE) $(EXPRTESTSUITE) \ @@ -16,7 +16,7 @@ # Build the test drivers. The drivers all use the # subclassed types in Test*.cc and the TestTypesFactory. -@@ -107,11 +107,10 @@ DMRTESTSUITE = $(srcdir)/DMRTest +@@ -115,11 +115,10 @@ DMRTESTSUITE = $(srcdir)/DMRTest GETDAPTESTSUITE = $(srcdir)/getdapTest check-local: atconfig atlocal $(DASTESTSUITE) $(DDSTESTSUITE) \ diff -Nru libdap-3.19.1/debian/patches/disable-docs.patch libdap-3.20.5/debian/patches/disable-docs.patch --- libdap-3.19.1/debian/patches/disable-docs.patch 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/patches/disable-docs.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -Index: libdap-3.15.1/Makefile.am -=================================================================== ---- libdap-3.15.1.orig/Makefile.am -+++ libdap-3.15.1/Makefile.am -@@ -108,8 +108,9 @@ CLEANFILES = *.log *.output *.gcda *.gcn - - .PHONY: docs - docs: -- doxygen $(srcdir)/doxy.conf -- (cd docs && tar -czf html.tar.gz html) -+ @echo Docs disabled -+# doxygen $(srcdir)/doxy.conf -+# (cd docs && tar -czf html.tar.gz html) - - # cccc computes metrics like Lines of code and McCabe. It'a available - # on the web... diff -Nru libdap-3.19.1/debian/patches/disable-net-tests.patch libdap-3.20.5/debian/patches/disable-net-tests.patch --- libdap-3.19.1/debian/patches/disable-net-tests.patch 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/patches/disable-net-tests.patch 2020-02-17 08:57:25.000000000 +0000 @@ -4,11 +4,11 @@ Last-Updated: 2016-02-06 Forwarded: not-needed -Index: libdap-3.19.0/tests/Makefile.am +Index: libdap-3.20.0/tests/Makefile.am =================================================================== ---- libdap-3.19.0.orig/tests/Makefile.am -+++ libdap-3.19.0/tests/Makefile.am -@@ -30,8 +30,7 @@ endif +--- libdap-3.20.0.orig/tests/Makefile.am ++++ libdap-3.20.0/tests/Makefile.am +@@ -38,8 +38,7 @@ endif # TESTS = DASTest DDSTest EXPRTest DMRTest getdapTest @@ -18,7 +18,7 @@ # Build the test drivers. The drivers all use the # subclassed types in Test*.cc and the TestTypesFactory. -@@ -107,11 +106,10 @@ DMRTESTSUITE = $(srcdir)/DMRTest +@@ -115,11 +114,10 @@ DMRTESTSUITE = $(srcdir)/DMRTest GETDAPTESTSUITE = $(srcdir)/getdapTest check-local: atconfig atlocal $(DASTESTSUITE) $(DDSTESTSUITE) \ diff -Nru libdap-3.19.1/debian/patches/pkgconfig.patch libdap-3.20.5/debian/patches/pkgconfig.patch --- libdap-3.19.1/debian/patches/pkgconfig.patch 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/patches/pkgconfig.patch 2020-02-17 08:57:25.000000000 +0000 @@ -3,10 +3,10 @@ Last-Updated: 2011-09-05 Forwarded: no -Index: libdap-3.19.0/libdapclient.pc.in +Index: libdap-3.20.0/libdapclient.pc.in =================================================================== ---- libdap-3.19.0.orig/libdapclient.pc.in -+++ libdap-3.19.0/libdapclient.pc.in +--- libdap-3.20.0.orig/libdapclient.pc.in ++++ libdap-3.20.0/libdapclient.pc.in @@ -11,6 +11,6 @@ Version: @VERSION@ Requires: libdap Libs: -L${libdir} -ldapclient diff -Nru libdap-3.19.1/debian/patches/series libdap-3.20.5/debian/patches/series --- libdap-3.19.1/debian/patches/series 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/patches/series 2020-02-17 08:57:25.000000000 +0000 @@ -1,6 +1,5 @@ unique_ptr.patch pkgconfig.patch -# disable-docs.patch disable-cache-test.patch disable-dmr-tests.patch disable-net-tests.patch diff -Nru libdap-3.19.1/debian/patches/xml_libs.patch libdap-3.20.5/debian/patches/xml_libs.patch --- libdap-3.19.1/debian/patches/xml_libs.patch 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/patches/xml_libs.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -Author: Alastair McKinstry -Description: Fix to link correctly with XML libs -Forwarded: no -Last-Updated: 2011-12-08 - -Index: libdap-3.18.0/Makefile.am -=================================================================== ---- libdap-3.18.0.orig/Makefile.am -+++ libdap-3.18.0/Makefile.am -@@ -67,7 +67,7 @@ endif - libdapclient_la_SOURCES = $(CLIENT_SRC) - libdapclient_la_LDFLAGS = -version-info $(CLIENTLIB_VERSION) - libdapclient_la_CPPFLAGS = $(AM_CPPFLAGS) $(CURL_CFLAGS) --libdapclient_la_LIBADD = $(CURL_LIBS) libdap.la $(PTHREAD_LIBS) -+libdapclient_la_LIBADD = $(XML2_LIBS) $(CURL_LIBS) libdap.la $(PTHREAD_LIBS) - if DAP4_DEFINED - libdapclient_la_SOURCES += $(DAP4_CLIENT_HDR) $(DAP4_CLIENT_SRC) - endif diff -Nru libdap-3.19.1/debian/rules libdap-3.20.5/debian/rules --- libdap-3.19.1/debian/rules 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/rules 2020-02-17 08:57:25.000000000 +0000 @@ -37,12 +37,12 @@ override_dh_auto_install: dh_auto_install # dh_links needed for multi-arch - dh_link -p libdap25 $(LIBDIR)/libdap.so.25.0.1 $(LIBDIR)/libdap.so.25 - dh_link -p libdapclient6v5 $(LIBDIR)/libdapclient.so.6.1.7 $(LIBDIR)/libdapclient.so.6 - dh_link -p libdapserver7v5 $(LIBDIR)/libdapserver.so.7.6.7 $(LIBDIR)/libdapserver.so.7 - dh_link -p libdap-dev $(LIBDIR)/libdap.so.25.0.1 $(LIBDIR)/libdap.so - dh_link -p libdap-dev $(LIBDIR)/libdapclient.so.6.1.7 $(LIBDIR)/libdapclient.so - dh_link -p libdap-dev $(LIBDIR)/libdapserver.so.7.6.7 $(LIBDIR)/libdapserver.so + dh_link -p libdap25 $(LIBDIR)/libdap.so.25.2.2 $(LIBDIR)/libdap.so.25 + dh_link -p libdapclient6v5 $(LIBDIR)/libdapclient.so.6.1.11 $(LIBDIR)/libdapclient.so.6 + dh_link -p libdapserver7v5 $(LIBDIR)/libdapserver.so.7.6.11 $(LIBDIR)/libdapserver.so.7 + dh_link -p libdap-dev $(LIBDIR)/libdap.so.25.2.2 $(LIBDIR)/libdap.so + dh_link -p libdap-dev $(LIBDIR)/libdapclient.so.6.1.11 $(LIBDIR)/libdapclient.so + dh_link -p libdap-dev $(LIBDIR)/libdapserver.so.7.6.11 $(LIBDIR)/libdapserver.so # Allow this cp to fail on arch-independent builds -cp debian/dap-config.pkg debian/libdap-dev/usr/bin/dap-config diff -Nru libdap-3.19.1/debian/source/options libdap-3.20.5/debian/source/options --- libdap-3.19.1/debian/source/options 2018-02-03 12:35:34.000000000 +0000 +++ libdap-3.20.5/debian/source/options 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -compression = "xz" diff -Nru libdap-3.19.1/debug.h libdap-3.20.5/debug.h --- libdap-3.19.1/debug.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/debug.h 2020-02-17 07:35:45.000000000 +0000 @@ -43,7 +43,7 @@ using std::cerr; using std::string; using std::endl; -#define FILE_N_LINE cerr << __FILE__ << ": " << __LINE__ << ":" +#define FILE_N_LINE std::cerr << __FILE__ << ":" << __LINE__ << ": " #else @@ -52,7 +52,7 @@ #endif /* cplusplus */ #ifdef DODS_DEBUG -#define DBG(x) FILE_N_LINE; x +#define DBG(x) FILE_N_LINE, x #define DBGN(x) x #else #define DBG(x) /* x */ @@ -62,13 +62,13 @@ /** The purpose of DODS_DEBUG1 is to look at only a handful of the DBG() macros by changing them to DBG1() macros and defining DODS_DEBUG1. */ #ifdef DODS_DEBUG1 -#define DBG1(x) FILE_N_LINE; x +#define DBG1(x) FILE_N_LINE, x #else #define DBG1(x) /* x */ #endif #ifdef DODS_DEBUG2 -#define DBG2(x) FILE_N_LINE; x +#define DBG2(x) FILE_N_LINE, x #define DBG2N(x) x #else #define DBG2(x) /* x */ diff -Nru libdap-3.19.1/DMR.cc libdap-3.20.5/DMR.cc --- libdap-3.19.1/DMR.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/DMR.cc 2020-02-17 07:35:45.000000000 +0000 @@ -53,6 +53,7 @@ #include "DDS.h" // Included so DMRs can be built using a DDS for 'legacy' handlers #include "debug.h" +#include "DapIndent.h" /** * DapXmlNamespaces @@ -253,35 +254,40 @@ // Now copy the global attributes root()->attributes()->transform_to_dap4(dds.get_attr_table()); } -#if 1 + +#if 0 /** * If we have a DMR that includes Attributes, use it to build the DDS. This * will copy all of the variables in the DMR into the DDS using * BaseType::transform_to_dap2(), so the actual types added can be * controlled by code that specializes the various type classes. * + * @todo Fix this so that it does not take a reference to a DMR - since + * this is a method of DMR and seems to operate on *this. + * * @param dds Read variables and Attributes from this DDS */ DDS *DMR::getDDS(DMR &dmr) { - DBG( cerr << __func__ << "() - BEGIN" << endl;); + DBG( cerr << __func__ << "() - BEGIN" << endl); D4Group *root = dmr.root(); BaseTypeFactory *btf = new BaseTypeFactory(); - DDS *dds = new DDS(btf,dmr.name()); + DDS *dds = new DDS(btf, dmr.name()); dds->filename(dmr.filename()); AttrTable *dds_at = &(dds->get_attr_table()); // Now copy the global attributes // D4Attributes::load_AttrTable(dds_at,root->attributes()); - vector *top_vars = root->transform_to_dap2(dds_at,true); - + // TODO Make this a unique_ptr<> and let the compiler delete it. jhrg 6/17/19 + vector *top_vars = root->transform_to_dap2(dds_at, true); vector::iterator vIter = top_vars->begin(); vector::iterator vEnd = top_vars->end(); - for( ; vIter!=vEnd ; vIter++){ - dds->add_var(*vIter); + for (; vIter != vEnd; vIter++) { + dds->add_var_nocopy(*vIter); } + delete top_vars; #if 0 set shared_dim_candidates; @@ -289,21 +295,21 @@ vector dropped_vars; for (D4Group::Vars_iter i = root->var_begin(), e = root->var_end(); i != e; ++i) { - DBG( cerr << __func__ << "() - Processing top level variable '"<< (*i)->type_name() << " " << (*i)->name() << "' to DDS." << endl; ); + DBG( cerr << __func__ << "() - Processing top level variable '"<< (*i)->type_name() << " " << (*i)->name() << "' to DDS." << endl; ); vector *new_vars = (*i)->transform_to_dap2(&(dds->get_attr_table())); - if(new_vars!=0){ + if(new_vars!=0) { vector::iterator vIter = new_vars->begin(); vector::iterator end = new_vars->end(); - for( ; vIter!=end ; vIter++ ){ + for(; vIter!=end; vIter++ ) { BaseType *new_var = (*vIter); DBG( cerr << __func__ << "() - Adding variable name: '"<< new_var->name() << "' " << - "type: " << new_var->type() << " " << + "type: " << new_var->type() << " " << "type_name: " << new_var->type_name() << " to DDS." << endl; ); dds->add_var_nocopy(new_var); Grid *grid = dynamic_cast (new_var); - if(grid){ + if(grid) { Grid::Map_iter m = grid->map_begin(); - for( ; m != grid->map_end() ; m++){ + for(; m != grid->map_end(); m++) { shared_dim_candidates.insert((*m)->name()); } } @@ -312,50 +318,91 @@ delete new_vars; } else { - DBG( cerr << __func__ << "Adding variable '"<< (*i)->type_name() << " " << (*i)->name() << "' to drop list." << endl; ); + DBG( cerr << __func__ << "Adding variable '"<< (*i)->type_name() << " " << (*i)->name() << "' to drop list." << endl; ); dropped_vars.push_back((*i)); } } AttrTable *dv_table = Constructor::make_dropped_vars_attr_table(&dropped_vars); - if(dv_table){ - DBG( cerr << __func__ << "() - Adding dropped variable AttrTable." << endl;); + if(dv_table) { + DBG( cerr << __func__ << "() - Adding dropped variable AttrTable." << endl); dds_at->append_container(dv_table,dv_table->get_name()); } // Get all the child groups. D4Group::groupsIter gIter = root->grp_begin(); D4Group::groupsIter gEnd = root->grp_end(); - for( ; gIter!=gEnd ; gIter++){ + for(; gIter!=gEnd; gIter++) { D4Group *grp = *gIter; - DBG( cerr << __func__ << "() - Processing D4Group " << grp->name() << endl;); + DBG( cerr << __func__ << "() - Processing D4Group " << grp->name() << endl); vector *d2_vars = grp->transform_to_dap2(dds_at); - if(d2_vars){ - DBG( cerr << __func__ << "() - Processing " << grp->name() << " Member Variables." << endl;); + if(d2_vars) { + DBG( cerr << __func__ << "() - Processing " << grp->name() << " Member Variables." << endl); vector::iterator vIter = d2_vars->begin(); vector::iterator vEnd = d2_vars->end(); - for( ; vIter!=vEnd; vIter++){ - DBG( cerr << __func__ << "() - Processing " << grp->name() << " Member Variable: " << (*vIter)->name() << endl;); + for(; vIter!=vEnd; vIter++) { + DBG( cerr << __func__ << "() - Processing " << grp->name() << " Member Variable: " << (*vIter)->name() << endl); dds->add_var(*vIter); } } } #endif - - DBG( cerr << __func__ << "() - END" << endl;); + DBG( cerr << __func__ << "() - END" << endl); return dds; } +#endif - -DDS *DMR::getDDS() +/** + * @brief Build a DDS from a DMR + * + * Build a DDS from a DMR, collapsing DAP4 Groups, transforming Arrays to Grids + * as needed, and moving the attributes around to match the new variables. All + * of the variables in the returned DDS object are newly allocated with separate + * lifetimes from the objects in the DMR. They are made using ptr_duplicate() + * so that all of the variables mirror specializations for the various types. + * That is, if the HDF5 handler built the DMR, then the resulting DDS will hold + * instances of H5Int32, etc. + * + * @note The caller is responsible for deleting the resulting DDS object. + * + * @return A pointer to the newly allocated DDS. + */ +DDS * +DMR::getDDS() { +#if 0 return DMR::getDDS(*this); -} +#else + DBG( cerr << __func__ << "() - BEGIN" << endl); +#if 0 + BaseTypeFactory *btf = new BaseTypeFactory(); +#endif + BaseTypeFactory btf; + DDS *dds = new DDS(&btf, name()); + dds->filename(filename()); + // Now copy the global attributes + // TODO Make this a unique_ptr<> and let the compiler delete it. jhrg 6/17/19 + vector *top_vars = root()->transform_to_dap2(&(dds->get_attr_table())/*, true*/); + for (vector::iterator i = top_vars->begin(), e = top_vars->end(); i != e; i++) { + dds->add_var_nocopy(*i); + } + delete top_vars; + DBG( cerr << __func__ << "() - END" << endl); + + dds->set_factory(0); + return dds; #endif +} +/** + * Get the root group for this DMR. This accessor allocates the root group + * if one does not exist using the factory class bound to this DMR + * + * @return A pointer to the root group. + */ D4Group * DMR::root() { diff -Nru libdap-3.19.1/DMR.h libdap-3.20.5/DMR.h --- libdap-3.19.1/DMR.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/DMR.h 2020-02-17 07:35:45.000000000 +0000 @@ -31,8 +31,6 @@ #include #include -//#include "D4Group.h" -//#include "XMLWriter.h" #include "DapObj.h" namespace libdap @@ -58,25 +56,25 @@ D4BaseTypeFactory *d_factory; /// The name of the dataset. This should not be the pathname to a file - string d_name; + std::string d_name; /// The pathname or other system identifier for the dataset - string d_filename; + std::string d_filename; /// DAP protocol major version number. Should be '4' int d_dap_major; /// DAP protocol minor version number. int d_dap_minor; /// String version of the DAP protocol number - string d_dap_version; + std::string d_dap_version; /// The version of the DMR document - string d_dmr_version; + std::string d_dmr_version; /// The URL for the request base - string d_request_xml_base; + std::string d_request_xml_base; /// The namespace to use when printing the XML serialization - string d_namespace; + std::string d_namespace; /// The maximum response size (in Kilo bytes) long d_max_response_size; @@ -92,7 +90,7 @@ public: DMR(); DMR(const DMR &dmr); - DMR(D4BaseTypeFactory *factory, const string &name = ""); + DMR(D4BaseTypeFactory *factory, const std::string &name = ""); DMR(D4BaseTypeFactory *factory, DDS &dds); @@ -114,46 +112,46 @@ * error messages. */ //@{ - string name() const { return d_name; } - void set_name(const string &n) { d_name = n; } + std::string name() const { return d_name; } + void set_name(const std::string &n) { d_name = n; } //@} /** Get/set the factory which makes instances of the variables. Specialize D4BaseTypeFactory so that a DMR will be - populated with your client or server's specialized types.*/ + populated with your client's or server's specialized types.*/ //@{ virtual D4BaseTypeFactory *factory() { return d_factory; } virtual void set_factory(D4BaseTypeFactory *f) { d_factory = f; } //@} /** get/set the dataset's 'filename.' The filename is a string that can - * be used to access the dataset's actual data store (it's usually a - * pathname to a file, but it might be a database key. + * be used to access the dataset via some data store (it's usually a + * pathname to a file, but it might be a database key). */ //@{ - string filename() const { return d_filename; } - void set_filename(const string &fn) { d_filename = fn;} + std::string filename() const { return d_filename; } + void set_filename(const std::string &fn) { d_filename = fn;} //@} - string dap_version() const { return d_dap_version; } - void set_dap_version(const string &version_string); + std::string dap_version() const { return d_dap_version; } + void set_dap_version(const std::string &version_string); int dap_major() const { return d_dap_major; } int dap_minor() const { return d_dap_minor; } - string dmr_version() const { return d_dmr_version; } - void set_dmr_version(const string &v) { d_dmr_version = v; } + std::string dmr_version() const { return d_dmr_version; } + void set_dmr_version(const std::string &v) { d_dmr_version = v; } - /// Get the URL that will return this DMR/DDX/DataThing - string request_xml_base() const { return d_request_xml_base; } + /// Get the URL that will return this DMR + std::string request_xml_base() const { return d_request_xml_base; } /// @see get_request_xml_base - void set_request_xml_base(const string &xb) { d_request_xml_base = xb; } + void set_request_xml_base(const std::string &xb) { d_request_xml_base = xb; } - /// Get the namespace associated with the DDS - likely set only by DDX responses - string get_namespace() const { return d_namespace; } + /// Get the namespace associated with the DMR + std::string get_namespace() const { return d_namespace; } - /// Set the namespace for this DDS/DDX object/response - void set_namespace(const string &ns) { d_namespace = ns; } + /// Set the namespace for this DMR + void set_namespace(const std::string &ns) { d_namespace = ns; } // TODO Move the response_limit methods to D4ResponseBuilder? jhrg 5/1/13 /// Get the maximum response size, in KB. Zero indicates no limit. @@ -173,15 +171,14 @@ */ D4Group *root(); - static DDS *getDDS(DMR &dmr); + // TODO Remove this static method? If we have a DMR, why not use the + // getDDS() method below? jhrg 2.28.18 + //static DDS *getDDS(DMR &dmr); virtual DDS *getDDS(); - - - void print_dap4(XMLWriter &xml, bool constrained = false); - virtual void dump(ostream &strm) const ; + virtual void dump(std::ostream &strm) const ; }; } // namespace libdap diff -Nru libdap-3.19.1/Error.cc libdap-3.20.5/Error.cc --- libdap-3.19.1/Error.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Error.cc 2020-02-17 07:35:45.000000000 +0000 @@ -71,7 +71,7 @@ /** Specializations of Error should use this to set the error code and message. */ -Error::Error() : _error_code(undefined_error), _error_message("") +Error::Error() : exception(), _error_code(undefined_error), _error_message("") {} /** Create an instance with a specific code and message string. This ctor @@ -84,7 +84,7 @@ @param ec The error code @param msg The error message string. */ Error::Error(ErrorCode ec, string msg) - : _error_code(ec), _error_message(msg) + : exception(), _error_code(ec), _error_message(msg) {} /** Create an instance with a specific message. The error code is set to \c @@ -93,16 +93,15 @@ @param msg The error message. @see ErrorCode */ Error::Error(string msg) - : _error_code(unknown_error), _error_message(msg) + : exception(), _error_code(unknown_error), _error_message(msg) {} Error::Error(const Error ©_from) - : _error_code(copy_from._error_code), - _error_message(copy_from._error_message) + : exception(), _error_code(copy_from._error_code), _error_message(copy_from._error_message) { } -Error::~Error() +Error::~Error() throw() { } diff -Nru libdap-3.19.1/Error.h libdap-3.20.5/Error.h --- libdap-3.19.1/Error.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Error.h 2020-02-17 07:35:45.000000000 +0000 @@ -36,9 +36,11 @@ #ifndef _error_h #define _error_h -#include // For FILE * #include #include +#include + +#include // For FILE * using std::cout; using std::string; @@ -87,31 +89,35 @@ @brief A class for error processing. @author jhrg */ -class Error +class Error : public std::exception { protected: ErrorCode _error_code; - string _error_message; + std::string _error_message; public: - Error(ErrorCode ec, string msg); - Error(string msg); + Error(ErrorCode ec, std::string msg); + Error(std::string msg); Error(); Error(const Error ©_from); - virtual ~Error(); + virtual ~Error() throw(); Error &operator=(const Error &rhs); bool OK() const; bool parse(FILE *fp); void print(FILE *out) const; - void print(ostream &out) const; + void print(std::ostream &out) const; ErrorCode get_error_code() const; - string get_error_message() const; + std::string get_error_message() const; void set_error_code(ErrorCode ec = undefined_error); - void set_error_message(string msg = ""); + void set_error_message(std::string msg = ""); + + virtual const char* what() const throw() { + return get_error_message().c_str(); + } }; } // namespace libdap diff -Nru libdap-3.19.1/Error.tab.cc libdap-3.20.5/Error.tab.cc --- libdap-3.19.1/Error.tab.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Error.tab.cc 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,11 +41,14 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "3.0.4" +#define YYBISON_VERSION "3.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -69,15 +73,16 @@ #define yylval Errorlval #define yychar Errorchar -/* Copy the first part of user declarations. */ - -#line 75 "Error.tab.cc" /* yacc.c:339 */ # ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif # else -# define YY_NULLPTR 0 +# define YY_NULLPTR ((void*)0) # endif # endif @@ -101,7 +106,7 @@ extern int Errordebug; #endif /* "%code requires" blocks. */ -#line 32 "Error.yy" /* yacc.c:355 */ +#line 32 "Error.yy" /* yacc.c:352 */ #include "config_dap.h" @@ -125,12 +130,13 @@ #define ERROR_OBJ(arg) ((Error *)((parser_arg *)(arg))->_object) #define STATUS(arg) ((parser_arg *)(arg))->_status +#define YYERROR_VERBOSE 0 //#define YYPARSE_PARAM arg extern int error_line_num; // defined in Error.lex -#line 134 "Error.tab.cc" /* yacc.c:355 */ +#line 140 "Error.tab.cc" /* yacc.c:352 */ /* Token type. */ #ifndef YYTOKENTYPE @@ -150,7 +156,7 @@ union YYSTYPE { -#line 75 "Error.yy" /* yacc.c:355 */ +#line 76 "Error.yy" /* yacc.c:352 */ #ifdef __SUNPRO_CC int boolean; @@ -160,7 +166,7 @@ int integer; char *string; -#line 164 "Error.tab.cc" /* yacc.c:355 */ +#line 170 "Error.tab.cc" /* yacc.c:352 */ }; typedef union YYSTYPE YYSTYPE; @@ -175,18 +181,16 @@ #endif /* !YY_ERROR_ERROR_TAB_HH_INCLUDED */ -/* Copy the second part of user declarations. */ -#line 181 "Error.tab.cc" /* yacc.c:358 */ /* Unqualified %code blocks. */ -#line 61 "Error.yy" /* yacc.c:359 */ +#line 62 "Error.yy" /* yacc.c:355 */ int Errorlex(); // the scanner void Errorerror(parser_arg *arg, const string &s); // gotta love automatically generated names... -#line 190 "Error.tab.cc" /* yacc.c:359 */ +#line 194 "Error.tab.cc" /* yacc.c:355 */ #ifdef short # undef short @@ -207,13 +211,13 @@ #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else -typedef unsigned short int yytype_uint16; +typedef unsigned short yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else -typedef short int yytype_int16; +typedef short yytype_int16; #endif #ifndef YYSIZE_T @@ -225,7 +229,7 @@ # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else -# define YYSIZE_T unsigned int +# define YYSIZE_T unsigned # endif #endif @@ -261,15 +265,6 @@ # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -277,7 +272,7 @@ # define YYUSE(E) /* empty */ #endif -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ @@ -439,16 +434,16 @@ /* YYNSTATES -- Number of states. */ #define YYNSTATES 20 -/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 262 +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ + as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -484,7 +479,7 @@ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { - 0, 103, 103, 106, 109, 110, 113, 121, 120 + 0, 104, 104, 107, 110, 111, 114, 122, 121 }; #endif @@ -596,22 +591,22 @@ #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (arg, YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (arg, YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) /* Error token number */ #define YYTERROR 1 @@ -651,38 +646,38 @@ } while (0) -/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) +yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) { - FILE *yyo = yyoutput; - YYUSE (yyo); + FILE *yyoutput = yyo; + YYUSE (yyoutput); YYUSE (arg); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); + YYPRINT (yyo, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) +yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, parser_arg *arg) { - YYFPRINTF (yyoutput, "%s %s (", + YYFPRINTF (yyo, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); - yy_symbol_value_print (yyoutput, yytype, yyvaluep, arg); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yytype, yyvaluep, arg); + YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. @@ -716,7 +711,7 @@ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, parser_arg *arg) { - unsigned long int yylno = yyrline[yyrule]; + unsigned long yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", @@ -727,7 +722,7 @@ YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) + &yyvsp[(yyi + 1) - (yynrhs)] , arg); YYFPRINTF (stderr, "\n"); } @@ -831,7 +826,10 @@ case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; - /* Fall through. */ + else + goto append; + + append: default: if (yyres) yyres[yyn] = *yyp; @@ -849,7 +847,7 @@ if (! yyres) return yystrlen (yystr); - return yystpcpy (yyres, yystr) - yyres; + return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres); } # endif @@ -927,10 +925,10 @@ yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } } } @@ -942,6 +940,7 @@ case N: \ yyformat = S; \ break + default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); @@ -953,9 +952,10 @@ { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } if (*yymsg_alloc < yysize) @@ -1082,23 +1082,31 @@ yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; + /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yynewstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + *yyssp = (yytype_int16) yystate; if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1); -#ifdef yyoverflow +# if defined yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into @@ -1114,14 +1122,10 @@ &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); - yyss = yyss1; yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; @@ -1137,22 +1141,22 @@ goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); @@ -1161,11 +1165,11 @@ goto yybackup; + /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ @@ -1238,7 +1242,7 @@ /*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ @@ -1259,56 +1263,56 @@ switch (yyn) { case 2: -#line 103 "Error.yy" /* yacc.c:1661 */ +#line 104 "Error.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[-2].boolean); STATUS(arg) = (yyvsp[-2].boolean); } -#line 1265 "Error.tab.cc" /* yacc.c:1661 */ +#line 1269 "Error.tab.cc" /* yacc.c:1667 */ break; case 3: -#line 106 "Error.yy" /* yacc.c:1661 */ +#line 107 "Error.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[0].boolean); } -#line 1271 "Error.tab.cc" /* yacc.c:1661 */ +#line 1275 "Error.tab.cc" /* yacc.c:1667 */ break; case 4: -#line 109 "Error.yy" /* yacc.c:1661 */ +#line 110 "Error.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[-1].boolean) && (yyvsp[0].boolean); } -#line 1277 "Error.tab.cc" /* yacc.c:1661 */ +#line 1281 "Error.tab.cc" /* yacc.c:1667 */ break; case 5: -#line 110 "Error.yy" /* yacc.c:1661 */ +#line 111 "Error.yy" /* yacc.c:1667 */ { (yyval.boolean) = (yyvsp[0].boolean); } -#line 1283 "Error.tab.cc" /* yacc.c:1661 */ +#line 1287 "Error.tab.cc" /* yacc.c:1667 */ break; case 6: -#line 114 "Error.yy" /* yacc.c:1661 */ +#line 115 "Error.yy" /* yacc.c:1667 */ { ERROR_OBJ(arg)->set_error_code((ErrorCode)(yyvsp[-1].integer)); (yyval.boolean) = true; } -#line 1292 "Error.tab.cc" /* yacc.c:1661 */ +#line 1296 "Error.tab.cc" /* yacc.c:1667 */ break; case 7: -#line 121 "Error.yy" /* yacc.c:1661 */ +#line 122 "Error.yy" /* yacc.c:1667 */ { ERROR_OBJ(arg)->set_error_message((yyvsp[0].string)); } -#line 1300 "Error.tab.cc" /* yacc.c:1661 */ +#line 1304 "Error.tab.cc" /* yacc.c:1667 */ break; case 8: -#line 125 "Error.yy" /* yacc.c:1661 */ +#line 126 "Error.yy" /* yacc.c:1667 */ { (yyval.boolean) = true; } -#line 1308 "Error.tab.cc" /* yacc.c:1661 */ +#line 1312 "Error.tab.cc" /* yacc.c:1667 */ break; -#line 1312 "Error.tab.cc" /* yacc.c:1661 */ +#line 1316 "Error.tab.cc" /* yacc.c:1667 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -1333,14 +1337,13 @@ /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + } goto yynewstate; @@ -1423,12 +1426,10 @@ | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -1490,6 +1491,7 @@ yyresult = 0; goto yyreturn; + /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ @@ -1497,6 +1499,7 @@ yyresult = 1; goto yyreturn; + #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | @@ -1507,6 +1510,10 @@ /* Fall through. */ #endif + +/*-----------------------------------------------------. +| yyreturn -- parsing is finished, return the result. | +`-----------------------------------------------------*/ yyreturn: if (yychar != YYEMPTY) { @@ -1536,7 +1543,7 @@ #endif return yyresult; } -#line 130 "Error.yy" /* yacc.c:1906 */ +#line 131 "Error.yy" /* yacc.c:1918 */ void diff -Nru libdap-3.19.1/Error.tab.hh libdap-3.20.5/Error.tab.hh --- libdap-3.19.1/Error.tab.hh 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Error.tab.hh 2020-02-17 07:35:45.000000000 +0000 @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +31,9 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + #ifndef YY_ERROR_ERROR_TAB_HH_INCLUDED # define YY_ERROR_ERROR_TAB_HH_INCLUDED /* Debug traces. */ @@ -40,7 +44,7 @@ extern int Errordebug; #endif /* "%code requires" blocks. */ -#line 32 "Error.yy" /* yacc.c:1915 */ +#line 32 "Error.yy" /* yacc.c:1927 */ #include "config_dap.h" @@ -64,12 +68,13 @@ #define ERROR_OBJ(arg) ((Error *)((parser_arg *)(arg))->_object) #define STATUS(arg) ((parser_arg *)(arg))->_status +#define YYERROR_VERBOSE 0 //#define YYPARSE_PARAM arg extern int error_line_num; // defined in Error.lex -#line 73 "Error.tab.hh" /* yacc.c:1915 */ +#line 78 "Error.tab.hh" /* yacc.c:1927 */ /* Token type. */ #ifndef YYTOKENTYPE @@ -89,7 +94,7 @@ union YYSTYPE { -#line 75 "Error.yy" /* yacc.c:1915 */ +#line 76 "Error.yy" /* yacc.c:1927 */ #ifdef __SUNPRO_CC int boolean; @@ -99,7 +104,7 @@ int integer; char *string; -#line 103 "Error.tab.hh" /* yacc.c:1915 */ +#line 108 "Error.tab.hh" /* yacc.c:1927 */ }; typedef union YYSTYPE YYSTYPE; diff -Nru libdap-3.19.1/Error.yy libdap-3.20.5/Error.yy --- libdap-3.19.1/Error.yy 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Error.yy 2020-02-17 07:35:45.000000000 +0000 @@ -52,6 +52,7 @@ #define ERROR_OBJ(arg) ((Error *)((parser_arg *)(arg))->_object) #define STATUS(arg) ((parser_arg *)(arg))->_status +#define YYERROR_VERBOSE 0 //#define YYPARSE_PARAM arg extern int error_line_num; // defined in Error.lex diff -Nru libdap-3.19.1/Float32.cc libdap-3.20.5/Float32.cc --- libdap-3.19.1/Float32.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Float32.cc 2020-02-17 07:35:45.000000000 +0000 @@ -68,6 +68,7 @@ #include "util.h" #include "debug.h" +#include "DapIndent.h" using std::cerr; using std::endl; diff -Nru libdap-3.19.1/Float64.cc libdap-3.20.5/Float64.cc --- libdap-3.19.1/Float64.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Float64.cc 2020-02-17 07:35:45.000000000 +0000 @@ -66,7 +66,7 @@ #include "Operators.h" #include "dods-limits.h" #include "InternalErr.h" - +#include "DapIndent.h" using std::cerr; using std::endl; @@ -271,7 +271,7 @@ } // Extract the second arg's value. - if (!b->read_p() && !b->read()) { + if (!b || !(b->read_p() || b->read())) { // Jose Garcia // Since the read method is virtual and implemented outside // libdap++ if we cannot read the data that is the problem diff -Nru libdap-3.19.1/getdap4.cc libdap-3.20.5/getdap4.cc --- libdap-3.19.1/getdap4.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/getdap4.cc 2020-02-17 07:35:45.000000000 +0000 @@ -44,6 +44,8 @@ #include #include +#include //SBL 12.3.19 + #include "GetOpt.h" #include "DMR.h" @@ -118,7 +120,7 @@ // Changed from a loop that used getc() to one that uses fread(). getc() // worked fine for transfers of text information, but *not* for binary // transfers. fread() will handle both. - char c; + char c = 0; while (fp && !feof(fp) && fread(&c, 1, 1, fp)) printf("%c", c); // stick with stdio @@ -246,7 +248,6 @@ default: usage(argv[0]); exit(1); - break; } try { @@ -409,7 +410,7 @@ } catch (Error &e) { - if(e.get_error_code() == malformed_expr || e.get_error_code() == malformed_expr){ + if(e.get_error_code() == malformed_expr){ cerr << e.get_error_message() << endl; usage(argv[0]); } @@ -419,13 +420,16 @@ } cerr << "Exiting." << endl; - return 1; + //return 1; + return EXIT_FAILURE; } catch (exception &e) { cerr << "C++ library exception: " << e.what() << endl; cerr << "Exiting." << endl; - return 1; + //return 1; + return EXIT_FAILURE; } - return 0; + //return 0; + return EXIT_SUCCESS; } diff -Nru libdap-3.19.1/getdap.cc libdap-3.20.5/getdap.cc --- libdap-3.19.1/getdap.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/getdap.cc 2020-02-17 07:35:45.000000000 +0000 @@ -44,6 +44,8 @@ #include #include +#include //SBL 12.3.19 + #include "GetOpt.h" #include "Sequence.h" @@ -61,6 +63,7 @@ extern int libdap::dods_keep_temps; // defined in HTTPResponse.h extern int libdap::www_trace; +extern int libdap::www_trace_extensive; void usage(string name) { @@ -90,6 +93,7 @@ cerr << " x: For each URL, get the (DAP2) DDX object. Does not get data." << endl; cerr << " B: Build a DDX in getdap using the DDS and DAS." << endl; cerr << " v: Verbose output." << endl; + cerr << " e: Extensive (or very) verbose." << endl; cerr << " V: Version of this client; see 'i' for server version." << endl; cerr << " c: is a constraint expression. Used with -D/X and -d/r" << endl; cerr << " NB: You can use a `?' for the CE also." << endl; @@ -111,7 +115,7 @@ // Changed from a loop that used getc() to one that uses fread(). getc() // worked fine for transfers of text information, but *not* for binary // transfers. fread() will handle both. - char c; + char c = 0; while (fp && !feof(fp) && fread(&c, 1, 1, fp)) printf("%c", c); // stick with stdio @@ -135,7 +139,7 @@ int main(int argc, char *argv[]) { - GetOpt getopt(argc, argv, "idaDxrXBVvkc:m:zshM?Hp:t"); + GetOpt getopt(argc, argv, "idaDxrXBVvekc:m:zshM?Hp:t"); int option_char; bool get_das = false; @@ -181,7 +185,13 @@ break; case 'v': verbose = true; + www_trace = 1; break; + case 'e': + verbose = true; + www_trace = 1; + www_trace_extensive = 1; + break; case 'k': dods_keep_temps = 1; break; // keep_temp is in Connect.cc @@ -221,7 +231,6 @@ default: usage(argv[0]); exit(1); - break; } try { @@ -464,12 +473,15 @@ } catch (Error &e) { cerr << e.get_error_message() << endl; - return 1; + //return 1; + return EXIT_FAILURE; } catch (exception &e) { cerr << "C++ library exception: " << e.what() << endl; - return 1; + //return 1; + return EXIT_FAILURE; } - return 0; + //return 0; + return EXIT_SUCCESS; } diff -Nru libdap-3.19.1/gl/Makefile.am libdap-3.20.5/gl/Makefile.am --- libdap-3.19.1/gl/Makefile.am 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/gl/Makefile.am 2020-02-17 07:35:45.000000000 +0000 @@ -43,6 +43,12 @@ AM_CPPFLAGS = AM_CFLAGS = +AM_LDFLAGS = +if ENABLE_COVERAGE +AM_CPPFLAGS += -fprofile-arcs -ftest-coverage -pg +AM_LDFLAGS += -lgcov --coverage -pg +endif + noinst_LTLIBRARIES += libgnu.la libgnu_la_SOURCES = diff -Nru libdap-3.19.1/gl/Makefile.in libdap-3.20.5/gl/Makefile.in --- libdap-3.19.1/gl/Makefile.in 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/gl/Makefile.in 2020-02-17 07:35:45.000000000 +0000 @@ -102,6 +102,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@ENABLE_COVERAGE_TRUE@am__append_1 = -fprofile-arcs -ftest-coverage -pg +@ENABLE_COVERAGE_TRUE@am__append_2 = -lgcov --coverage -pg subdir = gl DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/conf/depcomp $(noinst_HEADERS) @@ -160,6 +162,7 @@ $(top_srcdir)/gl/m4/wcrtomb.m4 $(top_srcdir)/gl/m4/wctype_h.m4 \ $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/conf/acinclude.m4 \ $(top_srcdir)/conf/cppunit.m4 \ + $(top_srcdir)/conf/cxx_flags_check.m4 \ $(top_srcdir)/conf/gcov_valgrind.m4 \ $(top_srcdir)/conf/libtool.m4 $(top_srcdir)/conf/ltoptions.m4 \ $(top_srcdir)/conf/ltsugar.m4 $(top_srcdir)/conf/ltversion.m4 \ @@ -323,14 +326,17 @@ CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@ CPPUNIT_CONFIG = @CPPUNIT_CONFIG@ CPPUNIT_LIBS = @CPPUNIT_LIBS@ +CRYPTO_LIBS = @CRYPTO_LIBS@ CURL_CFLAGS = @CURL_CFLAGS@ CURL_LIBS = @CURL_LIBS@ CURL_STATIC_LIBS = @CURL_STATIC_LIBS@ CXX = @CXX@ +CXX11_FLAG = @CXX11_FLAG@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DAP3_2_DDX = @DAP3_2_DDX@ DAPLIB_AGE = @DAPLIB_AGE@ DAPLIB_CURRENT = @DAPLIB_CURRENT@ DAPLIB_REVISION = @DAPLIB_REVISION@ @@ -641,7 +647,6 @@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VALGRIND = @HAVE_VALGRIND@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ @@ -883,6 +888,8 @@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIRPC_CFLAGS = @TIRPC_CFLAGS@ +TIRPC_LIBS = @TIRPC_LIBS@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -999,8 +1006,9 @@ ref-del.sed DISTCLEANFILES = MAINTAINERCLEANFILES = -AM_CPPFLAGS = +AM_CPPFLAGS = $(am__append_1) AM_CFLAGS = +AM_LDFLAGS = $(am__append_2) libgnu_la_SOURCES = gettext.h hard-locale.c localcharset.h \ localcharset.c glthread/lock.h glthread/lock.c malloca.c \ tempname.c glthread/threadlib.c unistd.c wctype-h.c diff -Nru libdap-3.19.1/Grid.cc libdap-3.20.5/Grid.cc --- libdap-3.19.1/Grid.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Grid.cc 2020-02-17 07:35:45.000000000 +0000 @@ -56,6 +56,8 @@ #include "D4Maps.h" #include "D4Attributes.h" +#include "DapIndent.h" + using namespace std; namespace libdap { @@ -600,35 +602,42 @@ return comp; } +/** + * All the attributes in a AttrTable for a Grid go in AttrTable for the Array. + * + * @param at_container + */ void Grid::transfer_attributes(AttrTable *at_container) { DBG( cerr << __func__ << "() - BEGIN "<< type_name() << " " << name() << " (at_container:"<< at_container->get_name() << ":"<<(void*)at_container<< ")" << endl;); - // At should be the attribute table for the Grid + // The variable 'at' should be the attribute table for the Grid AttrTable *at = at_container->get_attr_table(name()); if (at) { DBG( cerr << __func__ << "() - Found AttrTable ("<< at->get_name() << ":" << (void*)at<< ")" << endl;); at->set_is_global_attribute(false); - // We don't monkey with the data array attributes because it usually just makes - // a mess. but: - // TODO We should come back and decide if we want to but configuration - // controls on this or do something smarter like check for duplicate values - // before merging the Array metadata into the Grid metadata - // SO - We don't copy the attributes like we used to: - // - // array_var()->transfer_attributes(at); +#if 0 + // Removing this is left over from a previous version, unknown date. + // If the line is added back, some of the DMR round trip tests fail + // and the dapreader behavior is changed - tests that build responses + // from .dods and .das files fail when they include Grids. jhrg 5/23/18 // - // And then to seal the deal we have to - // Mark them as not "global" so they don't get copied. - AttrTable *dvat = at->get_attr_table(array_var()->name()); - if(dvat){ - dvat->set_is_global_attribute(false); - } + // See also HYARX-766 + array_var()->transfer_attributes(at); +#endif + + // If the AttrTable with the name of this Grid (which is also the + // name of the Grid's Array) contains a child AttrTable with that + // name, mark the attributes as 'not global' and ignore them. This + // code has been here for some time; I just added this comment. jhrg 5/23/18 + AttrTable *dvat = at->get_attr_table(array_var()->name()); + if (dvat) { + dvat->set_is_global_attribute(false); + } Map_iter map = map_begin(); while (map != map_end()) { - DBG( cerr << __func__ << "() - Processing Map Array ("<< (*map)->name() << ":" << (void*)(*map)<< ")" << endl;); (*map)->transfer_attributes(at); map++; } diff -Nru libdap-3.19.1/HTTPConnect.cc libdap-3.20.5/HTTPConnect.cc --- libdap-3.19.1/HTTPConnect.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/HTTPConnect.cc 2020-02-17 07:35:45.000000000 +0000 @@ -76,6 +76,9 @@ // Set this to 1 to turn on libcurl's verbose mode (for debugging). int www_trace = 0; +// Set this to 1 to turn on libcurl's VERY verbose mode. +int www_trace_extensive = 0; + // Keep the temporary files; useful for debugging. int dods_keep_temps = 0; @@ -88,7 +91,7 @@ "Payment Required.", "Forbidden: Contact the server administrator.", "Not Found: The data source or server could not be found.\n\ - Often this means that the OPeNDAP server is missing or needs attention;\n\ + Often this means that the OPeNDAP server is missing or needs attention.\n\ Please contact the server administrator.", "Method Not Allowed.", "Not Acceptable.", @@ -288,9 +291,11 @@ case CURLINFO_HEADER_OUT: cerr << "Header out: " << message; break; case CURLINFO_DATA_IN: - cerr << "Data in: " << message; break; + if (www_trace_extensive) + cerr << "Data in: " << message; break; case CURLINFO_DATA_OUT: - cerr << "Data out: " << message; break; + if (www_trace_extensive) + cerr << "Data out: " << message; break; case CURLINFO_END: cerr << "End: " << message; break; #ifdef CURLINFO_SSL_DATA_IN @@ -302,7 +307,8 @@ cerr << "SSL Data out: " << message; break; #endif default: - cerr << "Curl info: " << message; break; + if (www_trace_extensive) + cerr << "Curl info: " << message; break; } return 0; } @@ -371,6 +377,10 @@ curl_easy_setopt(d_curl, CURLOPT_SSL_VERIFYHOST, 0); } + // Set libcurl to use netrc to access data behind URS auth. + // libcurl will use the provided pathname for the ~/.netrc info. 08/23/19 kln + curl_easy_setopt(d_curl, CURLOPT_NETRC, 1); + // Look to see if cookies are turned on in the .dodsrc file. If so, // activate here. We honor 'session cookies' (cookies without an // expiration date) here so that session-based SSO systems will work as diff -Nru libdap-3.19.1/HTTPConnect.h libdap-3.20.5/HTTPConnect.h --- libdap-3.19.1/HTTPConnect.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/HTTPConnect.h 2020-02-17 07:35:45.000000000 +0000 @@ -61,6 +61,7 @@ { extern int www_trace; +extern int www_trace_extensive; extern int dods_keep_temps; /** Use the CURL library to dereference a HTTP URL. Scan the response for diff -Nru libdap-3.19.1/HTTPResponse.h libdap-3.20.5/HTTPResponse.h --- libdap-3.19.1/HTTPResponse.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/HTTPResponse.h 2020-02-17 07:35:45.000000000 +0000 @@ -130,8 +130,11 @@ set_stream(0); } else { + (void) unlink(d_file.c_str()); +#if 0 long res = unlink(d_file.c_str()); if (res != 0) throw InternalErr(__FILE__, __LINE__, "!FAIL! " + long_to_string(res)); +#endif } } diff -Nru libdap-3.19.1/INSTALL libdap-3.20.5/INSTALL --- libdap-3.19.1/INSTALL 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/INSTALL 2020-02-17 07:35:45.000000000 +0000 @@ -1,5 +1,5 @@ -Updated for version 3.19.1 of the OPeNDAP DAP2/4 library software. +Updated for version 3.20.5 of the OPeNDAP DAP2/4 library software. Installing the DAP2/4 library diff -Nru libdap-3.19.1/Int16.cc libdap-3.20.5/Int16.cc --- libdap-3.19.1/Int16.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Int16.cc 2020-02-17 07:35:45.000000000 +0000 @@ -65,6 +65,7 @@ #include "dods-limits.h" #include "debug.h" #include "InternalErr.h" +#include "DapIndent.h" using std::cerr; using std::endl; diff -Nru libdap-3.19.1/Int32.cc libdap-3.20.5/Int32.cc --- libdap-3.19.1/Int32.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Int32.cc 2020-02-17 07:35:45.000000000 +0000 @@ -67,7 +67,7 @@ #include "dods-limits.h" #include "debug.h" #include "InternalErr.h" - +#include "DapIndent.h" using std::cerr; using std::endl; @@ -264,7 +264,7 @@ } // Extract the second arg's value. - if (!b->read_p() && !b->read()) { + if (!b || !(b->read_p() || b->read())) { // Jose Garcia // Since the read method is virtual and implemented outside // libdap++ if we cannot read the data that is the problem diff -Nru libdap-3.19.1/Int64.cc libdap-3.20.5/Int64.cc --- libdap-3.19.1/Int64.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Int64.cc 2020-02-17 07:35:45.000000000 +0000 @@ -69,6 +69,7 @@ #include "dods-limits.h" #include "debug.h" #include "InternalErr.h" +#include "DapIndent.h" using std::cerr; using std::endl; @@ -198,12 +199,10 @@ throw InternalErr(__FILE__, __LINE__, "This value not read!"); // Get the second arg's value. - if (!b->read_p() && !b->read()) + if (!b || !(b->read_p() || b->read())) throw InternalErr(__FILE__, __LINE__, "This value not read!"); return d4_ops(b, op); - - return false; } /** diff -Nru libdap-3.19.1/Int64.h libdap-3.20.5/Int64.h --- libdap-3.19.1/Int64.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Int64.h 2020-02-17 07:35:45.000000000 +0000 @@ -48,7 +48,7 @@ class Int64: public BaseType { - virtual unsigned int val2buf(void *val, bool) { + virtual unsigned int val2buf(void *val, bool) { set_value(*reinterpret_cast(val)); return sizeof(dods_int64); } diff -Nru libdap-3.19.1/Int8.cc libdap-3.20.5/Int8.cc --- libdap-3.19.1/Int8.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Int8.cc 2020-02-17 07:35:45.000000000 +0000 @@ -51,6 +51,7 @@ #include "dods-limits.h" #include "debug.h" #include "InternalErr.h" +#include "DapIndent.h" using std::cerr; using std::endl; @@ -174,7 +175,7 @@ throw InternalErr(__FILE__, __LINE__, "This value not read!"); // Get the second arg's value. - if (!b->read_p() && !b->read()) + if (!b || !(b->read_p() || b->read())) throw InternalErr(__FILE__, __LINE__, "This value not read!"); return d4_ops(b, op); @@ -235,7 +236,7 @@ ostringstream oss; oss << __func__ << "() - Something Bad Happened. This transform should produce only "; oss << " a single BaseType yet it produced " << vec->size(); - throw new Error(internal_error,oss.str()); + throw Error(internal_error,oss.str()); } (*vec)[0]->set_type(dods_byte_c); return vec; diff -Nru libdap-3.19.1/InternalErr.cc libdap-3.20.5/InternalErr.cc --- libdap-3.19.1/InternalErr.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/InternalErr.cc 2020-02-17 07:35:45.000000000 +0000 @@ -79,7 +79,7 @@ : Error(copy_from) {} -InternalErr::~InternalErr() +InternalErr::~InternalErr() throw() {} /** diff -Nru libdap-3.19.1/InternalErr.h libdap-3.20.5/InternalErr.h --- libdap-3.19.1/InternalErr.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/InternalErr.h 2020-02-17 07:35:45.000000000 +0000 @@ -83,7 +83,7 @@ InternalErr(const InternalErr ©_from); //@} - virtual ~InternalErr(); + virtual ~InternalErr() throw(); bool OK(); }; diff -Nru libdap-3.19.1/libdap.spec libdap-3.20.5/libdap.spec --- libdap-3.19.1/libdap.spec 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/libdap.spec 2020-02-17 07:35:45.000000000 +0000 @@ -1,6 +1,6 @@ Name: libdap Summary: The C++ DAP2/DAP4 library from OPeNDAP -Version: 3.19.1 +Version: 3.20.5 Release: 1%{?dist} License: LGPLv2+ @@ -12,7 +12,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: curl-devel >= 7.19.0 libxml2-devel >= 2.7.0 -# BuildRequires: doxygen graphviz BuildRequires: pkgconfig # This package could be relocatable. In that case uncomment the following @@ -41,13 +40,6 @@ This package contains all the files needed to develop applications that use libdap. -# %package doc -# Summary: Documentation of the libdap library -# Group: Documentation - -# %description doc -# Documentation of the libdap library. - %prep %setup -q @@ -55,22 +47,12 @@ %configure --disable-static --disable-dependency-tracking make %{?_smp_mflags} -# make docs - %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" rm $RPM_BUILD_ROOT%{_libdir}/*.la mv $RPM_BUILD_ROOT%{_bindir}/dap-config-pkgconfig $RPM_BUILD_ROOT%{_bindir}/dap-config -# rm -rf __dist_docs -# cp -pr docs __dist_docs -# # those .map and .md5 are of dubious use, remove them -# rm -f __dist_docs/html/*.map __dist_docs/html/*.md5 -# # use the ChangeLog timestamp to have the same timestamps for the doc files -# # for all arches -# touch -r ChangeLog __dist_docs/html/* - %clean rm -rf $RPM_BUILD_ROOT @@ -100,11 +82,9 @@ %{_includedir}/libdap/ %{_datadir}/aclocal/* -# %files doc -# %defattr(-,root,root,-) -# %doc __dist_docs/html/ - %changelog +* Thu Sep 23 2018 James Gallagher - 3.20.0 + * Tue May 4 2010 James Gallagher - 3.10.2 * Mon Sep 13 2010 James Gallagehr - 3.11.0 diff -Nru libdap-3.19.1/Makefile.am libdap-3.20.5/Makefile.am --- libdap-3.19.1/Makefile.am 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Makefile.am 2020-02-17 07:35:45.000000000 +0000 @@ -6,7 +6,7 @@ aclocaldir=$(datadir)/aclocal pkgconfigdir=$(libdir)/pkgconfig -AM_CPPFLAGS = -I$(top_builddir)/gl -I$(top_srcdir)/gl -I$(top_srcdir)/GNU $(XML2_CFLAGS) +AM_CPPFLAGS = -I$(top_builddir)/gl -I$(top_srcdir)/gl -I$(top_srcdir)/GNU $(XML2_CFLAGS) $(TIRPC_CFLAGS) AM_CXXFLAGS = if COMPILER_IS_GCC @@ -19,13 +19,32 @@ # or ./configure --enable-developer --disable-shared # the --disable-shared is not required, but it seems to help with debuggers. CXXFLAGS_DEBUG = -g3 -O0 -Wall -W -Wcast-align -TEST_COV_FLAGS = -g3 -ftest-coverage -fprofile-arcs + +# Build using the Address sanitizer (gcc 4.8+ and clang 3.3+). +# See: https://github.com/google/sanitizers/wiki/AddressSanitizer +# jhrg 2/6/18 +if USE_ASAN +ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer +endif if BUILD_DEVELOPER -AM_CXXFLAGS += $(CXXFLAGS_DEBUG) +AM_CXXFLAGS += $(CXX11_FLAG) $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +else +AM_CXXFLAGS += -g -O2 $(CXX11_FLAG) +endif + +AM_LDFLAGS = +if ENABLE_COVERAGE +AM_CXXFLAGS += -fprofile-arcs -ftest-coverage -pg +AM_LDFLAGS += -lgcov --coverage -pg +# Generage HTML pages with code coverage. +collect-coverage-data: + -mkdir code_coverage + gcovr -r . --html --html-details -o coverage.html + mv *.html code_coverage endif -SUBDIRS = gl d4_ce d4_function . unit-tests tests +SUBDIRS = gl d4_ce d4_function . unit-tests tests DIST_SUBDIRS = gl d4_ce d4_function unit-tests tests noinst_LTLIBRARIES = libparsers.la @@ -47,7 +66,7 @@ groff -t -e -mandoc -Tascii $< | col -bx > $@ libparsers_la_SOURCES = $(FLEX_SRC) $(BISON_SRC) -libparsers_la_CPPFLAGS = $(XML2_CFLAGS) +libparsers_la_CPPFLAGS = $(XML2_CFLAGS) $(TIRPC_CFLAGS) libparsers_la_LIBADD = $(XML2_LIBS) libdap_la_SOURCES = $(DAP_SRC) $(GNU_SRC) @@ -61,7 +80,7 @@ d4_function/libd4_function_parser.la libparsers.la if DAP4_DEFINED - libdap_la_LIBADD += -lcrypto + libdap_la_LIBADD += $(CRYPTO_LIBS) endif libdapclient_la_SOURCES = $(CLIENT_SRC) @@ -120,6 +139,15 @@ gh-docs: ./build-gh-docs.sh +# Build a compile_commands.json.tmp file for use with CLion. This will emable +# reasonable use for all the source that's compiled using either 'all' or +# 'check' but other targets will have to be added by hand. See the compiledb +# github site (https://github.com/nickdiego/compiledb) for more info. +# jhrg 9/25/19 +.PHONY: compiledb +compiledb: + make -nwk all check | compiledb + # cccc computes metrics like Lines of code and McCabe. It's available # on the web... .PHONY: cccc @@ -171,6 +199,14 @@ rpm: dist rpmbuild -tb --clean $(RPM_OPTIONS) @PACKAGE@-@PACKAGE_VERSION@.tar.gz +# Build the debain package. +deb: dist + ( mv @PACKAGE@-@PACKAGE_VERSION@.tar.gz ../ ) + ( mv ../@PACKAGE@-@PACKAGE_VERSION@.tar.gz ../@PACKAGE@_@PACKAGE_VERSION@.orig.tar.gz ) + ( cd ../ && tar xzf @PACKAGE@_@PACKAGE_VERSION@.orig.tar.gz ) + ( cp -r debian/ ../@PACKAGE@-@PACKAGE_VERSION@ ) + ( cd ../@PACKAGE@-@PACKAGE_VERSION@ && debuild -us -uc ) + ########################################################################### # Build OS/X Packages. The strange operations with configure and make @@ -214,19 +250,6 @@ pkg: pkg-main -# Note that the gcov options -f and -b are useful but sometimes make looking -# at the results of coverage analysis a little taxing. -b reports on all -# branched and -f reports on all functions. The -l -o options summarize on a -# per-file basis. 3/27/98 jhrg -collect-coverage-data: - (cd test-coverage; \ - cov_dat="coverage-data-`date +%m.%d.%y`"; \ - touch $$cov_dat; \ - for f in $(ALLSRCS); do \ - echo "\n*** Coverage data for $$f ***\n" >> $$cov_dat; \ - gcov -l -o ../ $$f >> $$cov_dat; \ - done) - ############################################################################# # Library sources # diff -Nru libdap-3.19.1/Makefile.in libdap-3.20.5/Makefile.in --- libdap-3.19.1/Makefile.in 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Makefile.in 2020-02-17 07:35:45.000000000 +0000 @@ -84,12 +84,15 @@ build_triplet = @build@ host_triplet = @host@ @COMPILER_IS_GCC_TRUE@am__append_1 = -Wall -W -Wcast-align -@BUILD_DEVELOPER_TRUE@am__append_2 = $(CXXFLAGS_DEBUG) +@BUILD_DEVELOPER_TRUE@am__append_2 = $(CXX11_FLAG) $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +@BUILD_DEVELOPER_FALSE@am__append_3 = -g -O2 $(CXX11_FLAG) +@ENABLE_COVERAGE_TRUE@am__append_4 = -fprofile-arcs -ftest-coverage -pg +@ENABLE_COVERAGE_TRUE@am__append_5 = -lgcov --coverage -pg bin_PROGRAMS = getdap$(EXEEXT) getdap4$(EXEEXT) -@DAP4_DEFINED_TRUE@am__append_3 = $(DAP4_ONLY_SRC) -@DAP4_DEFINED_TRUE@am__append_4 = -lcrypto -@DAP4_DEFINED_TRUE@am__append_5 = $(DAP4_CLIENT_HDR) $(DAP4_CLIENT_SRC) -@DAP4_DEFINED_TRUE@am__append_6 = $(DAP4_ONLY_HDR) $(DAP4_CLIENT_HDR) +@DAP4_DEFINED_TRUE@am__append_6 = $(DAP4_ONLY_SRC) +@DAP4_DEFINED_TRUE@am__append_7 = $(CRYPTO_LIBS) +@DAP4_DEFINED_TRUE@am__append_8 = $(DAP4_CLIENT_HDR) $(DAP4_CLIENT_SRC) +@DAP4_DEFINED_TRUE@am__append_9 = $(DAP4_ONLY_HDR) $(DAP4_CLIENT_HDR) subdir = . DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ @@ -162,6 +165,7 @@ $(top_srcdir)/gl/m4/wcrtomb.m4 $(top_srcdir)/gl/m4/wctype_h.m4 \ $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/conf/acinclude.m4 \ $(top_srcdir)/conf/cppunit.m4 \ + $(top_srcdir)/conf/cxx_flags_check.m4 \ $(top_srcdir)/conf/gcov_valgrind.m4 \ $(top_srcdir)/conf/libtool.m4 $(top_srcdir)/conf/ltoptions.m4 \ $(top_srcdir)/conf/ltsugar.m4 $(top_srcdir)/conf/ltversion.m4 \ @@ -210,10 +214,11 @@ "$(DESTDIR)$(pkgincludedir)" LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = +@DAP4_DEFINED_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) libdap_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ gl/libgnu.la d4_ce/libd4_ce_parser.la \ d4_function/libd4_function_parser.la libparsers.la \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_2) am__libdap_la_SOURCES_DIST = AttrTable.cc DAS.cc DDS.cc DataDDS.cc \ DDXParserSAX2.cc BaseType.cc Byte.cc Int32.cc Float64.cc \ Str.cc Url.cc Vector.cc Array.cc Structure.cc Sequence.cc \ @@ -524,14 +529,17 @@ CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@ CPPUNIT_CONFIG = @CPPUNIT_CONFIG@ CPPUNIT_LIBS = @CPPUNIT_LIBS@ +CRYPTO_LIBS = @CRYPTO_LIBS@ CURL_CFLAGS = @CURL_CFLAGS@ CURL_LIBS = @CURL_LIBS@ CURL_STATIC_LIBS = @CURL_STATIC_LIBS@ CXX = @CXX@ +CXX11_FLAG = @CXX11_FLAG@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DAP3_2_DDX = @DAP3_2_DDX@ DAPLIB_AGE = @DAPLIB_AGE@ DAPLIB_CURRENT = @DAPLIB_CURRENT@ DAPLIB_REVISION = @DAPLIB_REVISION@ @@ -842,7 +850,6 @@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VALGRIND = @HAVE_VALGRIND@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ @@ -1084,6 +1091,8 @@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIRPC_CFLAGS = @TIRPC_CFLAGS@ +TIRPC_LIBS = @TIRPC_LIBS@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1167,8 +1176,9 @@ ACLOCAL_AMFLAGS = -I conf -I gl/m4 aclocaldir = $(datadir)/aclocal pkgconfigdir = $(libdir)/pkgconfig -AM_CPPFLAGS = -I$(top_builddir)/gl -I$(top_srcdir)/gl -I$(top_srcdir)/GNU $(XML2_CFLAGS) -AM_CXXFLAGS = $(am__append_1) $(am__append_2) +AM_CPPFLAGS = -I$(top_builddir)/gl -I$(top_srcdir)/gl -I$(top_srcdir)/GNU $(XML2_CFLAGS) $(TIRPC_CFLAGS) +AM_CXXFLAGS = $(am__append_1) $(am__append_2) $(am__append_3) \ + $(am__append_4) # These are not used by automake but are often useful for certain types of # debugging. The best way to use these is to run configure as: @@ -1176,8 +1186,13 @@ # or ./configure --enable-developer --disable-shared # the --disable-shared is not required, but it seems to help with debuggers. CXXFLAGS_DEBUG = -g3 -O0 -Wall -W -Wcast-align -TEST_COV_FLAGS = -g3 -ftest-coverage -fprofile-arcs -SUBDIRS = gl d4_ce d4_function . unit-tests tests + +# Build using the Address sanitizer (gcc 4.8+ and clang 3.3+). +# See: https://github.com/google/sanitizers/wiki/AddressSanitizer +# jhrg 2/6/18 +@USE_ASAN_TRUE@ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer +AM_LDFLAGS = $(am__append_5) +SUBDIRS = gl d4_ce d4_function . unit-tests tests DIST_SUBDIRS = gl d4_ce d4_function unit-tests tests noinst_LTLIBRARIES = libparsers.la lib_LTLIBRARIES = libdap.la libdapclient.la libdapserver.la @@ -1190,15 +1205,15 @@ man_MANS = getdap.1 dap-config.1 getdap4.1 libparsers_la_SOURCES = $(FLEX_SRC) $(BISON_SRC) -libparsers_la_CPPFLAGS = $(XML2_CFLAGS) +libparsers_la_CPPFLAGS = $(XML2_CFLAGS) $(TIRPC_CFLAGS) libparsers_la_LIBADD = $(XML2_LIBS) -libdap_la_SOURCES = $(DAP_SRC) $(GNU_SRC) $(am__append_3) +libdap_la_SOURCES = $(DAP_SRC) $(GNU_SRC) $(am__append_6) libdap_la_LDFLAGS = -version-info $(LIBDAP_VERSION) libdap_la_CPPFLAGS = $(AM_CPPFLAGS) libdap_la_LIBADD = $(XML2_LIBS) $(PTHREAD_LIBS) gl/libgnu.la \ d4_ce/libd4_ce_parser.la d4_function/libd4_function_parser.la \ - libparsers.la $(am__append_4) -libdapclient_la_SOURCES = $(CLIENT_SRC) $(am__append_5) + libparsers.la $(am__append_7) +libdapclient_la_SOURCES = $(CLIENT_SRC) $(am__append_8) libdapclient_la_LDFLAGS = -version-info $(CLIENTLIB_VERSION) libdapclient_la_CPPFLAGS = $(AM_CPPFLAGS) $(CURL_CFLAGS) libdapclient_la_LIBADD = $(CURL_LIBS) libdap.la $(PTHREAD_LIBS) @@ -1206,7 +1221,7 @@ libdapserver_la_LDFLAGS = -version-info $(SERVERLIB_VERSION) libdapserver_la_LIBADD = libdap.la $(UUID_LIBS) pkginclude_HEADERS = $(DAP_HDR) $(GNU_HDR) $(CLIENT_HDR) $(SERVER_HDR) \ - $(am__append_6) + $(am__append_9) noinst_HEADERS = config_dap.h getdap_SOURCES = getdap.cc getdap_LDADD = libdapclient.la libdap.la @@ -2885,6 +2900,11 @@ uninstall-libLTLIBRARIES uninstall-man uninstall-man1 \ uninstall-pkgconfigDATA uninstall-pkgincludeHEADERS +# Generage HTML pages with code coverage. +@ENABLE_COVERAGE_TRUE@collect-coverage-data: +@ENABLE_COVERAGE_TRUE@ -mkdir code_coverage +@ENABLE_COVERAGE_TRUE@ gcovr -r . --html --html-details -o coverage.html +@ENABLE_COVERAGE_TRUE@ mv *.html code_coverage %.1: %.man1 groff -t -e -mandoc -Tascii $< | col -bx > $@ @@ -2900,6 +2920,15 @@ gh-docs: ./build-gh-docs.sh +# Build a compile_commands.json.tmp file for use with CLion. This will emable +# reasonable use for all the source that's compiled using either 'all' or +# 'check' but other targets will have to be added by hand. See the compiledb +# github site (https://github.com/nickdiego/compiledb) for more info. +# jhrg 9/25/19 +.PHONY: compiledb +compiledb: + make -nwk all check | compiledb + # cccc computes metrics like Lines of code and McCabe. It's available # on the web... .PHONY: cccc @@ -2951,6 +2980,14 @@ rpm: dist rpmbuild -tb --clean $(RPM_OPTIONS) @PACKAGE@-@PACKAGE_VERSION@.tar.gz +# Build the debain package. +deb: dist + ( mv @PACKAGE@-@PACKAGE_VERSION@.tar.gz ../ ) + ( mv ../@PACKAGE@-@PACKAGE_VERSION@.tar.gz ../@PACKAGE@_@PACKAGE_VERSION@.orig.tar.gz ) + ( cd ../ && tar xzf @PACKAGE@_@PACKAGE_VERSION@.orig.tar.gz ) + ( cp -r debian/ ../@PACKAGE@-@PACKAGE_VERSION@ ) + ( cd ../@PACKAGE@-@PACKAGE_VERSION@ && debuild -us -uc ) + clean-pkg: -rm -rf mac_osx @PACKAGE@-@PACKAGE_VERSION@.pkg @@ -2985,19 +3022,6 @@ pkg: pkg-main -# Note that the gcov options -f and -b are useful but sometimes make looking -# at the results of coverage analysis a little taxing. -b reports on all -# branched and -f reports on all functions. The -l -o options summarize on a -# per-file basis. 3/27/98 jhrg -collect-coverage-data: - (cd test-coverage; \ - cov_dat="coverage-data-`date +%m.%d.%y`"; \ - touch $$cov_dat; \ - for f in $(ALLSRCS); do \ - echo "\n*** Coverage data for $$f ***\n" >> $$cov_dat; \ - gcov -l -o ../ $$f >> $$cov_dat; \ - done) - Operators.h: ce_expr.tab.hh @USE_C99_TYPES_TRUE@dods-datatypes.h: dods-datatypes-static.h diff -Nru libdap-3.19.1/MarshallerThread.cc libdap-3.20.5/MarshallerThread.cc --- libdap-3.19.1/MarshallerThread.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/MarshallerThread.cc 2020-02-17 07:35:45.000000000 +0000 @@ -109,8 +109,11 @@ { DBG(cerr << "Unlocking the mutex! (" << pthread_self() << ")" << endl); + (void) pthread_mutex_unlock(&m_mutex); +#if 0 int status = pthread_mutex_unlock(&m_mutex); if (status != 0) throw InternalErr(__FILE__, __LINE__, "Could not unlock m_mutex"); +#endif } @@ -144,12 +147,18 @@ DBG(cerr << "Unlocking the mutex! (" << pthread_self() << ")" << endl); m_count = 0; + + (void) pthread_cond_signal(&m_cond); + (void) pthread_mutex_unlock(&m_mutex); + +#if 0 int status = pthread_cond_signal(&m_cond); if (status != 0) throw InternalErr(__FILE__, __LINE__, "Could not signal main thread from ChildLocker!"); status = pthread_mutex_unlock(&m_mutex); if (status != 0) throw InternalErr(__FILE__, __LINE__, "Could not unlock m_mutex"); +#endif } MarshallerThread::MarshallerThread() : @@ -165,17 +174,31 @@ MarshallerThread::~MarshallerThread() { + (void) pthread_mutex_lock(&d_out_mutex); +#if 0 int status = pthread_mutex_lock(&d_out_mutex); if (status != 0) throw InternalErr(__FILE__, __LINE__, "Could not lock m_mutex"); - while (d_child_thread_count != 0) { +#endif + // d_child_thread_count is passed into the thread in a structure (see write_thread()) + // and is decremented by the ChildLocker dtor when write_thread() exits. jhrg 2/7/19 + if (d_child_thread_count != 0) { + (void) pthread_cond_wait(&d_out_cond, &d_out_mutex); + d_child_thread_count = 0; +#if 0 status = pthread_cond_wait(&d_out_cond, &d_out_mutex); if (status != 0) throw InternalErr(__FILE__, __LINE__, "Could not wait on m_cond"); +#endif } + + (void) pthread_mutex_unlock(&d_out_mutex); + +#if 0 if (d_child_thread_count != 0) throw InternalErr(__FILE__, __LINE__, "FAIL: left m_cond wait with non-zero child thread count"); status = pthread_mutex_unlock(&d_out_mutex); if (status != 0) throw InternalErr(__FILE__, __LINE__, "Could not unlock m_mutex"); +#endif pthread_mutex_destroy(&d_out_mutex); pthread_cond_destroy(&d_out_cond); diff -Nru libdap-3.19.1/MarshallerThread.h libdap-3.20.5/MarshallerThread.h --- libdap-3.19.1/MarshallerThread.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/MarshallerThread.h 2020-02-17 07:35:45.000000000 +0000 @@ -63,7 +63,7 @@ /** * Synchronization for the child thread in the multi-threaded version of - * the DAP2 and DAP4 (when it gets implement) 'Marshaller' class used to + * the DAP2 and DAP4 (when it gets implemented) 'Marshaller' class used to * send data. The class declared below (MarshallerThread) manages the * child thread. * @@ -104,10 +104,6 @@ int d_child_thread_count; // 0 or 1 std::string d_thread_error; // non-null indicates an error -#if 0 - static bool print_time; // false by default -#endif - /** * Used to pass information into the static methods that run the * simple stream writer threads. This can pass both an ostream or @@ -159,12 +155,6 @@ // are passed to pthread_create() static void *write_thread(void *arg); static void *write_thread_part(void *arg); - -#if 0 - static void set_print_time(bool state) { print_time = state; } - static bool get_print_time() { return print_time; } -#endif - }; } diff -Nru libdap-3.19.1/NEWS libdap-3.20.5/NEWS --- libdap-3.19.1/NEWS 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/NEWS 2020-02-17 07:35:45.000000000 +0000 @@ -1,3 +1,54 @@ +News for version 3.20.5 + +Fixed memory leaks in imported aws signing code. + +Minor bug fixes. + +Lots of work on CI. + +News for version 3.20.4 + +Fixed memory leaks in the libxml2-based DMR and DDX parsers. + +Moved more toward C++-11. On CentOS 6 we now build using +c++0x while CentOS7 uses c++11. This means that we can +use unique_ptr<> but not null_ptr, for example. + +We have found a bug in the code that orders Dimensions, +Enumeration definitions and Groups in the DMR. Listing the +Groups last makes DMRs that reference Dimensions defined inside +Groups fail silently. + +News for version 3.20.3 + +Added support for a CI build of a debian package of libdap4 + +News for version 3.20.2 + +Added libdap::Array::rename_dim() for HK-247 (an issue in the BES) + +News for version 3.20.1 + +Support Continuous Delivery of CentOS 6 and 7 RPMs using Travis CI. + +News for version 3.20.0 + +We now have debian packages for libdap, built using Travis CI + +The library now returns only DAP 3.2 DDX responses, ending confusion about +what exactly the DDX syntax would be. + +Using libtirpc (Libtirpc is a port of Suns Transport-Independent RPC library to Linux). +Thanks to Orion Poplawski. + +Use quotes when testing $CC in the configure script. +This avoids the error "test: too many arguments" appearing in the +configure output if CC contains multiple words, such as "ccache cc". +Thanks to Ryan Schmidt. + +Testing and coverage analysis. +Thanks to Ed Hartnett. + News for version 3.19.1 Portability issues: Updated gnulib and mkstemps fixed as per user diff -Nru libdap-3.19.1/README libdap-3.20.5/README --- libdap-3.19.1/README 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/README 2020-02-17 07:35:45.000000000 +0000 @@ -1,3 +1,36 @@ +Please find the libdap4 API documentation here: https://opendap.github.io/libdap4/html/ + +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3641778.svg)](https://doi.org/10.5281/zenodo.3641778) + +Updated for version 3.20.5 + +Memory leaks. Minor bug fixes. Lots of work on CI. + +Updated for version 3.20.4 + +Memory leak fixes and C++11 features + +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3267984.svg)](https://doi.org/10.5281/zenodo.3267984) + +Updated for version 3.20.3 + +Fixes and Debian packaging via Travis CI + +Updated for version 3.20.2 + +Added libdap::Array::rename_dim() +DOI For this version: https://doi.org/10.5281/zenodo.2002799 + +Updated for version 3.20.1 + +Added Continuous Delivery for CentOS 6 and 7 + +Updated for version 3.20.0 + +We now have a Debian package for libdap. + +Bug fixes; See the ChangeLog and NEWS files. + Updated for version 3.19.1 Bug fixes; See the ChangeLog and NEWS files. diff -Nru libdap-3.19.1/Sequence.cc libdap-3.20.5/Sequence.cc --- libdap-3.19.1/Sequence.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Sequence.cc 2020-02-17 07:35:45.000000000 +0000 @@ -73,6 +73,7 @@ #include "D4Group.h" #include "Constructor.h" #include "DMR.h" +#include "DapIndent.h" #undef CLEAR_LOCAL_DATA diff -Nru libdap-3.19.1/Str.cc libdap-3.20.5/Str.cc --- libdap-3.19.1/Str.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Str.cc 2020-02-17 07:35:45.000000000 +0000 @@ -66,7 +66,7 @@ #include "InternalErr.h" #include "escaping.h" #include "debug.h" - +#include "DapIndent.h" using std::cerr; using std::endl; diff -Nru libdap-3.19.1/Structure.cc libdap-3.20.5/Structure.cc --- libdap-3.19.1/Structure.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Structure.cc 2020-02-17 07:35:45.000000000 +0000 @@ -64,6 +64,7 @@ #include "debug.h" #include "InternalErr.h" #include "escaping.h" +#include "DapIndent.h" using std::cerr; using std::endl; @@ -182,21 +183,31 @@ Structure *dest = new Structure(name()); // convert the Structure's d4 attributes to a dap2 attribute table. +#if 0 AttrTable *attrs = this->attributes()->get_AttrTable(name()); +#else + if (dest->get_attr_table().get_size() == 0) { + attributes()->transform_attrs_to_dap2(&dest->get_attr_table()); + dest->get_attr_table().set_name(name()); + } +#endif + dest->set_is_dap4(false); vector dropped_vars; for (Structure::Vars_citer i = var_begin(), e = var_end(); i != e; ++i) { - vector *new_vars = (*i)->transform_to_dap2(attrs); + vector *new_vars = (*i)->transform_to_dap2(&dest->get_attr_table() /*attrs*/); if (new_vars) { // Might be un-mappable // It's not so game on.. +#if 0 vector::iterator vIter = new_vars->begin(); vector::iterator end = new_vars->end(); - for( ; vIter!=end ; vIter++ ){ - BaseType *new_var = (*vIter); +#endif + for (vector::iterator vi = new_vars->begin(), ve = new_vars->end(); vi != ve ; ++vi ) { + BaseType *new_var = (*vi); new_var->set_parent(dest); dest->add_var_nocopy(new_var); - (*vIter) = NULL; + (*vi) = NULL; } delete new_vars; @@ -209,17 +220,23 @@ AttrTable *dv_attr_table = make_dropped_vars_attr_table(&dropped_vars); if(dv_attr_table){ - DBG(cerr << " " << __func__ << "() - Adding "<< dv_attr_table->get_name() << " AttrTable" << endl); - attrs->append_container(dv_attr_table,dv_attr_table->get_name()); + dest->get_attr_table().append_container(dv_attr_table,dv_attr_table->get_name()); } + DBG(attrs->print(cerr,"",true);); + +#if 0 // Since this does a copy we gotta delete the attrs when done + // FIXME This is a bug. jhrg 6/17/19 dest->set_attr_table(*attrs); delete attrs; +#endif vector *result = new vector(); result->push_back(dest); + DBG(cerr << " " << __func__ << " END" << endl); + return result; } diff -Nru libdap-3.19.1/tests/D4TestFunction.cc libdap-3.20.5/tests/D4TestFunction.cc --- libdap-3.19.1/tests/D4TestFunction.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/D4TestFunction.cc 2020-02-17 07:35:45.000000000 +0000 @@ -135,7 +135,7 @@ // Check for 2 arguments DBG(cerr << "args.size() = " << args.size() << endl); if (args->size() != 2) - throw Error(malformed_expr,"Wrong number of arguments to scale()."); + throw Error(malformed_expr, "Wrong number of arguments to scale()."); // DAP4 function porting information: in place of 'argv[n]' use args->get_rvalue(n)->value(dmr) // where 'n' is between 0 and args.size()-1. The line below is the DAP4 equivalent of 'argv[1].' @@ -148,17 +148,22 @@ double *data; BaseType *arg0 = args->get_rvalue(0)->value(dmr); // DAP4 function porting: ... 'argv[0]' if (arg0->is_vector_type()) { - TestArray &source = static_cast(*arg0); - source.read(); + Array *source = dynamic_cast(arg0); + if (!source) + throw Error(malformed_expr, string("Expected an Array as an argument, but got '" + + arg0->type_name()) + "' instead."); - data = extract_double_array(&source); - int length = source.length(); + if (!source->read_p()) + source->read(); + + data = extract_double_array(source); + int length = source->length(); for (int i = 0; i < length; ++i) data[i] = data[i] * m; - Array *result = new TestArray(source); + Array *result = new Array(*source); - result->add_var_nocopy(new TestFloat64(source.name())); + result->add_var_nocopy(new Float64(source->name())); result->set_value(data, length); delete[] data; // set_value copies. @@ -180,8 +185,6 @@ else { throw Error(malformed_expr,"The scale() function works only for numerical arrays and scalars."); } - - return 0; } } // namesspace libdap diff -Nru libdap-3.19.1/tests/DASTest libdap-3.20.5/tests/DASTest --- libdap-3.19.1/tests/DASTest 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/DASTest 2020-02-17 07:35:45.000000000 +0000 @@ -941,7 +941,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -libdap 3.19.1 test suite: das-test test groups: +libdap 3.20.5 test suite: das-test test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -982,7 +982,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (libdap 3.19.1)" && + $as_echo "$as_me (libdap 3.20.5)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1159,11 +1159,11 @@ # Banners and logs. $as_echo "## ----------------------------------- ## -## libdap 3.19.1 test suite: das-test. ## +## libdap 3.20.5 test suite: das-test. ## ## ----------------------------------- ##" { $as_echo "## ----------------------------------- ## -## libdap 3.19.1 test suite: das-test. ## +## libdap 3.20.5 test suite: das-test. ## ## ----------------------------------- ##" echo @@ -2007,7 +2007,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [libdap 3.19.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [libdap 3.20.5] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru libdap-3.19.1/tests/DDSTest libdap-3.20.5/tests/DDSTest --- libdap-3.19.1/tests/DDSTest 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/DDSTest 2020-02-17 07:35:45.000000000 +0000 @@ -971,7 +971,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -libdap 3.19.1 test suite: dds-test test groups: +libdap 3.20.5 test suite: dds-test test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -1012,7 +1012,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (libdap 3.19.1)" && + $as_echo "$as_me (libdap 3.20.5)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1189,11 +1189,11 @@ # Banners and logs. $as_echo "## ----------------------------------- ## -## libdap 3.19.1 test suite: dds-test. ## +## libdap 3.20.5 test suite: dds-test. ## ## ----------------------------------- ##" { $as_echo "## ----------------------------------- ## -## libdap 3.19.1 test suite: dds-test. ## +## libdap 3.20.5 test suite: dds-test. ## ## ----------------------------------- ##" echo @@ -2037,7 +2037,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [libdap 3.19.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [libdap 3.20.5] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru libdap-3.19.1/tests/dds-test.cc libdap-3.20.5/tests/dds-test.cc --- libdap-3.19.1/tests/dds-test.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/dds-test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -46,24 +46,13 @@ #include "util.h" #include "Error.h" -#if 0 -#ifdef DAP4 -#include "D4ParserSax2.h" -#include "D4BaseTypeFactory.h" -#endif -#endif - using namespace libdap; void test_scanner(); void test_parser(const string &name); void test_class(); -#if 0 -void test_dap4_parser(const string &name); -#endif int ddslex(); -// int ddsparse(DDS &); extern YYSTYPE ddslval; extern int ddsdebug; @@ -71,34 +60,22 @@ const char *prompt = "dds-test: "; -void usage(string name) { - cerr << "Usage: " << name << "[s] [pd] [c]" << endl - << "s: Test the scanner." << endl - << "p: Test the parser; reads from stdin and prints the" << endl - << " internal structure to stdout." << endl - << "d: Turn on parser debugging. (only for the hard core.)" << endl - << "c: Test the C++ code for manipulating DDS objects." << endl - << " Reads from stdin, parses and writes the modified DDS" << endl - << " to stdout." << endl; -#if 0 - fprintf(stderr, "usage: %s %s\n %s\n %s\n %s\n %s\n %s\n %s\n %s\n", name.c_str(), "[s] [pd] [c]", - "s: Test the scanner.", "p: Test the parser; reads from stdin and prints the", - " internal structure to stdout.", "d: Turn on parser debugging. (only for the hard core.)", - "c: Test the C++ code for manipulating DDS objects.", - " Reads from stdin, parses and writes the modified DDS", " to stdout."); -#endif +void usage(string name) +{ + cerr << "Usage: " << name << "[s] [pd] [c]" << endl << "s: Test the scanner." << endl << "p: Test the parser; reads from stdin and prints the" + << endl << " internal structure to stdout." << endl << "d: Turn on parser debugging. (only for the hard core.)" << endl + << "c: Test the C++ code for manipulating DDS objects." << endl << " Reads from stdin, parses and writes the modified DDS" << endl + << " to stdout." << endl; } -int main(int argc, char *argv[]) { +int main(int argc, char *argv[]) +{ GetOpt getopt(argc, argv, "spP:dcx"); // remove fF: int option_char; int scanner_test = 0, parser_test = 0, class_test = 0; -#if 0 - int dap4_parser_test = 0; -#endif string name = ""; - // process options + // process options while ((option_char = getopt()) != -1) switch (option_char) { case 'd': @@ -114,16 +91,6 @@ parser_test = 1; name = getopt.optarg; break; -#if 0 - case 'f': - dap4_parser_test = 1; - break; - - case 'F': - dap4_parser_test = 1; - name = getopt.optarg; - break; -#endif case 'x': print_ddx = true; break; @@ -142,24 +109,18 @@ } try { - if (scanner_test) - test_scanner(); + if (scanner_test) test_scanner(); - if (parser_test) - test_parser(name); -#if 0 - if (dap4_parser_test) - test_dap4_parser(name); -#endif - if (class_test) - test_class(); + if (parser_test) test_parser(name); + if (class_test) test_class(); } catch (Error &e) { cerr << e.get_error_message() << endl; } } -void test_scanner(void) { +void test_scanner(void) +{ int tok; cout << prompt << flush; // first prompt @@ -243,9 +204,19 @@ } } -void test_parser(const string &name) { +void test_parser(const string &name) +{ + // Remove the dynamic allocation (and delete at the end) + // Possible because DDS does not manage the storage and the + // lifetime of 'table' is limited to this function. +#if 0 BaseTypeFactory *factory = new BaseTypeFactory; DDS table(factory); +#endif + + BaseTypeFactory factory; + DDS table(&factory); + if (name.empty()) table.parse(); else @@ -266,48 +237,19 @@ else table.print(cout); +#if 0 delete factory; factory = 0; -} - -#if 0 -void test_dap4_parser(const string &name) { -#ifdef DAP4 - D4BaseTypeFactory factory; - - DDS table(&factory); - D4ParserSax2 parser; - if (name.empty()) { - parser.intern(cin, &table); - } - else { - fstream in(name.c_str(), ios_base::in); - parser.intern(in, &table); - } - - if (table.check_semantics()) - cout << "DAP4 DDS past semantic check" << endl; - else - cout << "DAP4 DDS failed semantic check" << endl; - - if (table.check_semantics(true)) - cout << "DAP4 DDS past full semantic check" << endl; - else - cout << "DAP4 DDS failed full semantic check" << endl; - - if (print_ddx) - table.print_xml_writer(cout, false, ""); - else - table.print(cout); -#else - cerr << "DAP4 parsing not supported by this version of libdap" << endl; #endif } -#endif -void test_class(void) { +void test_class(void) +{ +#if 0 BaseTypeFactory *factory = new BaseTypeFactory; - DDS table(factory); +#endif + BaseTypeFactory factory; + DDS table(&factory); table.parse(); if (table.check_semantics()) @@ -325,8 +267,11 @@ DDS table2 = table; // test copy ctor; table2.print(cout); +#if 0 BaseTypeFactory *factory2 = new BaseTypeFactory; - DDS table3(factory2); +#endif + BaseTypeFactory factory2; + DDS table3(&factory2); table3 = table; // test operator= cout << "Dataset name: " << table.get_dataset_name() << endl; @@ -359,9 +304,11 @@ for (DDS::Vars_iter p = table.var_begin(); p != table.var_end(); p++) (*p)->print_decl(cout, "", true); // print them all w/semicolons +#if 0 delete factory; factory = 0; delete factory2; factory2 = 0; +#endif } diff -Nru libdap-3.19.1/tests/DMRTest libdap-3.20.5/tests/DMRTest --- libdap-3.19.1/tests/DMRTest 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/DMRTest 2020-02-17 07:35:45.000000000 +0000 @@ -590,241 +590,241 @@ # numerical order. at_format='???' # Description of all the test groups. -at_help_all="1;DMRTest.at:211;parse dmr-testsuite/test_simple_1.xml;parse; -2;DMRTest.at:212;parse dmr-testsuite/test_simple_2.xml;parse; -3;DMRTest.at:213;parse dmr-testsuite/test_simple_3.xml;parse; -4;DMRTest.at:215;parse dmr-testsuite/test_simple_3_error_1.xml;parse; -5;DMRTest.at:216;parse dmr-testsuite/test_simple_3_error_2.xml;parse; -6;DMRTest.at:217;parse dmr-testsuite/test_simple_3_error_3.xml;parse; -7;DMRTest.at:219;parse dmr-testsuite/test_simple_4.xml;parse; -8;DMRTest.at:220;parse dmr-testsuite/test_simple_5.xml;parse; -9;DMRTest.at:221;parse dmr-testsuite/test_simple_6.xml;parse; -10;DMRTest.at:222;parse dmr-testsuite/test_simple_7.xml;parse; -11;DMRTest.at:223;parse dmr-testsuite/test_simple_8.xml;parse; -12;DMRTest.at:224;parse dmr-testsuite/test_simple_9.xml;parse; -13;DMRTest.at:225;parse dmr-testsuite/test_simple_9.1.xml;parse; -14;DMRTest.at:226;parse dmr-testsuite/test_simple_10.xml;parse; -15;DMRTest.at:228;parse dmr-testsuite/test_array_1.xml;parse; -16;DMRTest.at:229;parse dmr-testsuite/test_array_2.xml;parse; -17;DMRTest.at:230;parse dmr-testsuite/test_array_3.xml;parse; -18;DMRTest.at:231;parse dmr-testsuite/test_array_4.xml;parse; -19;DMRTest.at:232;parse dmr-testsuite/test_array_5.xml;parse; -20;DMRTest.at:233;parse dmr-testsuite/test_array_6.xml;parse; -21;DMRTest.at:234;parse dmr-testsuite/test_array_7.xml;parse; -22;DMRTest.at:235;parse dmr-testsuite/test_array_8.xml;parse; -23;DMRTest.at:236;parse dmr-testsuite/test_array_10.xml;parse; -24;DMRTest.at:237;parse dmr-testsuite/test_array_11.xml;parse; -25;DMRTest.at:239;parse dmr-testsuite/ignore_foreign_xml_1.xml;parse; -26;DMRTest.at:240;parse dmr-testsuite/ignore_foreign_xml_2.xml;parse; -27;DMRTest.at:241;parse dmr-testsuite/ignore_foreign_xml_3.xml;parse; -28;DMRTest.at:251;trans test_simple_1.xml;trans; -29;DMRTest.at:252;trans test_simple_2.xml;trans; -30;DMRTest.at:253;trans test_simple_3.xml;trans; -31;DMRTest.at:254;trans test_simple_4.xml;trans; -32;DMRTest.at:255;trans test_simple_5.xml;trans; -33;DMRTest.at:256;trans test_simple_6.xml;trans; -34;DMRTest.at:257;trans test_simple_7.xml;trans; -35;DMRTest.at:258;trans test_simple_8.xml;trans; -36;DMRTest.at:259;trans test_simple_9.xml;trans; -37;DMRTest.at:260;trans test_simple_9.1.xml;trans; -38;DMRTest.at:261;trans test_simple_10.xml;trans; -39;DMRTest.at:263;trans test_array_1.xml;trans; -40;DMRTest.at:264;trans test_array_2.xml;trans; -41;DMRTest.at:265;trans test_array_3.xml;trans; -42;DMRTest.at:266;trans test_array_4.xml;trans; -43;DMRTest.at:267;trans test_array_5.xml;trans; -44;DMRTest.at:268;trans test_array_6.xml;trans; -45;DMRTest.at:269;trans test_array_7.xml;trans; -46;DMRTest.at:270;trans test_array_8.xml;trans; -47;DMRTest.at:271;trans test_array_10.xml;trans; -48;DMRTest.at:272;trans test_array_11.xml;trans; -49;DMRTest.at:274;intern test_simple_1.xml;intern; -50;DMRTest.at:275;intern test_simple_2.xml;intern; -51;DMRTest.at:276;intern test_simple_3.xml;intern; -52;DMRTest.at:277;intern test_simple_4.xml;intern; -53;DMRTest.at:278;intern test_simple_5.xml;intern; -54;DMRTest.at:279;intern test_simple_6.xml;intern; -55;DMRTest.at:280;intern test_simple_7.xml;intern; -56;DMRTest.at:281;intern test_simple_8.xml;intern; -57;DMRTest.at:282;intern test_simple_9.xml;intern; -58;DMRTest.at:283;intern test_simple_9.1.xml;intern; -59;DMRTest.at:284;intern test_simple_10.xml;intern; -60;DMRTest.at:286;intern test_array_1.xml;intern; -61;DMRTest.at:287;intern test_array_2.xml;intern; -62;DMRTest.at:288;intern test_array_3.xml;intern; -63;DMRTest.at:289;intern test_array_4.xml;intern; -64;DMRTest.at:290;intern test_array_5.xml;intern; -65;DMRTest.at:291;intern test_array_6.xml;intern; -66;DMRTest.at:292;intern test_array_7.xml;intern; -67;DMRTest.at:293;intern test_array_8.xml;intern; -68;DMRTest.at:294;intern test_array_10.xml;intern; -69;DMRTest.at:295;intern test_array_11.xml;intern; -70;DMRTest.at:298;parse dmr-testsuite/test_array_9.xml;parse; -71;DMRTest.at:299;parse dmr-testsuite/test_array_12.xml;parse; -72;DMRTest.at:300;parse dmr-testsuite/test_array_13.xml;parse; -73;DMRTest.at:301;parse dmr-testsuite/test_array_14.xml;parse; -74;DMRTest.at:304;parse dmr-testsuite/test_simple_6.2.xml;parse; -75;DMRTest.at:305;parse dmr-testsuite/test_simple_6.3.xml;parse; -76;DMRTest.at:307;trans test_array_9.xml;trans; -77;DMRTest.at:308;trans test_array_12.xml;trans; -78;DMRTest.at:309;trans test_array_13.xml;trans; -79;DMRTest.at:310;trans test_array_14.xml;trans; -80;DMRTest.at:312;trans test_simple_6.2.xml;trans; -81;DMRTest.at:313;trans test_simple_6.3.xml;trans; -82;DMRTest.at:316;trans test_array_9.xml;trans; -83;DMRTest.at:317;trans test_array_12.xml;trans; -84;DMRTest.at:318;trans test_array_13.xml;trans; -85;DMRTest.at:319;trans test_array_14.xml;trans; -86;DMRTest.at:321;trans test_simple_6.2.xml;trans; -87;DMRTest.at:322;trans test_simple_6.3.xml;trans; -88;DMRTest.at:324;intern test_array_9.xml;intern; -89;DMRTest.at:325;intern test_array_12.xml;intern; -90;DMRTest.at:326;intern test_array_13.xml;intern; -91;DMRTest.at:327;intern test_array_14.xml;intern; -92;DMRTest.at:329;intern test_simple_6.2.xml;intern; -93;DMRTest.at:330;intern test_simple_6.3.xml;intern; -94;DMRTest.at:346;trans ce test_array_3.1.dmr row;x test_array_3.1.dmr.1.trans_base;trans_ce; -95;DMRTest.at:346;trans ce test_array_3.1.dmr row=[2:3];x test_array_3.1.dmr.2.trans_base;trans_ce; -96;DMRTest.at:346;trans ce test_array_3.1.dmr row=[2:3];x[0:1] test_array_3.1.dmr.3.trans_base;trans_ce; -97;DMRTest.at:346;trans ce test_array_3.1.dmr x[0:1] test_array_3.1.dmr.4.trans_base;trans_ce; -98;DMRTest.at:346;trans ce test_array_3.1.dmr x test_array_3.1.dmr.5.trans_base;trans_ce; -99;DMRTest.at:350;trans ce test_array_4.xml a test_array_4.xml.1.trans_base;trans_ce; -100;DMRTest.at:351;trans ce test_array_4.xml a[][] test_array_4.xml.1.trans_base;trans_ce; -101;DMRTest.at:353;trans ce test_array_4.xml /row=[0:1];/col=[3];a test_array_4.xml.3.trans_base;trans_ce; -102;DMRTest.at:355;trans ce test_array_4.xml /row=[0:1];/col=[3];a[][] test_array_4.xml.4.trans_base;trans_ce; -103;DMRTest.at:357;trans ce test_array_4.xml /row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] test_array_4.xml.5.trans_base;trans_ce; -104;DMRTest.at:359;trans ce test_array_4.xml x[][] /test_array_4.xml.6.trans_base;trans_ce; -105;DMRTest.at:360;trans ce test_array_4.xml /row=[0:1];x[][] test_array_4.xml.7.trans_base;trans_ce; -106;DMRTest.at:362;trans ce test_array_4.xml c[2:][2:] test_array_4.xml.8.trans_base;trans_ce; -107;DMRTest.at:364;trans ce test_simple_6.xml s test_simple_6.xml.1.trans_base;trans_ce; -108;DMRTest.at:365;trans ce test_simple_6.xml s.i1 test_simple_6.xml.2.trans_base;trans_ce; -109;DMRTest.at:366;trans ce test_simple_6.xml s.s test_simple_6.xml.3.trans_base;trans_ce; -110;DMRTest.at:367;trans ce test_simple_6.1.xml s.inner.i2 test_simple_6.1.xml.1.trans_base;trans_ce; -111;DMRTest.at:369;trans ce test_simple_6.xml s{i1} test_simple_6.xml.2.trans_base;trans_ce; -112;DMRTest.at:370;trans ce test_simple_6.xml s{s} test_simple_6.xml.3.trans_base;trans_ce; -113;DMRTest.at:371;trans ce test_simple_6.1.xml s{inner.i2} test_simple_6.1.xml.1.trans_base;trans_ce; -114;DMRTest.at:372;trans ce test_simple_6.1.xml s{inner{i2}} test_simple_6.1.xml.1.trans_base;trans_ce; -115;DMRTest.at:375;trans ce test_array_6.xml a test_array_6.xml.1.trans_base;trans_ce; -116;DMRTest.at:376;trans ce test_array_6.xml a[][] test_array_6.xml.1.trans_base;trans_ce; -117;DMRTest.at:377;trans ce test_array_6.xml /row=[0:1];a[][] test_array_6.xml.2.trans_base;trans_ce; -118;DMRTest.at:378;trans ce test_array_6.xml /row=[0:1];a[][1:2] test_array_6.xml.3.trans_base;trans_ce; -119;DMRTest.at:381;trans ce test_array_6.2.xml a test_array_6.2.xml.1.trans_base;trans_ce; -120;DMRTest.at:382;trans ce test_array_6.2.xml a{i;j} test_array_6.2.xml.1.trans_base;trans_ce; -121;DMRTest.at:383;trans ce test_array_6.2.xml a.i test_array_6.2.xml.2.trans_base;trans_ce; -122;DMRTest.at:384;trans ce test_array_6.2.xml a{i} test_array_6.2.xml.2.trans_base;trans_ce; -123;DMRTest.at:385;trans ce test_array_6.2.xml a.i[0][1:2] test_array_6.2.xml.3.trans_base;trans_ce; -124;DMRTest.at:386;trans ce test_array_6.2.xml a{i[0][1:2]} test_array_6.2.xml.3.trans_base;trans_ce; -125;DMRTest.at:387;trans ce test_array_6.2.xml /row=[0:1];a.i[][1:2] test_array_6.2.xml.4.trans_base;trans_ce; -126;DMRTest.at:388;trans ce test_array_6.2.xml /row=[0:1];a{i[][1:2]} test_array_6.2.xml.4.trans_base;trans_ce; -127;DMRTest.at:390;trans ce test_array_6.2.xml a.j test_array_6.2.xml.5.trans_base;trans_ce; -128;DMRTest.at:393;trans ce test_array_6.1.xml a test_array_6.1.xml.1.trans_base;trans_ce; -129;DMRTest.at:396;trans ce test_array_6.1.xml /row=[1:2];a[][0] test_array_6.1.xml.2.trans_base;trans_ce; -130;DMRTest.at:397;trans ce test_array_6.1.xml /row=[1:2];a[][0]{i;j} test_array_6.1.xml.2.trans_base;trans_ce; -131;DMRTest.at:399;trans ce test_array_6.1.xml row=[1:2];a[][0]{i;j} test_array_6.1.xml.2.trans_base;trans_ce; -132;DMRTest.at:402;trans ce test_array_6.1.xml a{i[1:2][1:3];j} test_array_6.1.xml.3.trans_base;trans_ce; -133;DMRTest.at:403;trans ce test_array_6.1.xml a[][]{i[1:2][1:3];j} test_array_6.1.xml.3.trans_base;trans_ce; -134;DMRTest.at:407;trans ce test_array_6.1.xml /row=[1];a[][0]{i[][0:1]} test_array_6.1.xml.4.trans_base;trans_ce; -135;DMRTest.at:410;trans ce test_simple_7.xml s test_simple_7.xml.1.trans_base;trans_ce; -136;DMRTest.at:411;trans ce test_simple_7.xml s{i1;s} test_simple_7.xml.1.trans_base;trans_ce; -137;DMRTest.at:413;trans ce test_simple_7.xml s.i1 test_simple_7.xml.2.trans_base;trans_ce; -138;DMRTest.at:414;trans ce test_simple_7.xml s{i1} test_simple_7.xml.2.trans_base;trans_ce; -139;DMRTest.at:416;trans ce test_simple_8.xml outer test_simple_8.xml.1.trans_base;trans_ce; -140;DMRTest.at:417;trans ce test_simple_8.xml outer.s.s test_simple_8.xml.2.trans_base;trans_ce; -141;DMRTest.at:418;trans ce test_simple_8.xml outer{s{s}} test_simple_8.xml.2.trans_base;trans_ce; -142;DMRTest.at:420;trans ce test_array_7.xml s test_array_7.xml.1.trans_base;trans_ce; -143;DMRTest.at:421;trans ce test_array_7.xml s{i1;s} test_array_7.xml.1.trans_base;trans_ce; -144;DMRTest.at:423;trans ce test_array_7.xml s.i1 test_array_7.xml.2.trans_base;trans_ce; -145;DMRTest.at:424;trans ce test_array_7.xml s{i1} test_array_7.xml.2.trans_base;trans_ce; -146;DMRTest.at:426;trans ce test_array_7.xml s[1] test_array_7.xml.3.trans_base;trans_ce; -147;DMRTest.at:427;trans ce test_array_7.xml s[1]{i1;s} test_array_7.xml.3.trans_base;trans_ce; -148;DMRTest.at:429;trans ce test_array_7.xml s[1]{i1} test_array_7.xml.4.trans_base;trans_ce; -149;DMRTest.at:432;trans ce test_array_8.xml /col=[1:2];s[1][]{i1} test_array_8.xml.1.trans_base;trans_ce; -150;DMRTest.at:433;trans ce test_array_8.xml col=[1:2];s[1][]{i1} test_array_8.xml.1.trans_base;trans_ce; -151;DMRTest.at:436;trans ce test_array_7.1.xml test_array_7.1.xml.1.trans_base;trans_ce; -152;DMRTest.at:437;trans ce test_array_7.1.xml s test_array_7.1.xml.1.trans_base;trans_ce; -153;DMRTest.at:439;trans ce test_array_7.1.xml s.i1 test_array_7.1.xml.2.trans_base;trans_ce; -154;DMRTest.at:440;trans ce test_array_7.1.xml s.i1[][] test_array_7.1.xml.2.trans_base;trans_ce; -155;DMRTest.at:441;trans ce test_array_7.1.xml s{i1} test_array_7.1.xml.2.trans_base;trans_ce; -156;DMRTest.at:442;trans ce test_array_7.1.xml s{i1[][]} test_array_7.1.xml.2.trans_base;trans_ce; -157;DMRTest.at:444;trans ce test_array_7.1.xml s.i1[0][0] test_array_7.1.xml.3.trans_base;trans_ce; -158;DMRTest.at:445;trans ce test_array_7.1.xml s{i1[0][0]} test_array_7.1.xml.3.trans_base;trans_ce; -159;DMRTest.at:447;trans ce test_array_7.1.xml s.i1[0:2][1:2] test_array_7.1.xml.4.trans_base;trans_ce; -160;DMRTest.at:451;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s test_array_7.1.xml.5.trans_base;trans_ce; -161;DMRTest.at:453;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s.i1 test_array_7.1.xml.6.trans_base;trans_ce; -162;DMRTest.at:454;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s.i1[][] test_array_7.1.xml.6.trans_base;trans_ce; -163;DMRTest.at:455;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s{i1} test_array_7.1.xml.6.trans_base;trans_ce; -164;DMRTest.at:456;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s{i1[][]} test_array_7.1.xml.6.trans_base;trans_ce; -165;DMRTest.at:459;trans ce test_array_7.2.xml /col=[1:2];s[]{i1} test_array_7.2.xml.1.trans_base;trans_ce; -166;DMRTest.at:460;trans ce test_array_7.2.xml /col=[1:2];s[]{i1[][]} test_array_7.2.xml.1.trans_base;trans_ce; -167;DMRTest.at:461;trans ce test_array_7.2.xml /col=[1:2];s{i1[][]} test_array_7.2.xml.1.trans_base;trans_ce; -168;DMRTest.at:463;trans ce test_array_7.2.xml /col=[1:2];s[]{i1[0][]} test_array_7.2.xml.2.trans_base;trans_ce; -169;DMRTest.at:464;trans ce test_array_7.2.xml /col=[1:2];s{i1[0][]} test_array_7.2.xml.2.trans_base;trans_ce; -170;DMRTest.at:466;trans ce test_array_7.2.xml /col=[1:2];s[0]{i1} test_array_7.2.xml.3.trans_base;trans_ce; -171;DMRTest.at:467;trans ce test_array_7.2.xml /col=[1:2];s[0]{i1[][]} test_array_7.2.xml.3.trans_base;trans_ce; -172;DMRTest.at:469;trans ce test_array_7.2.xml /col=[1:2];s[0]{i1[0][]} test_array_7.2.xml.4.trans_base;trans_ce; -173;DMRTest.at:473;trans test_array_1.xml scale(x,1) test_array_1.xml.1.func_base;trans_func_ce; -174;DMRTest.at:474;trans test_array_1.xml scale(x,10) test_array_1.xml.2.func_base;trans_func_ce; -175;DMRTest.at:475;trans test_array_1.xml scale(x,-10) test_array_1.xml.3.func_base;trans_func_ce; -176;DMRTest.at:476;trans test_array_1.xml scale(x,0.001) test_array_1.xml.4.func_base;trans_func_ce; -177;DMRTest.at:477;trans test_array_1.xml scale(x,-0.001) test_array_1.xml.5.func_base;trans_func_ce; -178;DMRTest.at:481;trans test_array_1.xml scale(x,0x7fffffffffffffff) test_array_1.xml.6.func_base;trans_func_ce; -179;DMRTest.at:483;trans test_array_1.xml scale(x,0x8fffffffffffffff) test_array_1.xml.7.func_base;trans_func_ce; -180;DMRTest.at:487;trans test_array_5.xml scale(a,0.001) test_array_5.xml.1.func_base;trans_func_ce; -181;DMRTest.at:488;trans test_array_5.xml scale(b,0.001) test_array_5.xml.2.func_base;trans_func_ce; -182;DMRTest.at:490;trans test_array_5.xml scale(c,0.001) test_array_5.xml.3.func_base;trans_func_ce; -183;DMRTest.at:491;trans test_array_5.xml scale(d,0.001) test_array_5.xml.4.func_base;trans_func_ce; -184;DMRTest.at:496;trans vol_1_ce_1.xml scale(u,10) vol_1_ce_1.xml.1.func_base;trans_func_ce; -185;DMRTest.at:497;trans vol_1_ce_1.xml scale(u,v) vol_1_ce_1.xml.2.func_base;trans_func_ce; -186;DMRTest.at:498;trans vol_1_ce_1.xml scale(scale(u,10),0.01) vol_1_ce_1.xml.3.func_base;trans_func_ce; -187;DMRTest.at:501;trans vol_1_ce_1.xml scale(Point.x,10) vol_1_ce_1.xml.4.func_base;trans_func_ce; -188;DMRTest.at:502;trans vol_1_ce_1.xml scale(Point.x,Point.y) vol_1_ce_1.xml.5.func_base;trans_func_ce; -189;DMRTest.at:503;trans vol_1_ce_1.xml scale(scale(Point.x,10),0.01) vol_1_ce_1.xml.6.func_base;trans_func_ce; -190;DMRTest.at:506;trans vol_1_ce_1.xml scale(\\\$Byte(20:1,2,3,4),10) vol_1_ce_1.xml.7.func_base;trans_func_ce; -191;DMRTest.at:507;trans vol_1_ce_1.xml scale(\\\$Int8(20:10,11,12,-9),10) vol_1_ce_1.xml.8.func_base;trans_func_ce; -192;DMRTest.at:508;trans vol_1_ce_1.xml scale(\\\$UInt16(20:1,2,3,4),10) vol_1_ce_1.xml.9.func_base;trans_func_ce; -193;DMRTest.at:509;trans vol_1_ce_1.xml scale(\\\$Int16(20:1,2,3,-4),10) vol_1_ce_1.xml.10.func_base;trans_func_ce; -194;DMRTest.at:510;trans vol_1_ce_1.xml scale(\\\$UInt32(20:1,2,3,4),10) vol_1_ce_1.xml.11.func_base;trans_func_ce; -195;DMRTest.at:511;trans vol_1_ce_1.xml scale(\\\$Int32(20:1,2,3,-4),10) vol_1_ce_1.xml.12.func_base;trans_func_ce; -196;DMRTest.at:512;trans vol_1_ce_1.xml scale(\\\$UInt64(20:1,2,3,0xffffffffffffffff),1) vol_1_ce_1.xml.13.func_base;trans_func_ce; -197;DMRTest.at:513;trans vol_1_ce_1.xml scale(\\\$Int64(20:1,2,3,0x7fffffffffffffff),1) vol_1_ce_1.xml.14.func_base;trans_func_ce; -198;DMRTest.at:514;trans vol_1_ce_1.xml scale(\\\$Float32(20:1,2,3,4.55),10) vol_1_ce_1.xml.15.func_base;trans_func_ce; -199;DMRTest.at:515;trans vol_1_ce_1.xml scale(\\\$Float64(20:1,2,3,4.55),10) vol_1_ce_1.xml.16.func_base;trans_func_ce; -200;DMRTest.at:519;trans vol_1_ce_10.xml scale(lat,10) vol_1_ce_10.xml.1.func_base;trans_func_ce; -201;DMRTest.at:520;trans vol_1_ce_10.xml scale(lat,10);scale(lon,10) vol_1_ce_10.xml.2.func_base;trans_func_ce; -202;DMRTest.at:521;trans vol_1_ce_10.xml scale(lat,10);scale(lon,10) lat[10:11][10:11];lon[10:11][10:11] vol_1_ce_10.xml.3.func_base;trans_func_ce; -203;DMRTest.at:528;filter test_simple_7.xml s test_simple_7.xml.f.trans_base;filter; -204;DMRTest.at:530;filter test_simple_7.xml s|i1==1024 test_simple_7.xml.f1.trans_base;filter; -205;DMRTest.at:531;filter test_simple_7.xml s|i1!=1024 test_simple_7.xml.f2.trans_base;filter; -206;DMRTest.at:532;filter test_simple_7.xml s|i1<=1024 test_simple_7.xml.f3.trans_base;filter; -207;DMRTest.at:533;filter test_simple_7.xml s|i1<1024 test_simple_7.xml.f4.trans_base;filter; -208;DMRTest.at:534;filter test_simple_7.xml s|i1<=1024 test_simple_7.xml.f5.trans_base;filter; -209;DMRTest.at:535;filter test_simple_7.xml s|i1>1024 test_simple_7.xml.f6.trans_base;filter; -210;DMRTest.at:536;filter test_simple_7.xml s|i1>=1024 test_simple_7.xml.f7.trans_base;filter; -211;DMRTest.at:538;filter test_simple_7.xml s|1024=1024.0 test_simple_7.xml.fa.trans_base;filter; -214;DMRTest.at:542;filter test_simple_7.xml s|s==\\\"Silly test string: 2\\\" test_simple_7.xml.fs1.trans_base;filter; -215;DMRTest.at:543;filter test_simple_7.xml s|s!=\\\"Silly test string: 2\\\" test_simple_7.xml.fs2.trans_base;filter; -216;DMRTest.at:544;filter test_simple_7.xml s|s<\\\"Silly test string: 2\\\" test_simple_7.xml.fs3.trans_base;filter; -217;DMRTest.at:545;filter test_simple_7.xml s|s<=\\\"Silly test string: 2\\\" test_simple_7.xml.fs4.trans_base;filter; -218;DMRTest.at:546;filter test_simple_7.xml s|s>\\\"Silly test string: 2\\\" test_simple_7.xml.fs5.trans_base;filter; -219;DMRTest.at:547;filter test_simple_7.xml s|s>=\\\"Silly test string: 2\\\" test_simple_7.xml.fs6.trans_base;filter; -220;DMRTest.at:548;filter test_simple_7.xml s|s~=\\\".*2\\\" test_simple_7.xml.fs7.trans_base;filter; -221;DMRTest.at:552;filter test_simple_7.xml s{i1}|i1<32768 test_simple_7.xml.g1.trans_base;filter; -222;DMRTest.at:553;filter test_simple_7.xml s{i1}|s<=\\\"Silly test string: 2\\\" test_simple_7.xml.g1.trans_base;filter; -223;DMRTest.at:556;filter test_simple_8.1.xml outer test_simple_8.1.xml.f1.trans_base;filter; -224;DMRTest.at:557;filter test_simple_8.1.xml outer{x;y} test_simple_8.1.xml.f2.trans_base;filter; -225;DMRTest.at:558;filter test_simple_8.1.xml outer{x;y;inner} test_simple_8.1.xml.f3.trans_base;filter; -226;DMRTest.at:559;filter test_simple_8.1.xml outer{x;y;inner|i1<1000} test_simple_8.1.xml.f4.trans_base;filter; -227;DMRTest.at:560;filter test_simple_8.1.xml outer{x;y;inner|i1<1000}|x<0.0 test_simple_8.1.xml.f5.trans_base;filter; -228;DMRTest.at:567;filter names_with_spaces.dmr /u names_with_spaces.dmr.1.trans_base;filter; -229;DMRTest.at:568;filter names_with_spaces.dmr /inst2/u names_with_spaces.dmr.2.trans_base;filter; -230;DMRTest.at:569;filter names_with_spaces.dmr /inst2/Point.x names_with_spaces.dmr.3.trans_base;filter; -231;DMRTest.at:571;filter names_with_spaces2.dmr /inst2/\\\"Point Break\\\".x names_with_spaces2.dmr.1.trans_base;filter; -232;DMRTest.at:572;filter names_with_spaces2.dmr /inst2/Point%20Break.x names_with_spaces2.dmr.1.trans_base;filter; -233;DMRTest.at:573;filter names_with_spaces2.dmr /inst2/\\\"Point%20Break\\\".x names_with_spaces2.dmr.1.trans_base;filter; -234;DMRTest.at:575;filter names_with_spaces3.dmr /inst2/\\\"New Group\\\"/x names_with_spaces3.dmr.1.trans_base;filter; -235;DMRTest.at:576;filter names_with_spaces3.dmr /inst2/New%20Group/x names_with_spaces3.dmr.1.trans_base;filter; +at_help_all="1;DMRTest.at:230;parse dmr-testsuite/test_simple_1.xml;parse; +2;DMRTest.at:231;parse dmr-testsuite/test_simple_2.xml;parse; +3;DMRTest.at:232;parse dmr-testsuite/test_simple_3.xml;parse; +4;DMRTest.at:234;parse dmr-testsuite/test_simple_3_error_1.xml;parse; +5;DMRTest.at:235;parse dmr-testsuite/test_simple_3_error_2.xml;parse; +6;DMRTest.at:236;parse dmr-testsuite/test_simple_3_error_3.xml;parse; +7;DMRTest.at:238;parse dmr-testsuite/test_simple_4.xml;parse; +8;DMRTest.at:239;parse dmr-testsuite/test_simple_5.xml;parse; +9;DMRTest.at:240;parse dmr-testsuite/test_simple_6.xml;parse; +10;DMRTest.at:241;parse dmr-testsuite/test_simple_7.xml;parse; +11;DMRTest.at:242;parse dmr-testsuite/test_simple_8.xml;parse; +12;DMRTest.at:243;parse dmr-testsuite/test_simple_9.xml;parse; +13;DMRTest.at:244;parse dmr-testsuite/test_simple_9.1.xml;parse; +14;DMRTest.at:245;parse dmr-testsuite/test_simple_10.xml;parse; +15;DMRTest.at:247;parse dmr-testsuite/test_array_1.xml;parse; +16;DMRTest.at:248;parse dmr-testsuite/test_array_2.xml;parse; +17;DMRTest.at:249;parse dmr-testsuite/test_array_3.xml;parse; +18;DMRTest.at:250;parse dmr-testsuite/test_array_4.xml;parse; +19;DMRTest.at:251;parse dmr-testsuite/test_array_5.xml;parse; +20;DMRTest.at:252;parse dmr-testsuite/test_array_6.xml;parse; +21;DMRTest.at:253;parse dmr-testsuite/test_array_7.xml;parse; +22;DMRTest.at:254;parse dmr-testsuite/test_array_8.xml;parse; +23;DMRTest.at:255;parse dmr-testsuite/test_array_10.xml;parse; +24;DMRTest.at:256;parse dmr-testsuite/test_array_11.xml;parse; +25;DMRTest.at:258;parse dmr-testsuite/ignore_foreign_xml_1.xml;parse; +26;DMRTest.at:259;parse dmr-testsuite/ignore_foreign_xml_2.xml;parse; +27;DMRTest.at:260;parse dmr-testsuite/ignore_foreign_xml_3.xml;parse; +28;DMRTest.at:270;trans test_simple_1.xml;trans; +29;DMRTest.at:271;trans test_simple_2.xml;trans; +30;DMRTest.at:272;trans test_simple_3.xml;trans; +31;DMRTest.at:273;trans test_simple_4.xml;trans; +32;DMRTest.at:274;trans test_simple_5.xml;trans; +33;DMRTest.at:275;trans test_simple_6.xml;trans; +34;DMRTest.at:276;trans test_simple_7.xml;trans; +35;DMRTest.at:277;trans test_simple_8.xml;trans; +36;DMRTest.at:278;trans test_simple_9.xml;trans; +37;DMRTest.at:279;trans test_simple_9.1.xml;trans; +38;DMRTest.at:280;trans test_simple_10.xml;trans; +39;DMRTest.at:282;trans test_array_1.xml;trans; +40;DMRTest.at:283;trans test_array_2.xml;trans; +41;DMRTest.at:284;trans test_array_3.xml;trans; +42;DMRTest.at:285;trans test_array_4.xml;trans; +43;DMRTest.at:286;trans test_array_5.xml;trans; +44;DMRTest.at:287;trans test_array_6.xml;trans; +45;DMRTest.at:288;trans test_array_7.xml;trans; +46;DMRTest.at:289;trans test_array_8.xml;trans; +47;DMRTest.at:290;trans test_array_10.xml;trans; +48;DMRTest.at:291;trans test_array_11.xml;trans; +49;DMRTest.at:293;intern test_simple_1.xml;intern; +50;DMRTest.at:294;intern test_simple_2.xml;intern; +51;DMRTest.at:295;intern test_simple_3.xml;intern; +52;DMRTest.at:296;intern test_simple_4.xml;intern; +53;DMRTest.at:297;intern test_simple_5.xml;intern; +54;DMRTest.at:298;intern test_simple_6.xml;intern; +55;DMRTest.at:299;intern test_simple_7.xml;intern; +56;DMRTest.at:300;intern test_simple_8.xml;intern; +57;DMRTest.at:301;intern test_simple_9.xml;intern; +58;DMRTest.at:302;intern test_simple_9.1.xml;intern; +59;DMRTest.at:303;intern test_simple_10.xml;intern; +60;DMRTest.at:305;intern test_array_1.xml;intern; +61;DMRTest.at:306;intern test_array_2.xml;intern; +62;DMRTest.at:307;intern test_array_3.xml;intern; +63;DMRTest.at:308;intern test_array_4.xml;intern; +64;DMRTest.at:309;intern test_array_5.xml;intern; +65;DMRTest.at:310;intern test_array_6.xml;intern; +66;DMRTest.at:311;intern test_array_7.xml;intern; +67;DMRTest.at:312;intern test_array_8.xml;intern; +68;DMRTest.at:313;intern test_array_10.xml;intern; +69;DMRTest.at:314;intern test_array_11.xml;intern; +70;DMRTest.at:317;parse dmr-testsuite/test_array_9.xml;parse; +71;DMRTest.at:318;parse dmr-testsuite/test_array_12.xml;parse; +72;DMRTest.at:319;parse dmr-testsuite/test_array_13.xml;parse; +73;DMRTest.at:320;parse dmr-testsuite/test_array_14.xml;parse; +74;DMRTest.at:323;parse dmr-testsuite/test_simple_6.2.xml;parse; +75;DMRTest.at:324;parse dmr-testsuite/test_simple_6.3.xml;parse; +76;DMRTest.at:326;trans test_array_9.xml;trans; +77;DMRTest.at:327;trans test_array_12.xml;trans; +78;DMRTest.at:328;trans test_array_13.xml;trans; +79;DMRTest.at:329;trans test_array_14.xml;trans; +80;DMRTest.at:331;trans test_simple_6.2.xml;trans; +81;DMRTest.at:332;trans test_simple_6.3.xml;trans; +82;DMRTest.at:335;trans test_array_9.xml;trans; +83;DMRTest.at:336;trans test_array_12.xml;trans; +84;DMRTest.at:337;trans test_array_13.xml;trans; +85;DMRTest.at:338;trans test_array_14.xml;trans; +86;DMRTest.at:340;trans test_simple_6.2.xml;trans; +87;DMRTest.at:341;trans test_simple_6.3.xml;trans; +88;DMRTest.at:343;intern test_array_9.xml;intern; +89;DMRTest.at:344;intern test_array_12.xml;intern; +90;DMRTest.at:345;intern test_array_13.xml;intern; +91;DMRTest.at:346;intern test_array_14.xml;intern; +92;DMRTest.at:348;intern test_simple_6.2.xml;intern; +93;DMRTest.at:349;intern test_simple_6.3.xml;intern; +94;DMRTest.at:365;trans ce test_array_3.1.dmr row;x test_array_3.1.dmr.1.trans_base;trans_ce; +95;DMRTest.at:365;trans ce test_array_3.1.dmr row=[2:3];x test_array_3.1.dmr.2.trans_base;trans_ce; +96;DMRTest.at:365;trans ce test_array_3.1.dmr row=[2:3];x[0:1] test_array_3.1.dmr.3.trans_base;trans_ce; +97;DMRTest.at:365;trans ce test_array_3.1.dmr x[0:1] test_array_3.1.dmr.4.trans_base;trans_ce; +98;DMRTest.at:365;trans ce test_array_3.1.dmr x test_array_3.1.dmr.5.trans_base;trans_ce; +99;DMRTest.at:369;trans ce test_array_4.xml a test_array_4.xml.1.trans_base;trans_ce; +100;DMRTest.at:370;trans ce test_array_4.xml a[][] test_array_4.xml.1.trans_base;trans_ce; +101;DMRTest.at:372;trans ce test_array_4.xml /row=[0:1];/col=[3];a test_array_4.xml.3.trans_base;trans_ce; +102;DMRTest.at:374;trans ce test_array_4.xml /row=[0:1];/col=[3];a[][] test_array_4.xml.4.trans_base;trans_ce; +103;DMRTest.at:376;trans ce test_array_4.xml /row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] test_array_4.xml.5.trans_base;trans_ce; +104;DMRTest.at:378;trans ce test_array_4.xml x[][] /test_array_4.xml.6.trans_base;trans_ce; +105;DMRTest.at:379;trans ce test_array_4.xml /row=[0:1];x[][] test_array_4.xml.7.trans_base;trans_ce; +106;DMRTest.at:381;trans ce test_array_4.xml c[2:][2:] test_array_4.xml.8.trans_base;trans_ce; +107;DMRTest.at:383;trans ce test_simple_6.xml s test_simple_6.xml.1.trans_base;trans_ce; +108;DMRTest.at:384;trans ce test_simple_6.xml s.i1 test_simple_6.xml.2.trans_base;trans_ce; +109;DMRTest.at:385;trans ce test_simple_6.xml s.s test_simple_6.xml.3.trans_base;trans_ce; +110;DMRTest.at:386;trans ce test_simple_6.1.xml s.inner.i2 test_simple_6.1.xml.1.trans_base;trans_ce; +111;DMRTest.at:388;trans ce test_simple_6.xml s{i1} test_simple_6.xml.2.trans_base;trans_ce; +112;DMRTest.at:389;trans ce test_simple_6.xml s{s} test_simple_6.xml.3.trans_base;trans_ce; +113;DMRTest.at:390;trans ce test_simple_6.1.xml s{inner.i2} test_simple_6.1.xml.1.trans_base;trans_ce; +114;DMRTest.at:391;trans ce test_simple_6.1.xml s{inner{i2}} test_simple_6.1.xml.1.trans_base;trans_ce; +115;DMRTest.at:394;trans ce test_array_6.xml a test_array_6.xml.1.trans_base;trans_ce; +116;DMRTest.at:395;trans ce test_array_6.xml a[][] test_array_6.xml.1.trans_base;trans_ce; +117;DMRTest.at:396;trans ce test_array_6.xml /row=[0:1];a[][] test_array_6.xml.2.trans_base;trans_ce; +118;DMRTest.at:397;trans ce test_array_6.xml /row=[0:1];a[][1:2] test_array_6.xml.3.trans_base;trans_ce; +119;DMRTest.at:400;trans ce test_array_6.2.xml a test_array_6.2.xml.1.trans_base;trans_ce; +120;DMRTest.at:401;trans ce test_array_6.2.xml a{i;j} test_array_6.2.xml.1.trans_base;trans_ce; +121;DMRTest.at:402;trans ce test_array_6.2.xml a.i test_array_6.2.xml.2.trans_base;trans_ce; +122;DMRTest.at:403;trans ce test_array_6.2.xml a{i} test_array_6.2.xml.2.trans_base;trans_ce; +123;DMRTest.at:404;trans ce test_array_6.2.xml a.i[0][1:2] test_array_6.2.xml.3.trans_base;trans_ce; +124;DMRTest.at:405;trans ce test_array_6.2.xml a{i[0][1:2]} test_array_6.2.xml.3.trans_base;trans_ce; +125;DMRTest.at:406;trans ce test_array_6.2.xml /row=[0:1];a.i[][1:2] test_array_6.2.xml.4.trans_base;trans_ce; +126;DMRTest.at:407;trans ce test_array_6.2.xml /row=[0:1];a{i[][1:2]} test_array_6.2.xml.4.trans_base;trans_ce; +127;DMRTest.at:409;trans ce test_array_6.2.xml a.j test_array_6.2.xml.5.trans_base;trans_ce; +128;DMRTest.at:412;trans ce test_array_6.1.xml a test_array_6.1.xml.1.trans_base;trans_ce; +129;DMRTest.at:415;trans ce test_array_6.1.xml /row=[1:2];a[][0] test_array_6.1.xml.2.trans_base;trans_ce; +130;DMRTest.at:416;trans ce test_array_6.1.xml /row=[1:2];a[][0]{i;j} test_array_6.1.xml.2.trans_base;trans_ce; +131;DMRTest.at:418;trans ce test_array_6.1.xml row=[1:2];a[][0]{i;j} test_array_6.1.xml.2.trans_base;trans_ce; +132;DMRTest.at:421;trans ce test_array_6.1.xml a{i[1:2][1:3];j} test_array_6.1.xml.3.trans_base;trans_ce; +133;DMRTest.at:422;trans ce test_array_6.1.xml a[][]{i[1:2][1:3];j} test_array_6.1.xml.3.trans_base;trans_ce; +134;DMRTest.at:426;trans ce test_array_6.1.xml /row=[1];a[][0]{i[][0:1]} test_array_6.1.xml.4.trans_base;trans_ce; +135;DMRTest.at:429;trans ce test_simple_7.xml s test_simple_7.xml.1.trans_base;trans_ce; +136;DMRTest.at:430;trans ce test_simple_7.xml s{i1;s} test_simple_7.xml.1.trans_base;trans_ce; +137;DMRTest.at:432;trans ce test_simple_7.xml s.i1 test_simple_7.xml.2.trans_base;trans_ce; +138;DMRTest.at:433;trans ce test_simple_7.xml s{i1} test_simple_7.xml.2.trans_base;trans_ce; +139;DMRTest.at:435;trans ce test_simple_8.xml outer test_simple_8.xml.1.trans_base;trans_ce; +140;DMRTest.at:436;trans ce test_simple_8.xml outer.s.s test_simple_8.xml.2.trans_base;trans_ce; +141;DMRTest.at:437;trans ce test_simple_8.xml outer{s{s}} test_simple_8.xml.2.trans_base;trans_ce; +142;DMRTest.at:439;trans ce test_array_7.xml s test_array_7.xml.1.trans_base;trans_ce; +143;DMRTest.at:440;trans ce test_array_7.xml s{i1;s} test_array_7.xml.1.trans_base;trans_ce; +144;DMRTest.at:442;trans ce test_array_7.xml s.i1 test_array_7.xml.2.trans_base;trans_ce; +145;DMRTest.at:443;trans ce test_array_7.xml s{i1} test_array_7.xml.2.trans_base;trans_ce; +146;DMRTest.at:445;trans ce test_array_7.xml s[1] test_array_7.xml.3.trans_base;trans_ce; +147;DMRTest.at:446;trans ce test_array_7.xml s[1]{i1;s} test_array_7.xml.3.trans_base;trans_ce; +148;DMRTest.at:448;trans ce test_array_7.xml s[1]{i1} test_array_7.xml.4.trans_base;trans_ce; +149;DMRTest.at:451;trans ce test_array_8.xml /col=[1:2];s[1][]{i1} test_array_8.xml.1.trans_base;trans_ce; +150;DMRTest.at:452;trans ce test_array_8.xml col=[1:2];s[1][]{i1} test_array_8.xml.1.trans_base;trans_ce; +151;DMRTest.at:455;trans ce test_array_7.1.xml test_array_7.1.xml.1.trans_base;trans_ce; +152;DMRTest.at:456;trans ce test_array_7.1.xml s test_array_7.1.xml.1.trans_base;trans_ce; +153;DMRTest.at:458;trans ce test_array_7.1.xml s.i1 test_array_7.1.xml.2.trans_base;trans_ce; +154;DMRTest.at:459;trans ce test_array_7.1.xml s.i1[][] test_array_7.1.xml.2.trans_base;trans_ce; +155;DMRTest.at:460;trans ce test_array_7.1.xml s{i1} test_array_7.1.xml.2.trans_base;trans_ce; +156;DMRTest.at:461;trans ce test_array_7.1.xml s{i1[][]} test_array_7.1.xml.2.trans_base;trans_ce; +157;DMRTest.at:463;trans ce test_array_7.1.xml s.i1[0][0] test_array_7.1.xml.3.trans_base;trans_ce; +158;DMRTest.at:464;trans ce test_array_7.1.xml s{i1[0][0]} test_array_7.1.xml.3.trans_base;trans_ce; +159;DMRTest.at:466;trans ce test_array_7.1.xml s.i1[0:2][1:2] test_array_7.1.xml.4.trans_base;trans_ce; +160;DMRTest.at:470;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s test_array_7.1.xml.5.trans_base;trans_ce; +161;DMRTest.at:472;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s.i1 test_array_7.1.xml.6.trans_base;trans_ce; +162;DMRTest.at:473;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s.i1[][] test_array_7.1.xml.6.trans_base;trans_ce; +163;DMRTest.at:474;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s{i1} test_array_7.1.xml.6.trans_base;trans_ce; +164;DMRTest.at:475;trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s{i1[][]} test_array_7.1.xml.6.trans_base;trans_ce; +165;DMRTest.at:478;trans ce test_array_7.2.xml /col=[1:2];s[]{i1} test_array_7.2.xml.1.trans_base;trans_ce; +166;DMRTest.at:479;trans ce test_array_7.2.xml /col=[1:2];s[]{i1[][]} test_array_7.2.xml.1.trans_base;trans_ce; +167;DMRTest.at:480;trans ce test_array_7.2.xml /col=[1:2];s{i1[][]} test_array_7.2.xml.1.trans_base;trans_ce; +168;DMRTest.at:482;trans ce test_array_7.2.xml /col=[1:2];s[]{i1[0][]} test_array_7.2.xml.2.trans_base;trans_ce; +169;DMRTest.at:483;trans ce test_array_7.2.xml /col=[1:2];s{i1[0][]} test_array_7.2.xml.2.trans_base;trans_ce; +170;DMRTest.at:485;trans ce test_array_7.2.xml /col=[1:2];s[0]{i1} test_array_7.2.xml.3.trans_base;trans_ce; +171;DMRTest.at:486;trans ce test_array_7.2.xml /col=[1:2];s[0]{i1[][]} test_array_7.2.xml.3.trans_base;trans_ce; +172;DMRTest.at:488;trans ce test_array_7.2.xml /col=[1:2];s[0]{i1[0][]} test_array_7.2.xml.4.trans_base;trans_ce; +173;DMRTest.at:492;trans test_array_1.xml scale(x,1) test_array_1.xml.1.func_base;trans_func_ce; +174;DMRTest.at:493;trans test_array_1.xml scale(x,10) test_array_1.xml.2.func_base;trans_func_ce; +175;DMRTest.at:494;trans test_array_1.xml scale(x,-10) test_array_1.xml.3.func_base;trans_func_ce; +176;DMRTest.at:495;trans test_array_1.xml scale(x,0.001) test_array_1.xml.4.func_base;trans_func_ce; +177;DMRTest.at:496;trans test_array_1.xml scale(x,-0.001) test_array_1.xml.5.func_base;trans_func_ce; +178;DMRTest.at:500;trans test_array_1.xml scale(x,0x7fffffffffffffff) test_array_1.xml.6.func_base;trans_func_ce; +179;DMRTest.at:502;trans test_array_1.xml scale(x,0x8fffffffffffffff) test_array_1.xml.7.func_base;trans_func_ce; +180;DMRTest.at:506;trans test_array_5.xml scale(a,0.001) test_array_5.xml.1.func_base;trans_func_ce; +181;DMRTest.at:507;trans test_array_5.xml scale(b,0.001) test_array_5.xml.2.func_base;trans_func_ce; +182;DMRTest.at:509;trans test_array_5.xml scale(c,0.001) test_array_5.xml.3.func_base;trans_func_ce; +183;DMRTest.at:510;trans test_array_5.xml scale(d,0.001) test_array_5.xml.4.func_base;trans_func_ce; +184;DMRTest.at:515;trans vol_1_ce_1.xml scale(u,10) vol_1_ce_1.xml.1.func_base;trans_func_ce; +185;DMRTest.at:516;trans vol_1_ce_1.xml scale(u,v) vol_1_ce_1.xml.2.func_base;trans_func_ce; +186;DMRTest.at:517;trans vol_1_ce_1.xml scale(scale(u,10),0.01) vol_1_ce_1.xml.3.func_base;trans_func_ce; +187;DMRTest.at:520;trans vol_1_ce_1.xml scale(Point.x,10) vol_1_ce_1.xml.4.func_base;trans_func_ce; +188;DMRTest.at:521;trans vol_1_ce_1.xml scale(Point.x,Point.y) vol_1_ce_1.xml.5.func_base;trans_func_ce; +189;DMRTest.at:522;trans vol_1_ce_1.xml scale(scale(Point.x,10),0.01) vol_1_ce_1.xml.6.func_base;trans_func_ce; +190;DMRTest.at:525;trans vol_1_ce_1.xml scale(\\\$Byte(20:1,2,3,4),10) vol_1_ce_1.xml.7.func_base;trans_func_ce; +191;DMRTest.at:526;trans vol_1_ce_1.xml scale(\\\$Int8(20:10,11,12,-9),10) vol_1_ce_1.xml.8.func_base;trans_func_ce; +192;DMRTest.at:527;trans vol_1_ce_1.xml scale(\\\$UInt16(20:1,2,3,4),10) vol_1_ce_1.xml.9.func_base;trans_func_ce; +193;DMRTest.at:528;trans vol_1_ce_1.xml scale(\\\$Int16(20:1,2,3,-4),10) vol_1_ce_1.xml.10.func_base;trans_func_ce; +194;DMRTest.at:529;trans vol_1_ce_1.xml scale(\\\$UInt32(20:1,2,3,4),10) vol_1_ce_1.xml.11.func_base;trans_func_ce; +195;DMRTest.at:530;trans vol_1_ce_1.xml scale(\\\$Int32(20:1,2,3,-4),10) vol_1_ce_1.xml.12.func_base;trans_func_ce; +196;DMRTest.at:531;trans vol_1_ce_1.xml scale(\\\$UInt64(20:1,2,3,0xffffffffffffffff),1) vol_1_ce_1.xml.13.func_base;trans_func_ce; +197;DMRTest.at:532;trans vol_1_ce_1.xml scale(\\\$Int64(20:1,2,3,0x7fffffffffffffff),1) vol_1_ce_1.xml.14.func_base;trans_func_ce; +198;DMRTest.at:533;trans vol_1_ce_1.xml scale(\\\$Float32(20:1,2,3,4.55),10) vol_1_ce_1.xml.15.func_base;trans_func_ce; +199;DMRTest.at:534;trans vol_1_ce_1.xml scale(\\\$Float64(20:1,2,3,4.55),10) vol_1_ce_1.xml.16.func_base;trans_func_ce; +200;DMRTest.at:538;trans vol_1_ce_10.xml scale(lat,10) vol_1_ce_10.xml.1.func_base;trans_func_ce; +201;DMRTest.at:539;trans vol_1_ce_10.xml scale(lat,10);scale(lon,10) vol_1_ce_10.xml.2.func_base;trans_func_ce; +202;DMRTest.at:540;trans vol_1_ce_10.xml scale(lat,10);scale(lon,10) lat[10:11][10:11];lon[10:11][10:11] vol_1_ce_10.xml.3.func_base;trans_func_ce; +203;DMRTest.at:547;filter test_simple_7.xml s test_simple_7.xml.f.trans_base;filter; +204;DMRTest.at:549;filter test_simple_7.xml s|i1==1024 test_simple_7.xml.f1.trans_base;filter; +205;DMRTest.at:550;filter test_simple_7.xml s|i1!=1024 test_simple_7.xml.f2.trans_base;filter; +206;DMRTest.at:551;filter test_simple_7.xml s|i1<=1024 test_simple_7.xml.f3.trans_base;filter; +207;DMRTest.at:552;filter test_simple_7.xml s|i1<1024 test_simple_7.xml.f4.trans_base;filter; +208;DMRTest.at:553;filter test_simple_7.xml s|i1<=1024 test_simple_7.xml.f5.trans_base;filter; +209;DMRTest.at:554;filter test_simple_7.xml s|i1>1024 test_simple_7.xml.f6.trans_base;filter; +210;DMRTest.at:555;filter test_simple_7.xml s|i1>=1024 test_simple_7.xml.f7.trans_base;filter; +211;DMRTest.at:557;filter test_simple_7.xml s|1024=1024.0 test_simple_7.xml.fa.trans_base;filter; +214;DMRTest.at:561;filter test_simple_7.xml s|s==\\\"Silly test string: 2\\\" test_simple_7.xml.fs1.trans_base;filter; +215;DMRTest.at:562;filter test_simple_7.xml s|s!=\\\"Silly test string: 2\\\" test_simple_7.xml.fs2.trans_base;filter; +216;DMRTest.at:563;filter test_simple_7.xml s|s<\\\"Silly test string: 2\\\" test_simple_7.xml.fs3.trans_base;filter; +217;DMRTest.at:564;filter test_simple_7.xml s|s<=\\\"Silly test string: 2\\\" test_simple_7.xml.fs4.trans_base;filter; +218;DMRTest.at:565;filter test_simple_7.xml s|s>\\\"Silly test string: 2\\\" test_simple_7.xml.fs5.trans_base;filter; +219;DMRTest.at:566;filter test_simple_7.xml s|s>=\\\"Silly test string: 2\\\" test_simple_7.xml.fs6.trans_base;filter; +220;DMRTest.at:567;filter test_simple_7.xml s|s~=\\\".*2\\\" test_simple_7.xml.fs7.trans_base;filter; +221;DMRTest.at:571;filter test_simple_7.xml s{i1}|i1<32768 test_simple_7.xml.g1.trans_base;filter; +222;DMRTest.at:572;filter test_simple_7.xml s{i1}|s<=\\\"Silly test string: 2\\\" test_simple_7.xml.g1.trans_base;filter; +223;DMRTest.at:575;filter test_simple_8.1.xml outer test_simple_8.1.xml.f1.trans_base;filter; +224;DMRTest.at:576;filter test_simple_8.1.xml outer{x;y} test_simple_8.1.xml.f2.trans_base;filter; +225;DMRTest.at:577;filter test_simple_8.1.xml outer{x;y;inner} test_simple_8.1.xml.f3.trans_base;filter; +226;DMRTest.at:578;filter test_simple_8.1.xml outer{x;y;inner|i1<1000} test_simple_8.1.xml.f4.trans_base;filter; +227;DMRTest.at:579;filter test_simple_8.1.xml outer{x;y;inner|i1<1000}|x<0.0 test_simple_8.1.xml.f5.trans_base;filter; +228;DMRTest.at:586;filter names_with_spaces.dmr /u names_with_spaces.dmr.1.trans_base;filter; +229;DMRTest.at:587;filter names_with_spaces.dmr /inst2/u names_with_spaces.dmr.2.trans_base;filter; +230;DMRTest.at:588;filter names_with_spaces.dmr /inst2/Point.x names_with_spaces.dmr.3.trans_base;filter; +231;DMRTest.at:590;filter names_with_spaces2.dmr /inst2/\\\"Point Break\\\".x names_with_spaces2.dmr.1.trans_base;filter; +232;DMRTest.at:591;filter names_with_spaces2.dmr /inst2/Point%20Break.x names_with_spaces2.dmr.1.trans_base;filter; +233;DMRTest.at:592;filter names_with_spaces2.dmr /inst2/\\\"Point%20Break\\\".x names_with_spaces2.dmr.1.trans_base;filter; +234;DMRTest.at:594;filter names_with_spaces3.dmr /inst2/\\\"New Group\\\"/x names_with_spaces3.dmr.1.trans_base;filter; +235;DMRTest.at:595;filter names_with_spaces3.dmr /inst2/New%20Group/x names_with_spaces3.dmr.1.trans_base;filter; " # List of the all the test groups. at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` @@ -1171,7 +1171,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -libdap 3.19.1 test suite: dmr-test test groups: +libdap 3.20.5 test suite: dmr-test test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -1212,7 +1212,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (libdap 3.19.1)" && + $as_echo "$as_me (libdap 3.20.5)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1389,11 +1389,11 @@ # Banners and logs. $as_echo "## ----------------------------------- ## -## libdap 3.19.1 test suite: dmr-test. ## +## libdap 3.20.5 test suite: dmr-test. ## ## ----------------------------------- ##" { $as_echo "## ----------------------------------- ## -## libdap 3.19.1 test suite: dmr-test. ## +## libdap 3.20.5 test suite: dmr-test. ## ## ----------------------------------- ##" echo @@ -2237,7 +2237,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [libdap 3.19.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [libdap 3.20.5] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may @@ -2252,7 +2252,7 @@ ## Actual tests. ## ## ------------- ## #AT_START_1 -at_fn_group_banner 1 'DMRTest.at:211' \ +at_fn_group_banner 1 'DMRTest.at:230' \ "parse dmr-testsuite/test_simple_1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2268,28 +2268,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:211: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:211" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:230: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:230" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:211" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:230" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:211: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:211" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:230: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:230" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:211" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:230" $at_failed && at_fn_log_failure $at_traceon; } @@ -2297,28 +2297,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:211: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:211" +$as_echo "$at_srcdir/DMRTest.at:230: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:230" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:211" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:230" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:211: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:211" +$as_echo "$at_srcdir/DMRTest.at:230: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:230" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:211" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:230" $at_failed && at_fn_log_failure $at_traceon; } @@ -2332,7 +2332,7 @@ read at_status <"$at_status_file" #AT_STOP_1 #AT_START_2 -at_fn_group_banner 2 'DMRTest.at:212' \ +at_fn_group_banner 2 'DMRTest.at:231' \ "parse dmr-testsuite/test_simple_2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2348,28 +2348,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:212: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:212" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:231: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:231" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:212" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:231" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:212: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:212" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:231: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:231" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:212" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:231" $at_failed && at_fn_log_failure $at_traceon; } @@ -2377,28 +2377,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:212: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:212" +$as_echo "$at_srcdir/DMRTest.at:231: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:231" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:212" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:231" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:212: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:212" +$as_echo "$at_srcdir/DMRTest.at:231: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:231" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:212" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:231" $at_failed && at_fn_log_failure $at_traceon; } @@ -2412,7 +2412,7 @@ read at_status <"$at_status_file" #AT_STOP_2 #AT_START_3 -at_fn_group_banner 3 'DMRTest.at:213' \ +at_fn_group_banner 3 'DMRTest.at:232' \ "parse dmr-testsuite/test_simple_3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2428,28 +2428,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:213: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:213" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:232: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:232" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:213" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:232" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:213: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:213" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:232: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:232" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:213" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:232" $at_failed && at_fn_log_failure $at_traceon; } @@ -2457,28 +2457,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:213: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:213" +$as_echo "$at_srcdir/DMRTest.at:232: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:232" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:213" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:232" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:213: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:213" +$as_echo "$at_srcdir/DMRTest.at:232: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:232" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:213" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:232" $at_failed && at_fn_log_failure $at_traceon; } @@ -2492,7 +2492,7 @@ read at_status <"$at_status_file" #AT_STOP_3 #AT_START_4 -at_fn_group_banner 4 'DMRTest.at:215' \ +at_fn_group_banner 4 'DMRTest.at:234' \ "parse dmr-testsuite/test_simple_3_error_1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2508,28 +2508,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:215: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:215" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:234: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:234" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:215" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:234" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:215: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:215" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:234: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:234" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:215" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:234" $at_failed && at_fn_log_failure $at_traceon; } @@ -2537,28 +2537,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:215: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:215" +$as_echo "$at_srcdir/DMRTest.at:234: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:234" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:215" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:234" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:215: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:215" +$as_echo "$at_srcdir/DMRTest.at:234: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:234" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:215" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:234" $at_failed && at_fn_log_failure $at_traceon; } @@ -2572,7 +2572,7 @@ read at_status <"$at_status_file" #AT_STOP_4 #AT_START_5 -at_fn_group_banner 5 'DMRTest.at:216' \ +at_fn_group_banner 5 'DMRTest.at:235' \ "parse dmr-testsuite/test_simple_3_error_2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2588,28 +2588,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:216: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:216" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:235: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:235" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:216" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:235" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:216: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:216" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:235: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:235" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:216" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:235" $at_failed && at_fn_log_failure $at_traceon; } @@ -2617,28 +2617,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:216: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:216" +$as_echo "$at_srcdir/DMRTest.at:235: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:235" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:216" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:235" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:216: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:216" +$as_echo "$at_srcdir/DMRTest.at:235: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:235" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:216" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:235" $at_failed && at_fn_log_failure $at_traceon; } @@ -2652,7 +2652,7 @@ read at_status <"$at_status_file" #AT_STOP_5 #AT_START_6 -at_fn_group_banner 6 'DMRTest.at:217' \ +at_fn_group_banner 6 'DMRTest.at:236' \ "parse dmr-testsuite/test_simple_3_error_3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2668,28 +2668,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:217: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:217" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:236: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:236" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:217" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:236" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:217: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:217" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:236: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:236" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:217" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:236" $at_failed && at_fn_log_failure $at_traceon; } @@ -2697,28 +2697,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:217: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:217" +$as_echo "$at_srcdir/DMRTest.at:236: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:236" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:217" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:236" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:217: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:217" +$as_echo "$at_srcdir/DMRTest.at:236: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:236" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:217" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:236" $at_failed && at_fn_log_failure $at_traceon; } @@ -2732,7 +2732,7 @@ read at_status <"$at_status_file" #AT_STOP_6 #AT_START_7 -at_fn_group_banner 7 'DMRTest.at:219' \ +at_fn_group_banner 7 'DMRTest.at:238' \ "parse dmr-testsuite/test_simple_4.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2748,28 +2748,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:219: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:219" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:238: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:238" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:219" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:238" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:219: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:219" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:238: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:238" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:219" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:238" $at_failed && at_fn_log_failure $at_traceon; } @@ -2777,28 +2777,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:219: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:219" +$as_echo "$at_srcdir/DMRTest.at:238: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:238" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:219" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:238" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:219: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:219" +$as_echo "$at_srcdir/DMRTest.at:238: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:238" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:219" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:238" $at_failed && at_fn_log_failure $at_traceon; } @@ -2812,7 +2812,7 @@ read at_status <"$at_status_file" #AT_STOP_7 #AT_START_8 -at_fn_group_banner 8 'DMRTest.at:220' \ +at_fn_group_banner 8 'DMRTest.at:239' \ "parse dmr-testsuite/test_simple_5.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2828,28 +2828,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:220: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:220" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:239: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:239" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:220" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:239" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:220: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:220" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:239: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:239" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:220" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:239" $at_failed && at_fn_log_failure $at_traceon; } @@ -2857,28 +2857,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:220: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:220" +$as_echo "$at_srcdir/DMRTest.at:239: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:239" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:220" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:239" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:220: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:220" +$as_echo "$at_srcdir/DMRTest.at:239: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:239" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:220" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:239" $at_failed && at_fn_log_failure $at_traceon; } @@ -2892,7 +2892,7 @@ read at_status <"$at_status_file" #AT_STOP_8 #AT_START_9 -at_fn_group_banner 9 'DMRTest.at:221' \ +at_fn_group_banner 9 'DMRTest.at:240' \ "parse dmr-testsuite/test_simple_6.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2908,28 +2908,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:221: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:221" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:240: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:240" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:221" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:240" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:221: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:221" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:240: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:240" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:221" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:240" $at_failed && at_fn_log_failure $at_traceon; } @@ -2937,28 +2937,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:221: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:221" +$as_echo "$at_srcdir/DMRTest.at:240: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:240" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:221" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:240" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:221: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:221" +$as_echo "$at_srcdir/DMRTest.at:240: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:240" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:221" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:240" $at_failed && at_fn_log_failure $at_traceon; } @@ -2972,7 +2972,7 @@ read at_status <"$at_status_file" #AT_STOP_9 #AT_START_10 -at_fn_group_banner 10 'DMRTest.at:222' \ +at_fn_group_banner 10 'DMRTest.at:241' \ "parse dmr-testsuite/test_simple_7.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -2988,28 +2988,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:222: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:222" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:241: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:241" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:222" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:241" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:222: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:222" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:241: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:241" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:222" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:241" $at_failed && at_fn_log_failure $at_traceon; } @@ -3017,28 +3017,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:222: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:222" +$as_echo "$at_srcdir/DMRTest.at:241: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:241" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:222" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:241" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:222: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:222" +$as_echo "$at_srcdir/DMRTest.at:241: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:241" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:222" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:241" $at_failed && at_fn_log_failure $at_traceon; } @@ -3052,7 +3052,7 @@ read at_status <"$at_status_file" #AT_STOP_10 #AT_START_11 -at_fn_group_banner 11 'DMRTest.at:223' \ +at_fn_group_banner 11 'DMRTest.at:242' \ "parse dmr-testsuite/test_simple_8.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3068,28 +3068,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:223: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:223" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:242: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:242" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:223" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:242" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:223: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:223" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:242: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:242" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:223" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:242" $at_failed && at_fn_log_failure $at_traceon; } @@ -3097,28 +3097,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:223: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:223" +$as_echo "$at_srcdir/DMRTest.at:242: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:242" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:223" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:242" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:223: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:223" +$as_echo "$at_srcdir/DMRTest.at:242: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:242" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:223" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:242" $at_failed && at_fn_log_failure $at_traceon; } @@ -3132,7 +3132,7 @@ read at_status <"$at_status_file" #AT_STOP_11 #AT_START_12 -at_fn_group_banner 12 'DMRTest.at:224' \ +at_fn_group_banner 12 'DMRTest.at:243' \ "parse dmr-testsuite/test_simple_9.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3148,28 +3148,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:224: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:224" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:243: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:243" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:224" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:243" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:224: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:224" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:243: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:243" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:224" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:243" $at_failed && at_fn_log_failure $at_traceon; } @@ -3177,28 +3177,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:224: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:224" +$as_echo "$at_srcdir/DMRTest.at:243: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:243" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:224" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:243" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:224: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:224" +$as_echo "$at_srcdir/DMRTest.at:243: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:243" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:224" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:243" $at_failed && at_fn_log_failure $at_traceon; } @@ -3212,7 +3212,7 @@ read at_status <"$at_status_file" #AT_STOP_12 #AT_START_13 -at_fn_group_banner 13 'DMRTest.at:225' \ +at_fn_group_banner 13 'DMRTest.at:244' \ "parse dmr-testsuite/test_simple_9.1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3228,28 +3228,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:225: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:225" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:244: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:244" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:225" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:244" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:225: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:225" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:244: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:244" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:225" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:244" $at_failed && at_fn_log_failure $at_traceon; } @@ -3257,28 +3257,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:225: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:225" +$as_echo "$at_srcdir/DMRTest.at:244: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:244" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:225" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:244" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:225: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:225" +$as_echo "$at_srcdir/DMRTest.at:244: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:244" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:225" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:244" $at_failed && at_fn_log_failure $at_traceon; } @@ -3292,7 +3292,7 @@ read at_status <"$at_status_file" #AT_STOP_13 #AT_START_14 -at_fn_group_banner 14 'DMRTest.at:226' \ +at_fn_group_banner 14 'DMRTest.at:245' \ "parse dmr-testsuite/test_simple_10.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3308,28 +3308,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:226: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:226" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:245: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:245" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:226" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:245" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:226: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:226" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:245: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:245" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:226" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:245" $at_failed && at_fn_log_failure $at_traceon; } @@ -3337,28 +3337,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:226: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:226" +$as_echo "$at_srcdir/DMRTest.at:245: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:245" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:226" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:245" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:226: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:226" +$as_echo "$at_srcdir/DMRTest.at:245: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:245" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:226" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:245" $at_failed && at_fn_log_failure $at_traceon; } @@ -3372,7 +3372,7 @@ read at_status <"$at_status_file" #AT_STOP_14 #AT_START_15 -at_fn_group_banner 15 'DMRTest.at:228' \ +at_fn_group_banner 15 'DMRTest.at:247' \ "parse dmr-testsuite/test_array_1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3388,28 +3388,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:228: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:228" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:247: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:247" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:228" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:247" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:228: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:228" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:247: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:247" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:228" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:247" $at_failed && at_fn_log_failure $at_traceon; } @@ -3417,28 +3417,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:228: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:228" +$as_echo "$at_srcdir/DMRTest.at:247: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:247" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:228" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:247" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:228: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:228" +$as_echo "$at_srcdir/DMRTest.at:247: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:247" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:228" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:247" $at_failed && at_fn_log_failure $at_traceon; } @@ -3452,7 +3452,7 @@ read at_status <"$at_status_file" #AT_STOP_15 #AT_START_16 -at_fn_group_banner 16 'DMRTest.at:229' \ +at_fn_group_banner 16 'DMRTest.at:248' \ "parse dmr-testsuite/test_array_2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3468,28 +3468,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:229: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:229" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:248: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:248" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:229" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:248" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:229: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:229" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:248: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:248" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:229" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:248" $at_failed && at_fn_log_failure $at_traceon; } @@ -3497,28 +3497,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:229: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:229" +$as_echo "$at_srcdir/DMRTest.at:248: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:248" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:229" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:248" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:229: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:229" +$as_echo "$at_srcdir/DMRTest.at:248: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:248" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:229" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:248" $at_failed && at_fn_log_failure $at_traceon; } @@ -3532,7 +3532,7 @@ read at_status <"$at_status_file" #AT_STOP_16 #AT_START_17 -at_fn_group_banner 17 'DMRTest.at:230' \ +at_fn_group_banner 17 'DMRTest.at:249' \ "parse dmr-testsuite/test_array_3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3548,28 +3548,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:230: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:230" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:249: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:249" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:230" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:249" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:230: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:230" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:249: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:249" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:230" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:249" $at_failed && at_fn_log_failure $at_traceon; } @@ -3577,28 +3577,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:230: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:230" +$as_echo "$at_srcdir/DMRTest.at:249: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:249" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:230" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:249" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:230: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:230" +$as_echo "$at_srcdir/DMRTest.at:249: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:249" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:230" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:249" $at_failed && at_fn_log_failure $at_traceon; } @@ -3612,7 +3612,7 @@ read at_status <"$at_status_file" #AT_STOP_17 #AT_START_18 -at_fn_group_banner 18 'DMRTest.at:231' \ +at_fn_group_banner 18 'DMRTest.at:250' \ "parse dmr-testsuite/test_array_4.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3628,28 +3628,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:231: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:231" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:250: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:250" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:231" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:250" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:231: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:231" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:250: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:250" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:231" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:250" $at_failed && at_fn_log_failure $at_traceon; } @@ -3657,28 +3657,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:231: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:231" +$as_echo "$at_srcdir/DMRTest.at:250: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:250" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:231" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:250" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:231: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:231" +$as_echo "$at_srcdir/DMRTest.at:250: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:250" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:231" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:250" $at_failed && at_fn_log_failure $at_traceon; } @@ -3692,7 +3692,7 @@ read at_status <"$at_status_file" #AT_STOP_18 #AT_START_19 -at_fn_group_banner 19 'DMRTest.at:232' \ +at_fn_group_banner 19 'DMRTest.at:251' \ "parse dmr-testsuite/test_array_5.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3708,28 +3708,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:232: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:232" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:251: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:251" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:232" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:251" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:232: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:232" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:251: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:251" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:232" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:251" $at_failed && at_fn_log_failure $at_traceon; } @@ -3737,28 +3737,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:232: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:232" +$as_echo "$at_srcdir/DMRTest.at:251: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:251" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:232" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:251" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:232: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:232" +$as_echo "$at_srcdir/DMRTest.at:251: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:251" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:232" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:251" $at_failed && at_fn_log_failure $at_traceon; } @@ -3772,7 +3772,7 @@ read at_status <"$at_status_file" #AT_STOP_19 #AT_START_20 -at_fn_group_banner 20 'DMRTest.at:233' \ +at_fn_group_banner 20 'DMRTest.at:252' \ "parse dmr-testsuite/test_array_6.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3788,28 +3788,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:233: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:233" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:252: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:252" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:233" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:252" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:233: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:233" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:252: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:252" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:233" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:252" $at_failed && at_fn_log_failure $at_traceon; } @@ -3817,28 +3817,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:233: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:233" +$as_echo "$at_srcdir/DMRTest.at:252: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:252" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:233" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:252" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:233: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:233" +$as_echo "$at_srcdir/DMRTest.at:252: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:252" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:233" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:252" $at_failed && at_fn_log_failure $at_traceon; } @@ -3852,7 +3852,7 @@ read at_status <"$at_status_file" #AT_STOP_20 #AT_START_21 -at_fn_group_banner 21 'DMRTest.at:234' \ +at_fn_group_banner 21 'DMRTest.at:253' \ "parse dmr-testsuite/test_array_7.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3868,28 +3868,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:234: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:234" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:253: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:253" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:234" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:253" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:234: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:234" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:253: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:253" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:234" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:253" $at_failed && at_fn_log_failure $at_traceon; } @@ -3897,28 +3897,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:234: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:234" +$as_echo "$at_srcdir/DMRTest.at:253: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:253" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:234" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:253" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:234: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:234" +$as_echo "$at_srcdir/DMRTest.at:253: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:253" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:234" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:253" $at_failed && at_fn_log_failure $at_traceon; } @@ -3932,7 +3932,7 @@ read at_status <"$at_status_file" #AT_STOP_21 #AT_START_22 -at_fn_group_banner 22 'DMRTest.at:235' \ +at_fn_group_banner 22 'DMRTest.at:254' \ "parse dmr-testsuite/test_array_8.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -3948,28 +3948,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:235: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:235" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:254: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:254" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:235" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:254" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:235: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:235" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:254: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:254" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:235" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:254" $at_failed && at_fn_log_failure $at_traceon; } @@ -3977,28 +3977,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:235: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:235" +$as_echo "$at_srcdir/DMRTest.at:254: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:254" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:235" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:254" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:235: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:235" +$as_echo "$at_srcdir/DMRTest.at:254: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:254" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:235" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:254" $at_failed && at_fn_log_failure $at_traceon; } @@ -4012,7 +4012,7 @@ read at_status <"$at_status_file" #AT_STOP_22 #AT_START_23 -at_fn_group_banner 23 'DMRTest.at:236' \ +at_fn_group_banner 23 'DMRTest.at:255' \ "parse dmr-testsuite/test_array_10.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4028,28 +4028,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:236: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:236" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:255: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:255" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:236" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:255" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:236: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:236" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:255: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:255" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:236" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:255" $at_failed && at_fn_log_failure $at_traceon; } @@ -4057,28 +4057,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:236: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:236" +$as_echo "$at_srcdir/DMRTest.at:255: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:255" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:236" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:255" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:236: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:236" +$as_echo "$at_srcdir/DMRTest.at:255: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:255" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:236" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:255" $at_failed && at_fn_log_failure $at_traceon; } @@ -4092,7 +4092,7 @@ read at_status <"$at_status_file" #AT_STOP_23 #AT_START_24 -at_fn_group_banner 24 'DMRTest.at:237' \ +at_fn_group_banner 24 'DMRTest.at:256' \ "parse dmr-testsuite/test_array_11.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4108,28 +4108,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:237: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:237" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:256: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:256" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:237" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:256" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:237: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:237" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:256: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:256" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:237" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:256" $at_failed && at_fn_log_failure $at_traceon; } @@ -4137,28 +4137,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:237: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:237" +$as_echo "$at_srcdir/DMRTest.at:256: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:256" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:237" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:256" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:237: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:237" +$as_echo "$at_srcdir/DMRTest.at:256: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:256" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:237" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:256" $at_failed && at_fn_log_failure $at_traceon; } @@ -4172,7 +4172,7 @@ read at_status <"$at_status_file" #AT_STOP_24 #AT_START_25 -at_fn_group_banner 25 'DMRTest.at:239' \ +at_fn_group_banner 25 'DMRTest.at:258' \ "parse dmr-testsuite/ignore_foreign_xml_1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4188,28 +4188,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:239: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:239" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:258: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:258" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:239" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:258" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:239: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:239" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:258: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:258" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:239" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:258" $at_failed && at_fn_log_failure $at_traceon; } @@ -4217,28 +4217,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:239: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:239" +$as_echo "$at_srcdir/DMRTest.at:258: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:258" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:239" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:258" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:239: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:239" +$as_echo "$at_srcdir/DMRTest.at:258: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:258" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:239" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:258" $at_failed && at_fn_log_failure $at_traceon; } @@ -4252,7 +4252,7 @@ read at_status <"$at_status_file" #AT_STOP_25 #AT_START_26 -at_fn_group_banner 26 'DMRTest.at:240' \ +at_fn_group_banner 26 'DMRTest.at:259' \ "parse dmr-testsuite/ignore_foreign_xml_2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4268,28 +4268,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:240: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:240" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:259: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:259" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:240" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:259" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:240: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:240" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:259: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:259" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:240" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:259" $at_failed && at_fn_log_failure $at_traceon; } @@ -4297,28 +4297,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:240: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:240" +$as_echo "$at_srcdir/DMRTest.at:259: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:259" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:240" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:259" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:240: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:240" +$as_echo "$at_srcdir/DMRTest.at:259: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:259" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:240" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:259" $at_failed && at_fn_log_failure $at_traceon; } @@ -4332,7 +4332,7 @@ read at_status <"$at_status_file" #AT_STOP_26 #AT_START_27 -at_fn_group_banner 27 'DMRTest.at:241' \ +at_fn_group_banner 27 'DMRTest.at:260' \ "parse dmr-testsuite/ignore_foreign_xml_3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4348,28 +4348,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:241: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:241" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:260: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:260" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:241" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:260" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:241: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:241" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:260: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:260" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:241" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:260" $at_failed && at_fn_log_failure $at_traceon; } @@ -4377,28 +4377,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:241: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:241" +$as_echo "$at_srcdir/DMRTest.at:260: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:260" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:241" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:260" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:241: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:241" +$as_echo "$at_srcdir/DMRTest.at:260: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:260" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:241" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:260" $at_failed && at_fn_log_failure $at_traceon; } @@ -4412,7 +4412,7 @@ read at_status <"$at_status_file" #AT_STOP_27 #AT_START_28 -at_fn_group_banner 28 'DMRTest.at:251' \ +at_fn_group_banner 28 'DMRTest.at:270' \ "trans test_simple_1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4432,29 +4432,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:251: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:251" +$as_echo "$at_srcdir/DMRTest.at:270: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:270" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:251" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:270" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:251: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:251" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:270: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:270" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:251" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:270" $at_failed && at_fn_log_failure $at_traceon; } @@ -4462,28 +4465,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:251: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:251" +$as_echo "$at_srcdir/DMRTest.at:270: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:270" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:251" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:270" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:251: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:251" +$as_echo "$at_srcdir/DMRTest.at:270: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:270" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:251" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:270" $at_failed && at_fn_log_failure $at_traceon; } @@ -4498,7 +4501,7 @@ read at_status <"$at_status_file" #AT_STOP_28 #AT_START_29 -at_fn_group_banner 29 'DMRTest.at:252' \ +at_fn_group_banner 29 'DMRTest.at:271' \ "trans test_simple_2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4518,29 +4521,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:252: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:252" +$as_echo "$at_srcdir/DMRTest.at:271: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:271" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:252" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:271" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:252: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:252" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:271: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:271" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:252" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:271" $at_failed && at_fn_log_failure $at_traceon; } @@ -4548,28 +4554,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:252: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:252" +$as_echo "$at_srcdir/DMRTest.at:271: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:271" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:252" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:271" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:252: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:252" +$as_echo "$at_srcdir/DMRTest.at:271: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:271" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:252" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:271" $at_failed && at_fn_log_failure $at_traceon; } @@ -4584,7 +4590,7 @@ read at_status <"$at_status_file" #AT_STOP_29 #AT_START_30 -at_fn_group_banner 30 'DMRTest.at:253' \ +at_fn_group_banner 30 'DMRTest.at:272' \ "trans test_simple_3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4604,29 +4610,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:253: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:253" +$as_echo "$at_srcdir/DMRTest.at:272: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:272" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:253" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:272" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:253: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:253" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:272: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:272" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:253" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:272" $at_failed && at_fn_log_failure $at_traceon; } @@ -4634,28 +4643,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:253: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:253" +$as_echo "$at_srcdir/DMRTest.at:272: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:272" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:253" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:272" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:253: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:253" +$as_echo "$at_srcdir/DMRTest.at:272: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:272" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:253" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:272" $at_failed && at_fn_log_failure $at_traceon; } @@ -4670,7 +4679,7 @@ read at_status <"$at_status_file" #AT_STOP_30 #AT_START_31 -at_fn_group_banner 31 'DMRTest.at:254' \ +at_fn_group_banner 31 'DMRTest.at:273' \ "trans test_simple_4.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4690,29 +4699,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:254: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:254" +$as_echo "$at_srcdir/DMRTest.at:273: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:273" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:254" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:273" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:254: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:254" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:273: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:273" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:254" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:273" $at_failed && at_fn_log_failure $at_traceon; } @@ -4720,28 +4732,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:254: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:254" +$as_echo "$at_srcdir/DMRTest.at:273: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:273" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:254" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:273" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:254: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:254" +$as_echo "$at_srcdir/DMRTest.at:273: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:273" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:254" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:273" $at_failed && at_fn_log_failure $at_traceon; } @@ -4756,7 +4768,7 @@ read at_status <"$at_status_file" #AT_STOP_31 #AT_START_32 -at_fn_group_banner 32 'DMRTest.at:255' \ +at_fn_group_banner 32 'DMRTest.at:274' \ "trans test_simple_5.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4776,29 +4788,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:255: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:255" +$as_echo "$at_srcdir/DMRTest.at:274: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:274" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:255" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:274" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:255: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:255" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:274: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:274" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:255" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:274" $at_failed && at_fn_log_failure $at_traceon; } @@ -4806,28 +4821,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:255: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:255" +$as_echo "$at_srcdir/DMRTest.at:274: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:274" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:255" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:274" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:255: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:255" +$as_echo "$at_srcdir/DMRTest.at:274: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:274" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:255" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:274" $at_failed && at_fn_log_failure $at_traceon; } @@ -4842,7 +4857,7 @@ read at_status <"$at_status_file" #AT_STOP_32 #AT_START_33 -at_fn_group_banner 33 'DMRTest.at:256' \ +at_fn_group_banner 33 'DMRTest.at:275' \ "trans test_simple_6.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4862,29 +4877,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:256: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:256" +$as_echo "$at_srcdir/DMRTest.at:275: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:275" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:256" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:275" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:256: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:256" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:275: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:275" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:256" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:275" $at_failed && at_fn_log_failure $at_traceon; } @@ -4892,28 +4910,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:256: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:256" +$as_echo "$at_srcdir/DMRTest.at:275: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:275" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:256" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:275" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:256: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:256" +$as_echo "$at_srcdir/DMRTest.at:275: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:275" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:256" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:275" $at_failed && at_fn_log_failure $at_traceon; } @@ -4928,7 +4946,7 @@ read at_status <"$at_status_file" #AT_STOP_33 #AT_START_34 -at_fn_group_banner 34 'DMRTest.at:257' \ +at_fn_group_banner 34 'DMRTest.at:276' \ "trans test_simple_7.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -4948,29 +4966,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:257: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:257" +$as_echo "$at_srcdir/DMRTest.at:276: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:276" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:257" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:276" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:257: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:257" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:276: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:276" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:257" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:276" $at_failed && at_fn_log_failure $at_traceon; } @@ -4978,28 +4999,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:257: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:257" +$as_echo "$at_srcdir/DMRTest.at:276: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:276" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:257" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:276" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:257: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:257" +$as_echo "$at_srcdir/DMRTest.at:276: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:276" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:257" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:276" $at_failed && at_fn_log_failure $at_traceon; } @@ -5014,7 +5035,7 @@ read at_status <"$at_status_file" #AT_STOP_34 #AT_START_35 -at_fn_group_banner 35 'DMRTest.at:258' \ +at_fn_group_banner 35 'DMRTest.at:277' \ "trans test_simple_8.xml" " " at_xfail=no test "xfail" = "xfail" && at_xfail=yes @@ -5034,29 +5055,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:258: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:258" +$as_echo "$at_srcdir/DMRTest.at:277: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:277" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:258" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:277" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:258: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:258" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:277: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:277" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:258" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:277" $at_failed && at_fn_log_failure $at_traceon; } @@ -5064,28 +5088,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:258: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:258" +$as_echo "$at_srcdir/DMRTest.at:277: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:277" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:258" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:277" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:258: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:258" +$as_echo "$at_srcdir/DMRTest.at:277: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:277" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:258" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:277" $at_failed && at_fn_log_failure $at_traceon; } @@ -5100,7 +5124,7 @@ read at_status <"$at_status_file" #AT_STOP_35 #AT_START_36 -at_fn_group_banner 36 'DMRTest.at:259' \ +at_fn_group_banner 36 'DMRTest.at:278' \ "trans test_simple_9.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5120,29 +5144,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:259: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:259" +$as_echo "$at_srcdir/DMRTest.at:278: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:278" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:259" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:278" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:259: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:259" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:278: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:278" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:259" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:278" $at_failed && at_fn_log_failure $at_traceon; } @@ -5150,28 +5177,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:259: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:259" +$as_echo "$at_srcdir/DMRTest.at:278: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:278" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:259" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:278" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:259: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:259" +$as_echo "$at_srcdir/DMRTest.at:278: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:278" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:259" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:278" $at_failed && at_fn_log_failure $at_traceon; } @@ -5186,7 +5213,7 @@ read at_status <"$at_status_file" #AT_STOP_36 #AT_START_37 -at_fn_group_banner 37 'DMRTest.at:260' \ +at_fn_group_banner 37 'DMRTest.at:279' \ "trans test_simple_9.1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5206,29 +5233,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:260: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:260" +$as_echo "$at_srcdir/DMRTest.at:279: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:279" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:260" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:279" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:260: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:260" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:279: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:279" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:260" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:279" $at_failed && at_fn_log_failure $at_traceon; } @@ -5236,28 +5266,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:260: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:260" +$as_echo "$at_srcdir/DMRTest.at:279: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:279" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:260" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:279" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:260: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:260" +$as_echo "$at_srcdir/DMRTest.at:279: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:279" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:260" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:279" $at_failed && at_fn_log_failure $at_traceon; } @@ -5272,7 +5302,7 @@ read at_status <"$at_status_file" #AT_STOP_37 #AT_START_38 -at_fn_group_banner 38 'DMRTest.at:261' \ +at_fn_group_banner 38 'DMRTest.at:280' \ "trans test_simple_10.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5292,29 +5322,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:261: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:261" +$as_echo "$at_srcdir/DMRTest.at:280: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:280" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:261" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:280" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:261: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:261" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:280: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:280" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:261" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:280" $at_failed && at_fn_log_failure $at_traceon; } @@ -5322,28 +5355,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:261: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:261" +$as_echo "$at_srcdir/DMRTest.at:280: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:280" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:261" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:280" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:261: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:261" +$as_echo "$at_srcdir/DMRTest.at:280: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:280" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:261" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:280" $at_failed && at_fn_log_failure $at_traceon; } @@ -5358,7 +5391,7 @@ read at_status <"$at_status_file" #AT_STOP_38 #AT_START_39 -at_fn_group_banner 39 'DMRTest.at:263' \ +at_fn_group_banner 39 'DMRTest.at:282' \ "trans test_array_1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5378,29 +5411,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:263: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:263" +$as_echo "$at_srcdir/DMRTest.at:282: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:282" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:263" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:282" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:263: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:263" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:282: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:282" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:263" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:282" $at_failed && at_fn_log_failure $at_traceon; } @@ -5408,28 +5444,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:263: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:263" +$as_echo "$at_srcdir/DMRTest.at:282: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:282" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:263" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:282" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:263: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:263" +$as_echo "$at_srcdir/DMRTest.at:282: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:282" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:263" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:282" $at_failed && at_fn_log_failure $at_traceon; } @@ -5444,7 +5480,7 @@ read at_status <"$at_status_file" #AT_STOP_39 #AT_START_40 -at_fn_group_banner 40 'DMRTest.at:264' \ +at_fn_group_banner 40 'DMRTest.at:283' \ "trans test_array_2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5464,29 +5500,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:264: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:264" +$as_echo "$at_srcdir/DMRTest.at:283: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:283" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:264" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:283" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:264: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:264" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:283: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:283" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:264" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:283" $at_failed && at_fn_log_failure $at_traceon; } @@ -5494,28 +5533,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:264: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:264" +$as_echo "$at_srcdir/DMRTest.at:283: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:283" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:264" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:283" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:264: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:264" +$as_echo "$at_srcdir/DMRTest.at:283: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:283" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:264" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:283" $at_failed && at_fn_log_failure $at_traceon; } @@ -5530,7 +5569,7 @@ read at_status <"$at_status_file" #AT_STOP_40 #AT_START_41 -at_fn_group_banner 41 'DMRTest.at:265' \ +at_fn_group_banner 41 'DMRTest.at:284' \ "trans test_array_3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5550,29 +5589,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:265: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:265" +$as_echo "$at_srcdir/DMRTest.at:284: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:284" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:265" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:284" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:265: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:265" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:284: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:284" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:265" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:284" $at_failed && at_fn_log_failure $at_traceon; } @@ -5580,28 +5622,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:265: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:265" +$as_echo "$at_srcdir/DMRTest.at:284: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:284" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:265" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:284" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:265: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:265" +$as_echo "$at_srcdir/DMRTest.at:284: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:284" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:265" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:284" $at_failed && at_fn_log_failure $at_traceon; } @@ -5616,7 +5658,7 @@ read at_status <"$at_status_file" #AT_STOP_41 #AT_START_42 -at_fn_group_banner 42 'DMRTest.at:266' \ +at_fn_group_banner 42 'DMRTest.at:285' \ "trans test_array_4.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5636,29 +5678,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:266: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:266" +$as_echo "$at_srcdir/DMRTest.at:285: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:285" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:266" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:285" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:266: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:266" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:285: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:285" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:266" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:285" $at_failed && at_fn_log_failure $at_traceon; } @@ -5666,28 +5711,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:266: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:266" +$as_echo "$at_srcdir/DMRTest.at:285: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:285" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:266" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:285" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:266: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:266" +$as_echo "$at_srcdir/DMRTest.at:285: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:285" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:266" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:285" $at_failed && at_fn_log_failure $at_traceon; } @@ -5702,7 +5747,7 @@ read at_status <"$at_status_file" #AT_STOP_42 #AT_START_43 -at_fn_group_banner 43 'DMRTest.at:267' \ +at_fn_group_banner 43 'DMRTest.at:286' \ "trans test_array_5.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5722,29 +5767,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:267: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:267" +$as_echo "$at_srcdir/DMRTest.at:286: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:286" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:267" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:286" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:267: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:267" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:286: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:286" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:267" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:286" $at_failed && at_fn_log_failure $at_traceon; } @@ -5752,28 +5800,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:267: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:267" +$as_echo "$at_srcdir/DMRTest.at:286: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:286" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:267" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:286" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:267: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:267" +$as_echo "$at_srcdir/DMRTest.at:286: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:286" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:267" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:286" $at_failed && at_fn_log_failure $at_traceon; } @@ -5788,7 +5836,7 @@ read at_status <"$at_status_file" #AT_STOP_43 #AT_START_44 -at_fn_group_banner 44 'DMRTest.at:268' \ +at_fn_group_banner 44 'DMRTest.at:287' \ "trans test_array_6.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5808,29 +5856,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:268: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:268" +$as_echo "$at_srcdir/DMRTest.at:287: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:287" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:268" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:287" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:268: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:268" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:287: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:287" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:268" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:287" $at_failed && at_fn_log_failure $at_traceon; } @@ -5838,28 +5889,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:268: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:268" +$as_echo "$at_srcdir/DMRTest.at:287: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:287" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:268" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:287" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:268: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:268" +$as_echo "$at_srcdir/DMRTest.at:287: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:287" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:268" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:287" $at_failed && at_fn_log_failure $at_traceon; } @@ -5874,7 +5925,7 @@ read at_status <"$at_status_file" #AT_STOP_44 #AT_START_45 -at_fn_group_banner 45 'DMRTest.at:269' \ +at_fn_group_banner 45 'DMRTest.at:288' \ "trans test_array_7.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5894,29 +5945,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:269: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:269" +$as_echo "$at_srcdir/DMRTest.at:288: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:288" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:269" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:288" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:269: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:269" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:288: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:288" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:269" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:288" $at_failed && at_fn_log_failure $at_traceon; } @@ -5924,28 +5978,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:269: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:269" +$as_echo "$at_srcdir/DMRTest.at:288: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:288" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:269" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:288" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:269: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:269" +$as_echo "$at_srcdir/DMRTest.at:288: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:288" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:269" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:288" $at_failed && at_fn_log_failure $at_traceon; } @@ -5960,7 +6014,7 @@ read at_status <"$at_status_file" #AT_STOP_45 #AT_START_46 -at_fn_group_banner 46 'DMRTest.at:270' \ +at_fn_group_banner 46 'DMRTest.at:289' \ "trans test_array_8.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -5980,29 +6034,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:270: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:270" +$as_echo "$at_srcdir/DMRTest.at:289: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:289" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:270" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:289" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:270: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:270" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:289: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:289" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:270" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:289" $at_failed && at_fn_log_failure $at_traceon; } @@ -6010,28 +6067,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:270: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:270" +$as_echo "$at_srcdir/DMRTest.at:289: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:289" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:270" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:289" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:270: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:270" +$as_echo "$at_srcdir/DMRTest.at:289: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:289" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:270" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:289" $at_failed && at_fn_log_failure $at_traceon; } @@ -6046,7 +6103,7 @@ read at_status <"$at_status_file" #AT_STOP_46 #AT_START_47 -at_fn_group_banner 47 'DMRTest.at:271' \ +at_fn_group_banner 47 'DMRTest.at:290' \ "trans test_array_10.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6066,29 +6123,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:271: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:271" +$as_echo "$at_srcdir/DMRTest.at:290: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:290" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:271" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:290" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:271: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:271" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:290: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:290" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:271" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:290" $at_failed && at_fn_log_failure $at_traceon; } @@ -6096,28 +6156,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:271: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:271" +$as_echo "$at_srcdir/DMRTest.at:290: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:290" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:271" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:290" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:271: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:271" +$as_echo "$at_srcdir/DMRTest.at:290: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:290" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:271" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:290" $at_failed && at_fn_log_failure $at_traceon; } @@ -6132,7 +6192,7 @@ read at_status <"$at_status_file" #AT_STOP_47 #AT_START_48 -at_fn_group_banner 48 'DMRTest.at:272' \ +at_fn_group_banner 48 'DMRTest.at:291' \ "trans test_array_11.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6152,29 +6212,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:272: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:272" +$as_echo "$at_srcdir/DMRTest.at:291: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:291" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:272" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:291" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:272: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:272" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:291: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:291" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:272" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:291" $at_failed && at_fn_log_failure $at_traceon; } @@ -6182,28 +6245,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:272: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:272" +$as_echo "$at_srcdir/DMRTest.at:291: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:291" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:272" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:291" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:272: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:272" +$as_echo "$at_srcdir/DMRTest.at:291: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:291" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:272" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:291" $at_failed && at_fn_log_failure $at_traceon; } @@ -6218,7 +6281,7 @@ read at_status <"$at_status_file" #AT_STOP_48 #AT_START_49 -at_fn_group_banner 49 'DMRTest.at:274' \ +at_fn_group_banner 49 'DMRTest.at:293' \ "intern test_simple_1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6237,29 +6300,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:274: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:274" +$as_echo "$at_srcdir/DMRTest.at:293: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:293" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:274" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:293" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:274: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:274" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:293: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:293" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:274" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:293" $at_failed && at_fn_log_failure $at_traceon; } @@ -6267,28 +6333,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:274: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:274" +$as_echo "$at_srcdir/DMRTest.at:293: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:293" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:274" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:293" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:274: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:274" +$as_echo "$at_srcdir/DMRTest.at:293: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:293" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:274" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:293" $at_failed && at_fn_log_failure $at_traceon; } @@ -6303,7 +6369,7 @@ read at_status <"$at_status_file" #AT_STOP_49 #AT_START_50 -at_fn_group_banner 50 'DMRTest.at:275' \ +at_fn_group_banner 50 'DMRTest.at:294' \ "intern test_simple_2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6322,29 +6388,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:275: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:275" +$as_echo "$at_srcdir/DMRTest.at:294: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:294" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:275" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:294" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:275: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:275" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:294: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:294" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:275" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:294" $at_failed && at_fn_log_failure $at_traceon; } @@ -6352,28 +6421,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:275: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:275" +$as_echo "$at_srcdir/DMRTest.at:294: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:294" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:275" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:294" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:275: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:275" +$as_echo "$at_srcdir/DMRTest.at:294: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:294" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:275" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:294" $at_failed && at_fn_log_failure $at_traceon; } @@ -6388,7 +6457,7 @@ read at_status <"$at_status_file" #AT_STOP_50 #AT_START_51 -at_fn_group_banner 51 'DMRTest.at:276' \ +at_fn_group_banner 51 'DMRTest.at:295' \ "intern test_simple_3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6407,29 +6476,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:276: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:276" +$as_echo "$at_srcdir/DMRTest.at:295: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:295" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:276" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:295" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:276: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:276" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:295: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:295" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:276" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:295" $at_failed && at_fn_log_failure $at_traceon; } @@ -6437,28 +6509,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:276: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:276" +$as_echo "$at_srcdir/DMRTest.at:295: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:295" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:276" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:295" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:276: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:276" +$as_echo "$at_srcdir/DMRTest.at:295: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:295" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:276" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:295" $at_failed && at_fn_log_failure $at_traceon; } @@ -6473,7 +6545,7 @@ read at_status <"$at_status_file" #AT_STOP_51 #AT_START_52 -at_fn_group_banner 52 'DMRTest.at:277' \ +at_fn_group_banner 52 'DMRTest.at:296' \ "intern test_simple_4.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6492,29 +6564,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:277: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:277" +$as_echo "$at_srcdir/DMRTest.at:296: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:296" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:277" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:296" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:277: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:277" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:296: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:296" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:277" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:296" $at_failed && at_fn_log_failure $at_traceon; } @@ -6522,28 +6597,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:277: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:277" +$as_echo "$at_srcdir/DMRTest.at:296: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:296" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:277" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:296" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:277: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:277" +$as_echo "$at_srcdir/DMRTest.at:296: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:296" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:277" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:296" $at_failed && at_fn_log_failure $at_traceon; } @@ -6558,7 +6633,7 @@ read at_status <"$at_status_file" #AT_STOP_52 #AT_START_53 -at_fn_group_banner 53 'DMRTest.at:278' \ +at_fn_group_banner 53 'DMRTest.at:297' \ "intern test_simple_5.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6577,29 +6652,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:278: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:278" +$as_echo "$at_srcdir/DMRTest.at:297: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:297" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:278" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:297" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:278: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:278" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:297: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:297" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:278" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:297" $at_failed && at_fn_log_failure $at_traceon; } @@ -6607,28 +6685,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:278: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:278" +$as_echo "$at_srcdir/DMRTest.at:297: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:297" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:278" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:297" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:278: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:278" +$as_echo "$at_srcdir/DMRTest.at:297: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:297" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:278" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:297" $at_failed && at_fn_log_failure $at_traceon; } @@ -6643,7 +6721,7 @@ read at_status <"$at_status_file" #AT_STOP_53 #AT_START_54 -at_fn_group_banner 54 'DMRTest.at:279' \ +at_fn_group_banner 54 'DMRTest.at:298' \ "intern test_simple_6.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6662,29 +6740,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:279: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:279" +$as_echo "$at_srcdir/DMRTest.at:298: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:298" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:279" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:298" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:279: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:279" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:298: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:298" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:279" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:298" $at_failed && at_fn_log_failure $at_traceon; } @@ -6692,28 +6773,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:279: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:279" +$as_echo "$at_srcdir/DMRTest.at:298: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:298" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:279" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:298" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:279: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:279" +$as_echo "$at_srcdir/DMRTest.at:298: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:298" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:279" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:298" $at_failed && at_fn_log_failure $at_traceon; } @@ -6728,7 +6809,7 @@ read at_status <"$at_status_file" #AT_STOP_54 #AT_START_55 -at_fn_group_banner 55 'DMRTest.at:280' \ +at_fn_group_banner 55 'DMRTest.at:299' \ "intern test_simple_7.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6747,29 +6828,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:280: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:280" +$as_echo "$at_srcdir/DMRTest.at:299: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:299" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:280" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:299" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:280: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:280" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:299: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:299" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:280" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:299" $at_failed && at_fn_log_failure $at_traceon; } @@ -6777,28 +6861,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:280: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:280" +$as_echo "$at_srcdir/DMRTest.at:299: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:299" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:280" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:299" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:280: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:280" +$as_echo "$at_srcdir/DMRTest.at:299: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:299" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:280" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:299" $at_failed && at_fn_log_failure $at_traceon; } @@ -6813,7 +6897,7 @@ read at_status <"$at_status_file" #AT_STOP_55 #AT_START_56 -at_fn_group_banner 56 'DMRTest.at:281' \ +at_fn_group_banner 56 'DMRTest.at:300' \ "intern test_simple_8.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6832,29 +6916,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:281: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:281" +$as_echo "$at_srcdir/DMRTest.at:300: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:300" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:281" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:300" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:281: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:281" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:300: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:300" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:281" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:300" $at_failed && at_fn_log_failure $at_traceon; } @@ -6862,28 +6949,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:281: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:281" +$as_echo "$at_srcdir/DMRTest.at:300: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:300" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:281" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:300" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:281: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:281" +$as_echo "$at_srcdir/DMRTest.at:300: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:300" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:281" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:300" $at_failed && at_fn_log_failure $at_traceon; } @@ -6898,7 +6985,7 @@ read at_status <"$at_status_file" #AT_STOP_56 #AT_START_57 -at_fn_group_banner 57 'DMRTest.at:282' \ +at_fn_group_banner 57 'DMRTest.at:301' \ "intern test_simple_9.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -6917,29 +7004,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:282: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:282" +$as_echo "$at_srcdir/DMRTest.at:301: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:301" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:282" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:301" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:282: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:282" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:301: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:301" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:282" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:301" $at_failed && at_fn_log_failure $at_traceon; } @@ -6947,28 +7037,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:282: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:282" +$as_echo "$at_srcdir/DMRTest.at:301: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:301" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:282" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:301" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:282: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:282" +$as_echo "$at_srcdir/DMRTest.at:301: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:301" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:282" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:301" $at_failed && at_fn_log_failure $at_traceon; } @@ -6983,7 +7073,7 @@ read at_status <"$at_status_file" #AT_STOP_57 #AT_START_58 -at_fn_group_banner 58 'DMRTest.at:283' \ +at_fn_group_banner 58 'DMRTest.at:302' \ "intern test_simple_9.1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7002,29 +7092,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:283: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:283" +$as_echo "$at_srcdir/DMRTest.at:302: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:302" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:283" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:302" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:283: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:283" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:302: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:302" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:283" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:302" $at_failed && at_fn_log_failure $at_traceon; } @@ -7032,28 +7125,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:283: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:283" +$as_echo "$at_srcdir/DMRTest.at:302: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:302" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:283" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:302" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:283: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:283" +$as_echo "$at_srcdir/DMRTest.at:302: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:302" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:283" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:302" $at_failed && at_fn_log_failure $at_traceon; } @@ -7068,7 +7161,7 @@ read at_status <"$at_status_file" #AT_STOP_58 #AT_START_59 -at_fn_group_banner 59 'DMRTest.at:284' \ +at_fn_group_banner 59 'DMRTest.at:303' \ "intern test_simple_10.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7087,29 +7180,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:284: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:284" +$as_echo "$at_srcdir/DMRTest.at:303: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:303" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:284" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:303" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:284: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:284" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:303: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:303" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:284" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:303" $at_failed && at_fn_log_failure $at_traceon; } @@ -7117,28 +7213,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:284: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:284" +$as_echo "$at_srcdir/DMRTest.at:303: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:303" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:284" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:303" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:284: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:284" +$as_echo "$at_srcdir/DMRTest.at:303: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:303" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:284" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:303" $at_failed && at_fn_log_failure $at_traceon; } @@ -7153,7 +7249,7 @@ read at_status <"$at_status_file" #AT_STOP_59 #AT_START_60 -at_fn_group_banner 60 'DMRTest.at:286' \ +at_fn_group_banner 60 'DMRTest.at:305' \ "intern test_array_1.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7172,29 +7268,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:286: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:286" +$as_echo "$at_srcdir/DMRTest.at:305: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:305" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:286" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:305" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:286: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:286" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:305: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:305" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:286" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:305" $at_failed && at_fn_log_failure $at_traceon; } @@ -7202,28 +7301,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:286: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:286" +$as_echo "$at_srcdir/DMRTest.at:305: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:305" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:286" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:305" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:286: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:286" +$as_echo "$at_srcdir/DMRTest.at:305: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:305" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:286" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:305" $at_failed && at_fn_log_failure $at_traceon; } @@ -7238,7 +7337,7 @@ read at_status <"$at_status_file" #AT_STOP_60 #AT_START_61 -at_fn_group_banner 61 'DMRTest.at:287' \ +at_fn_group_banner 61 'DMRTest.at:306' \ "intern test_array_2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7257,29 +7356,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:287: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:287" +$as_echo "$at_srcdir/DMRTest.at:306: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:306" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:287" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:306" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:287: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:287" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:306: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:306" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:287" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:306" $at_failed && at_fn_log_failure $at_traceon; } @@ -7287,28 +7389,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:287: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:287" +$as_echo "$at_srcdir/DMRTest.at:306: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:306" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:287" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:306" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:287: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:287" +$as_echo "$at_srcdir/DMRTest.at:306: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:306" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:287" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:306" $at_failed && at_fn_log_failure $at_traceon; } @@ -7323,7 +7425,7 @@ read at_status <"$at_status_file" #AT_STOP_61 #AT_START_62 -at_fn_group_banner 62 'DMRTest.at:288' \ +at_fn_group_banner 62 'DMRTest.at:307' \ "intern test_array_3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7342,29 +7444,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:288: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:288" +$as_echo "$at_srcdir/DMRTest.at:307: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:307" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:288" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:307" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:288: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:288" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:307: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:307" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:288" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:307" $at_failed && at_fn_log_failure $at_traceon; } @@ -7372,28 +7477,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:288: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:288" +$as_echo "$at_srcdir/DMRTest.at:307: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:307" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:288" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:307" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:288: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:288" +$as_echo "$at_srcdir/DMRTest.at:307: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:307" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:288" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:307" $at_failed && at_fn_log_failure $at_traceon; } @@ -7408,7 +7513,7 @@ read at_status <"$at_status_file" #AT_STOP_62 #AT_START_63 -at_fn_group_banner 63 'DMRTest.at:289' \ +at_fn_group_banner 63 'DMRTest.at:308' \ "intern test_array_4.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7427,29 +7532,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:289: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:289" +$as_echo "$at_srcdir/DMRTest.at:308: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:308" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:289" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:308" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:289: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:289" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:308: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:308" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:289" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:308" $at_failed && at_fn_log_failure $at_traceon; } @@ -7457,28 +7565,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:289: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:289" +$as_echo "$at_srcdir/DMRTest.at:308: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:308" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:289" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:308" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:289: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:289" +$as_echo "$at_srcdir/DMRTest.at:308: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:308" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:289" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:308" $at_failed && at_fn_log_failure $at_traceon; } @@ -7493,7 +7601,7 @@ read at_status <"$at_status_file" #AT_STOP_63 #AT_START_64 -at_fn_group_banner 64 'DMRTest.at:290' \ +at_fn_group_banner 64 'DMRTest.at:309' \ "intern test_array_5.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7512,29 +7620,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:290: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:290" +$as_echo "$at_srcdir/DMRTest.at:309: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:309" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:290" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:309" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:290: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:290" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:309: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:309" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:290" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:309" $at_failed && at_fn_log_failure $at_traceon; } @@ -7542,28 +7653,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:290: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:290" +$as_echo "$at_srcdir/DMRTest.at:309: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:309" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:290" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:309" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:290: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:290" +$as_echo "$at_srcdir/DMRTest.at:309: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:309" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:290" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:309" $at_failed && at_fn_log_failure $at_traceon; } @@ -7578,7 +7689,7 @@ read at_status <"$at_status_file" #AT_STOP_64 #AT_START_65 -at_fn_group_banner 65 'DMRTest.at:291' \ +at_fn_group_banner 65 'DMRTest.at:310' \ "intern test_array_6.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7597,29 +7708,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:291: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:291" +$as_echo "$at_srcdir/DMRTest.at:310: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:310" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:291" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:310" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:291: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:291" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:310: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:310" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:291" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:310" $at_failed && at_fn_log_failure $at_traceon; } @@ -7627,28 +7741,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:291: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:291" +$as_echo "$at_srcdir/DMRTest.at:310: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:310" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:291" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:310" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:291: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:291" +$as_echo "$at_srcdir/DMRTest.at:310: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:310" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:291" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:310" $at_failed && at_fn_log_failure $at_traceon; } @@ -7663,7 +7777,7 @@ read at_status <"$at_status_file" #AT_STOP_65 #AT_START_66 -at_fn_group_banner 66 'DMRTest.at:292' \ +at_fn_group_banner 66 'DMRTest.at:311' \ "intern test_array_7.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7682,29 +7796,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:292: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:292" +$as_echo "$at_srcdir/DMRTest.at:311: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:311" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:292" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:311" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:292: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:292" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:311: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:311" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:292" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:311" $at_failed && at_fn_log_failure $at_traceon; } @@ -7712,28 +7829,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:292: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:292" +$as_echo "$at_srcdir/DMRTest.at:311: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:311" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:292" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:311" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:292: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:292" +$as_echo "$at_srcdir/DMRTest.at:311: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:311" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:292" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:311" $at_failed && at_fn_log_failure $at_traceon; } @@ -7748,7 +7865,7 @@ read at_status <"$at_status_file" #AT_STOP_66 #AT_START_67 -at_fn_group_banner 67 'DMRTest.at:293' \ +at_fn_group_banner 67 'DMRTest.at:312' \ "intern test_array_8.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7767,29 +7884,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:293: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:293" +$as_echo "$at_srcdir/DMRTest.at:312: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:312" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:293" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:312" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:293: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:293" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:312: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:312" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:293" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:312" $at_failed && at_fn_log_failure $at_traceon; } @@ -7797,28 +7917,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:293: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:293" +$as_echo "$at_srcdir/DMRTest.at:312: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:312" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:293" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:312" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:293: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:293" +$as_echo "$at_srcdir/DMRTest.at:312: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:312" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:293" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:312" $at_failed && at_fn_log_failure $at_traceon; } @@ -7833,7 +7953,7 @@ read at_status <"$at_status_file" #AT_STOP_67 #AT_START_68 -at_fn_group_banner 68 'DMRTest.at:294' \ +at_fn_group_banner 68 'DMRTest.at:313' \ "intern test_array_10.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7852,29 +7972,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:294: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:294" +$as_echo "$at_srcdir/DMRTest.at:313: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:313" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:294" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:313" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:294: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:294" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:313: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:313" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:294" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:313" $at_failed && at_fn_log_failure $at_traceon; } @@ -7882,28 +8005,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:294: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:294" +$as_echo "$at_srcdir/DMRTest.at:313: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:313" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:294" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:313" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:294: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:294" +$as_echo "$at_srcdir/DMRTest.at:313: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:313" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:294" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:313" $at_failed && at_fn_log_failure $at_traceon; } @@ -7918,7 +8041,7 @@ read at_status <"$at_status_file" #AT_STOP_68 #AT_START_69 -at_fn_group_banner 69 'DMRTest.at:295' \ +at_fn_group_banner 69 'DMRTest.at:314' \ "intern test_array_11.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -7937,29 +8060,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:295: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:295" +$as_echo "$at_srcdir/DMRTest.at:314: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:314" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:295" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:314" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:295: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:295" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:314: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:314" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:295" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:314" $at_failed && at_fn_log_failure $at_traceon; } @@ -7967,28 +8093,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:295: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:295" +$as_echo "$at_srcdir/DMRTest.at:314: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:314" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:295" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:314" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:295: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:295" +$as_echo "$at_srcdir/DMRTest.at:314: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:314" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:295" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:314" $at_failed && at_fn_log_failure $at_traceon; } @@ -8003,7 +8129,7 @@ read at_status <"$at_status_file" #AT_STOP_69 #AT_START_70 -at_fn_group_banner 70 'DMRTest.at:298' \ +at_fn_group_banner 70 'DMRTest.at:317' \ "parse dmr-testsuite/test_array_9.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8019,28 +8145,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:298: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:298" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:317: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:317" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:298" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:317" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:298: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:298" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:317: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:317" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:298" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:317" $at_failed && at_fn_log_failure $at_traceon; } @@ -8048,28 +8174,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:298: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:298" +$as_echo "$at_srcdir/DMRTest.at:317: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:317" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:298" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:317" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:298: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:298" +$as_echo "$at_srcdir/DMRTest.at:317: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:317" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:298" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:317" $at_failed && at_fn_log_failure $at_traceon; } @@ -8083,7 +8209,7 @@ read at_status <"$at_status_file" #AT_STOP_70 #AT_START_71 -at_fn_group_banner 71 'DMRTest.at:299' \ +at_fn_group_banner 71 'DMRTest.at:318' \ "parse dmr-testsuite/test_array_12.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8099,28 +8225,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:299: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:299" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:318: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:318" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:299" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:318" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:299: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:299" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:318: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:318" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:299" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:318" $at_failed && at_fn_log_failure $at_traceon; } @@ -8128,28 +8254,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:299: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:299" +$as_echo "$at_srcdir/DMRTest.at:318: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:318" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:299" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:318" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:299: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:299" +$as_echo "$at_srcdir/DMRTest.at:318: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:318" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:299" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:318" $at_failed && at_fn_log_failure $at_traceon; } @@ -8163,7 +8289,7 @@ read at_status <"$at_status_file" #AT_STOP_71 #AT_START_72 -at_fn_group_banner 72 'DMRTest.at:300' \ +at_fn_group_banner 72 'DMRTest.at:319' \ "parse dmr-testsuite/test_array_13.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8179,28 +8305,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:300: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:300" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:319: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:319" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:300" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:319" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:300: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:300" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:319: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:319" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:300" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:319" $at_failed && at_fn_log_failure $at_traceon; } @@ -8208,28 +8334,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:300: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:300" +$as_echo "$at_srcdir/DMRTest.at:319: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:319" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:300" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:319" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:300: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:300" +$as_echo "$at_srcdir/DMRTest.at:319: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:319" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:300" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:319" $at_failed && at_fn_log_failure $at_traceon; } @@ -8243,7 +8369,7 @@ read at_status <"$at_status_file" #AT_STOP_72 #AT_START_73 -at_fn_group_banner 73 'DMRTest.at:301' \ +at_fn_group_banner 73 'DMRTest.at:320' \ "parse dmr-testsuite/test_array_14.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8259,28 +8385,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:301: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:301" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:320: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:320" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:301" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:320" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:301: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:301" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:320: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:320" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:301" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:320" $at_failed && at_fn_log_failure $at_traceon; } @@ -8288,28 +8414,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:301: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:301" +$as_echo "$at_srcdir/DMRTest.at:320: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:320" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:301" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:320" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:301: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:301" +$as_echo "$at_srcdir/DMRTest.at:320: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:320" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:301" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:320" $at_failed && at_fn_log_failure $at_traceon; } @@ -8323,7 +8449,7 @@ read at_status <"$at_status_file" #AT_STOP_73 #AT_START_74 -at_fn_group_banner 74 'DMRTest.at:304' \ +at_fn_group_banner 74 'DMRTest.at:323' \ "parse dmr-testsuite/test_simple_6.2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8339,28 +8465,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:304: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:304" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:323: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:323" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:304" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:323" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:304: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:304" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:323: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:323" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:304" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:323" $at_failed && at_fn_log_failure $at_traceon; } @@ -8368,28 +8494,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:304: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:304" +$as_echo "$at_srcdir/DMRTest.at:323: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:323" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:304" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:323" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:304: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:304" +$as_echo "$at_srcdir/DMRTest.at:323: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:323" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:304" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:323" $at_failed && at_fn_log_failure $at_traceon; } @@ -8403,7 +8529,7 @@ read at_status <"$at_status_file" #AT_STOP_74 #AT_START_75 -at_fn_group_banner 75 'DMRTest.at:305' \ +at_fn_group_banner 75 'DMRTest.at:324' \ "parse dmr-testsuite/test_simple_6.3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8419,28 +8545,28 @@ if test -n "$baselines" -a x$baselines = xyes; then : { set +x -$as_echo "$at_srcdir/DMRTest.at:305: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:305" -( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true +$as_echo "$at_srcdir/DMRTest.at:324: \$abs_builddir/dmr-test -x -p \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input" "DMRTest.at:324" +( $at_check_trace; $abs_builddir/dmr-test -x -p $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:305" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:324" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:305: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:305" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:324: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:324" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:305" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:324" $at_failed && at_fn_log_failure $at_traceon; } @@ -8448,28 +8574,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:305: \$abs_builddir/dmr-test -x -p \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:305" +$as_echo "$at_srcdir/DMRTest.at:324: \$abs_builddir/dmr-test -x -p \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -p $input || true" "DMRTest.at:324" ( $at_check_trace; $abs_builddir/dmr-test -x -p $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:305" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:324" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:305: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:305" +$as_echo "$at_srcdir/DMRTest.at:324: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:324" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:305" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:324" $at_failed && at_fn_log_failure $at_traceon; } @@ -8483,7 +8609,7 @@ read at_status <"$at_status_file" #AT_STOP_75 #AT_START_76 -at_fn_group_banner 76 'DMRTest.at:307' \ +at_fn_group_banner 76 'DMRTest.at:326' \ "trans test_array_9.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8503,29 +8629,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:307: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:307" +$as_echo "$at_srcdir/DMRTest.at:326: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:326" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:307" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:326" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:307: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:307" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:326: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:326" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:307" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:326" $at_failed && at_fn_log_failure $at_traceon; } @@ -8533,28 +8662,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:307: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:307" +$as_echo "$at_srcdir/DMRTest.at:326: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:326" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:307" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:326" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:307: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:307" +$as_echo "$at_srcdir/DMRTest.at:326: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:326" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:307" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:326" $at_failed && at_fn_log_failure $at_traceon; } @@ -8569,7 +8698,7 @@ read at_status <"$at_status_file" #AT_STOP_76 #AT_START_77 -at_fn_group_banner 77 'DMRTest.at:308' \ +at_fn_group_banner 77 'DMRTest.at:327' \ "trans test_array_12.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8589,29 +8718,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:308: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:308" +$as_echo "$at_srcdir/DMRTest.at:327: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:327" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:308" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:327" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:308: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:308" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:327: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:327" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:308" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:327" $at_failed && at_fn_log_failure $at_traceon; } @@ -8619,28 +8751,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:308: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:308" +$as_echo "$at_srcdir/DMRTest.at:327: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:327" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:308" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:327" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:308: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:308" +$as_echo "$at_srcdir/DMRTest.at:327: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:327" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:308" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:327" $at_failed && at_fn_log_failure $at_traceon; } @@ -8655,7 +8787,7 @@ read at_status <"$at_status_file" #AT_STOP_77 #AT_START_78 -at_fn_group_banner 78 'DMRTest.at:309' \ +at_fn_group_banner 78 'DMRTest.at:328' \ "trans test_array_13.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8675,29 +8807,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:309: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:309" +$as_echo "$at_srcdir/DMRTest.at:328: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:328" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:309" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:328" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:309: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:309" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:328: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:328" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:309" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:328" $at_failed && at_fn_log_failure $at_traceon; } @@ -8705,28 +8840,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:309: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:309" +$as_echo "$at_srcdir/DMRTest.at:328: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:328" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:309" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:328" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:309: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:309" +$as_echo "$at_srcdir/DMRTest.at:328: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:328" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:309" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:328" $at_failed && at_fn_log_failure $at_traceon; } @@ -8741,7 +8876,7 @@ read at_status <"$at_status_file" #AT_STOP_78 #AT_START_79 -at_fn_group_banner 79 'DMRTest.at:310' \ +at_fn_group_banner 79 'DMRTest.at:329' \ "trans test_array_14.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8761,29 +8896,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:310: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:310" +$as_echo "$at_srcdir/DMRTest.at:329: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:329" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:310" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:329" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:310: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:310" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:329: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:329" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:310" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:329" $at_failed && at_fn_log_failure $at_traceon; } @@ -8791,28 +8929,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:310: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:310" +$as_echo "$at_srcdir/DMRTest.at:329: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:329" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:310" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:329" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:310: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:310" +$as_echo "$at_srcdir/DMRTest.at:329: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:329" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:310" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:329" $at_failed && at_fn_log_failure $at_traceon; } @@ -8827,7 +8965,7 @@ read at_status <"$at_status_file" #AT_STOP_79 #AT_START_80 -at_fn_group_banner 80 'DMRTest.at:312' \ +at_fn_group_banner 80 'DMRTest.at:331' \ "trans test_simple_6.2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8847,29 +8985,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:312: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:312" +$as_echo "$at_srcdir/DMRTest.at:331: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:331" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:312" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:331" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:312: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:312" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:331: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:331" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:312" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:331" $at_failed && at_fn_log_failure $at_traceon; } @@ -8877,28 +9018,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:312: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:312" +$as_echo "$at_srcdir/DMRTest.at:331: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:331" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:312" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:331" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:312: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:312" +$as_echo "$at_srcdir/DMRTest.at:331: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:331" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:312" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:331" $at_failed && at_fn_log_failure $at_traceon; } @@ -8913,7 +9054,7 @@ read at_status <"$at_status_file" #AT_STOP_80 #AT_START_81 -at_fn_group_banner 81 'DMRTest.at:313' \ +at_fn_group_banner 81 'DMRTest.at:332' \ "trans test_simple_6.3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -8933,29 +9074,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:313: \$abs_builddir/dmr-test -x -t \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:313" +$as_echo "$at_srcdir/DMRTest.at:332: \$abs_builddir/dmr-test -x -t \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input" "DMRTest.at:332" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:313" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:332" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:313: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:313" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:332: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:332" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:313" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:332" $at_failed && at_fn_log_failure $at_traceon; } @@ -8963,28 +9107,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:313: \$abs_builddir/dmr-test -x -t \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:313" +$as_echo "$at_srcdir/DMRTest.at:332: \$abs_builddir/dmr-test -x -t \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input || true" "DMRTest.at:332" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:313" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:332" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:313: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:313" +$as_echo "$at_srcdir/DMRTest.at:332: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:332" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:313" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:332" $at_failed && at_fn_log_failure $at_traceon; } @@ -8999,7 +9143,7 @@ read at_status <"$at_status_file" #AT_STOP_81 #AT_START_82 -at_fn_group_banner 82 'DMRTest.at:316' \ +at_fn_group_banner 82 'DMRTest.at:335' \ "trans test_array_9.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9020,29 +9164,33 @@ if test -n "$baselines" -a x$baselines = xyes; then : echo "The command <>$abs_builddir/dmr-test -x -t $input $checksum_filt<>" + + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:316: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:316" +$as_echo "$at_srcdir/DMRTest.at:335: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:335" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:316" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:335" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:316: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:316" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:335: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:335" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:316" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:335" $at_failed && at_fn_log_failure $at_traceon; } @@ -9050,28 +9198,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:316: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:316" +$as_echo "$at_srcdir/DMRTest.at:335: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:335" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; cat "$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:316" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:335" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:316: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:316" +$as_echo "$at_srcdir/DMRTest.at:335: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:335" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:316" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:335" $at_failed && at_fn_log_failure $at_traceon; } @@ -9086,7 +9234,7 @@ read at_status <"$at_status_file" #AT_STOP_82 #AT_START_83 -at_fn_group_banner 83 'DMRTest.at:317' \ +at_fn_group_banner 83 'DMRTest.at:336' \ "trans test_array_12.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9107,29 +9255,33 @@ if test -n "$baselines" -a x$baselines = xyes; then : echo "The command <>$abs_builddir/dmr-test -x -t $input $checksum_filt<>" + + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:317: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:317" +$as_echo "$at_srcdir/DMRTest.at:336: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:336" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:317" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:336" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:317: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:317" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:336: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:336" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:317" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:336" $at_failed && at_fn_log_failure $at_traceon; } @@ -9137,28 +9289,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:317: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:317" +$as_echo "$at_srcdir/DMRTest.at:336: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:336" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; cat "$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:317" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:336" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:317: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:317" +$as_echo "$at_srcdir/DMRTest.at:336: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:336" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:317" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:336" $at_failed && at_fn_log_failure $at_traceon; } @@ -9173,7 +9325,7 @@ read at_status <"$at_status_file" #AT_STOP_83 #AT_START_84 -at_fn_group_banner 84 'DMRTest.at:318' \ +at_fn_group_banner 84 'DMRTest.at:337' \ "trans test_array_13.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9194,29 +9346,33 @@ if test -n "$baselines" -a x$baselines = xyes; then : echo "The command <>$abs_builddir/dmr-test -x -t $input $checksum_filt<>" + + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:318: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:318" +$as_echo "$at_srcdir/DMRTest.at:337: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:337" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:318" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:337" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:318: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:318" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:337: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:337" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:318" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:337" $at_failed && at_fn_log_failure $at_traceon; } @@ -9224,28 +9380,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:318: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:318" +$as_echo "$at_srcdir/DMRTest.at:337: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:337" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; cat "$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:318" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:337" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:318: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:318" +$as_echo "$at_srcdir/DMRTest.at:337: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:337" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:318" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:337" $at_failed && at_fn_log_failure $at_traceon; } @@ -9260,7 +9416,7 @@ read at_status <"$at_status_file" #AT_STOP_84 #AT_START_85 -at_fn_group_banner 85 'DMRTest.at:319' \ +at_fn_group_banner 85 'DMRTest.at:338' \ "trans test_array_14.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9281,29 +9437,33 @@ if test -n "$baselines" -a x$baselines = xyes; then : echo "The command <>$abs_builddir/dmr-test -x -t $input $checksum_filt<>" + + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:319: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:319" +$as_echo "$at_srcdir/DMRTest.at:338: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:338" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:319" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:338" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:319: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:319" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:338: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:338" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:319" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:338" $at_failed && at_fn_log_failure $at_traceon; } @@ -9311,28 +9471,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:319: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:319" +$as_echo "$at_srcdir/DMRTest.at:338: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:338" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; cat "$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:319" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:338" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:319: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:319" +$as_echo "$at_srcdir/DMRTest.at:338: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:338" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:319" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:338" $at_failed && at_fn_log_failure $at_traceon; } @@ -9347,7 +9507,7 @@ read at_status <"$at_status_file" #AT_STOP_85 #AT_START_86 -at_fn_group_banner 86 'DMRTest.at:321' \ +at_fn_group_banner 86 'DMRTest.at:340' \ "trans test_simple_6.2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9368,29 +9528,33 @@ if test -n "$baselines" -a x$baselines = xyes; then : echo "The command <>$abs_builddir/dmr-test -x -t $input $checksum_filt<>" + + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:321: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:321" +$as_echo "$at_srcdir/DMRTest.at:340: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:340" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:321" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:340" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:321: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:321" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:340: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:340" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:321" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:340" $at_failed && at_fn_log_failure $at_traceon; } @@ -9398,28 +9562,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:321: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:321" +$as_echo "$at_srcdir/DMRTest.at:340: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:340" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; cat "$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:321" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:340" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:321: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:321" +$as_echo "$at_srcdir/DMRTest.at:340: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:340" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:321" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:340" $at_failed && at_fn_log_failure $at_traceon; } @@ -9434,7 +9598,7 @@ read at_status <"$at_status_file" #AT_STOP_86 #AT_START_87 -at_fn_group_banner 87 'DMRTest.at:322' \ +at_fn_group_banner 87 'DMRTest.at:341' \ "trans test_simple_6.3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9455,29 +9619,33 @@ if test -n "$baselines" -a x$baselines = xyes; then : echo "The command <>$abs_builddir/dmr-test -x -t $input $checksum_filt<>" + + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [0], [stdout], [ignore]) + { set +x -$as_echo "$at_srcdir/DMRTest.at:322: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:322" +$as_echo "$at_srcdir/DMRTest.at:341: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:341" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo stderr:; cat "$at_stderr" +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:322" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:341" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:322: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:322" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:341: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:341" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:322" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:341" $at_failed && at_fn_log_failure $at_traceon; } @@ -9485,28 +9653,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:322: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:322" +$as_echo "$at_srcdir/DMRTest.at:341: \$abs_builddir/dmr-test -x -t \$input | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:341" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; cat "$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:322" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:341" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:322: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:322" +$as_echo "$at_srcdir/DMRTest.at:341: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:341" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:322" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:341" $at_failed && at_fn_log_failure $at_traceon; } @@ -9521,7 +9689,7 @@ read at_status <"$at_status_file" #AT_STOP_87 #AT_START_88 -at_fn_group_banner 88 'DMRTest.at:324' \ +at_fn_group_banner 88 'DMRTest.at:343' \ "intern test_array_9.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9540,29 +9708,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:324: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:324" +$as_echo "$at_srcdir/DMRTest.at:343: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:343" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:324" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:343" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:324: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:324" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:343: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:343" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:324" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:343" $at_failed && at_fn_log_failure $at_traceon; } @@ -9570,28 +9741,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:324: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:324" +$as_echo "$at_srcdir/DMRTest.at:343: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:343" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:324" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:343" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:324: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:324" +$as_echo "$at_srcdir/DMRTest.at:343: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:343" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:324" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:343" $at_failed && at_fn_log_failure $at_traceon; } @@ -9606,7 +9777,7 @@ read at_status <"$at_status_file" #AT_STOP_88 #AT_START_89 -at_fn_group_banner 89 'DMRTest.at:325' \ +at_fn_group_banner 89 'DMRTest.at:344' \ "intern test_array_12.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9625,29 +9796,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:325: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:325" +$as_echo "$at_srcdir/DMRTest.at:344: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:344" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:325" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:344" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:325: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:325" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:344: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:344" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:325" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:344" $at_failed && at_fn_log_failure $at_traceon; } @@ -9655,28 +9829,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:325: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:325" +$as_echo "$at_srcdir/DMRTest.at:344: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:344" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:325" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:344" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:325: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:325" +$as_echo "$at_srcdir/DMRTest.at:344: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:344" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:325" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:344" $at_failed && at_fn_log_failure $at_traceon; } @@ -9691,7 +9865,7 @@ read at_status <"$at_status_file" #AT_STOP_89 #AT_START_90 -at_fn_group_banner 90 'DMRTest.at:326' \ +at_fn_group_banner 90 'DMRTest.at:345' \ "intern test_array_13.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9710,29 +9884,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:326: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:326" +$as_echo "$at_srcdir/DMRTest.at:345: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:345" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:326" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:345" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:326: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:326" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:345: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:345" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:326" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:345" $at_failed && at_fn_log_failure $at_traceon; } @@ -9740,28 +9917,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:326: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:326" +$as_echo "$at_srcdir/DMRTest.at:345: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:345" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:326" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:345" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:326: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:326" +$as_echo "$at_srcdir/DMRTest.at:345: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:345" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:326" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:345" $at_failed && at_fn_log_failure $at_traceon; } @@ -9776,7 +9953,7 @@ read at_status <"$at_status_file" #AT_STOP_90 #AT_START_91 -at_fn_group_banner 91 'DMRTest.at:327' \ +at_fn_group_banner 91 'DMRTest.at:346' \ "intern test_array_14.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9795,29 +9972,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:327: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:327" +$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:346" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:327" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:346" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:327: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:327" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:346: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:346" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:327" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" $at_failed && at_fn_log_failure $at_traceon; } @@ -9825,28 +10005,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:327: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:327" +$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:346" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:327" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:327: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:327" +$as_echo "$at_srcdir/DMRTest.at:346: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:346" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:327" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" $at_failed && at_fn_log_failure $at_traceon; } @@ -9861,7 +10041,7 @@ read at_status <"$at_status_file" #AT_STOP_91 #AT_START_92 -at_fn_group_banner 92 'DMRTest.at:329' \ +at_fn_group_banner 92 'DMRTest.at:348' \ "intern test_simple_6.2.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9880,29 +10060,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:329: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:329" +$as_echo "$at_srcdir/DMRTest.at:348: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:348" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:329" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:348" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:329: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:329" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:348: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:348" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:329" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:348" $at_failed && at_fn_log_failure $at_traceon; } @@ -9910,28 +10093,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:329: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:329" +$as_echo "$at_srcdir/DMRTest.at:348: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:348" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:329" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:348" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:329: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:329" +$as_echo "$at_srcdir/DMRTest.at:348: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:348" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:329" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:348" $at_failed && at_fn_log_failure $at_traceon; } @@ -9946,7 +10129,7 @@ read at_status <"$at_status_file" #AT_STOP_92 #AT_START_93 -at_fn_group_banner 93 'DMRTest.at:330' \ +at_fn_group_banner 93 'DMRTest.at:349' \ "intern test_simple_6.3.xml" " " at_xfail=no test "pass" = "xfail" && at_xfail=yes @@ -9965,29 +10148,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:330: \$abs_builddir/dmr-test -x -i \$input" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:330" +$as_echo "$at_srcdir/DMRTest.at:349: \$abs_builddir/dmr-test -x -i \$input" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input" "DMRTest.at:349" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:330" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:349" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:330: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:330" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:349: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:349" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:330" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:349" $at_failed && at_fn_log_failure $at_traceon; } @@ -9995,28 +10181,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:330: \$abs_builddir/dmr-test -x -i \$input || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:330" +$as_echo "$at_srcdir/DMRTest.at:349: \$abs_builddir/dmr-test -x -i \$input || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -i $input || true" "DMRTest.at:349" ( $at_check_trace; $abs_builddir/dmr-test -x -i $input || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:330" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:349" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:330: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:330" +$as_echo "$at_srcdir/DMRTest.at:349: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:349" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:330" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:349" $at_failed && at_fn_log_failure $at_traceon; } @@ -10031,7 +10217,7 @@ read at_status <"$at_status_file" #AT_STOP_93 #AT_START_94 -at_fn_group_banner 94 'DMRTest.at:346' \ +at_fn_group_banner 94 'DMRTest.at:365' \ "trans ce test_array_3.1.dmr row;x test_array_3.1.dmr.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10047,29 +10233,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "row;x"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"row;x\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row;x\"" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"row;x\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row;x\"" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "row;x" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:346" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:365: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:365" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10077,28 +10266,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"row;x\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row;x\" || true" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"row;x\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row;x\" || true" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "row;x" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:365" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10112,7 +10301,7 @@ read at_status <"$at_status_file" #AT_STOP_94 #AT_START_95 -at_fn_group_banner 95 'DMRTest.at:346' \ +at_fn_group_banner 95 'DMRTest.at:365' \ "trans ce test_array_3.1.dmr row=[2:3];x test_array_3.1.dmr.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10128,29 +10317,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "row=[[2:3]];x"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"row=[2:3];x\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[2:3];x\"" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"row=[2:3];x\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[2:3];x\"" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "row=[2:3];x" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:346" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:365: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:365" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10158,28 +10350,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"row=[2:3];x\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[2:3];x\" || true" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"row=[2:3];x\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[2:3];x\" || true" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "row=[2:3];x" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:365" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10193,7 +10385,7 @@ read at_status <"$at_status_file" #AT_STOP_95 #AT_START_96 -at_fn_group_banner 96 'DMRTest.at:346' \ +at_fn_group_banner 96 'DMRTest.at:365' \ "trans ce test_array_3.1.dmr row=[2:3];x[0:1] test_array_3.1.dmr.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10209,29 +10401,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "row=[[2:3]];x[[0:1]]"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"row=[2:3];x[0:1]\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[2:3];x[0:1]\"" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"row=[2:3];x[0:1]\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[2:3];x[0:1]\"" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "row=[2:3];x[0:1]" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:346" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:365: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:365" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10239,28 +10434,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"row=[2:3];x[0:1]\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[2:3];x[0:1]\" || true" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"row=[2:3];x[0:1]\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[2:3];x[0:1]\" || true" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "row=[2:3];x[0:1]" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:365" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10274,7 +10469,7 @@ read at_status <"$at_status_file" #AT_STOP_96 #AT_START_97 -at_fn_group_banner 97 'DMRTest.at:346' \ +at_fn_group_banner 97 'DMRTest.at:365' \ "trans ce test_array_3.1.dmr x[0:1] test_array_3.1.dmr.4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10290,29 +10485,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "x[[0:1]]"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"x[0:1]\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x[0:1]\"" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"x[0:1]\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x[0:1]\"" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "x[0:1]" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:346" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:365: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:365" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10320,28 +10518,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"x[0:1]\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x[0:1]\" || true" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"x[0:1]\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x[0:1]\" || true" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "x[0:1]" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:365" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10355,7 +10553,7 @@ read at_status <"$at_status_file" #AT_STOP_97 #AT_START_98 -at_fn_group_banner 98 'DMRTest.at:346' \ +at_fn_group_banner 98 'DMRTest.at:365' \ "trans ce test_array_3.1.dmr x test_array_3.1.dmr.5.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10371,29 +10569,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "x"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"x\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x\"" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"x\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x\"" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "x" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:346" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:365: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:365" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10401,28 +10602,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:346: \$abs_builddir/dmr-test -x -t \$input -c \"x\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x\" || true" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"x\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x\" || true" "DMRTest.at:365" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "x" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:346: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:346" +$as_echo "$at_srcdir/DMRTest.at:365: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:365" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:346" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" $at_failed && at_fn_log_failure $at_traceon; } @@ -10436,7 +10637,7 @@ read at_status <"$at_status_file" #AT_STOP_98 #AT_START_99 -at_fn_group_banner 99 'DMRTest.at:350' \ +at_fn_group_banner 99 'DMRTest.at:369' \ "trans ce test_array_4.xml a test_array_4.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10452,29 +10653,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:350: \$abs_builddir/dmr-test -x -t \$input -c \"a\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\"" "DMRTest.at:350" +$as_echo "$at_srcdir/DMRTest.at:369: \$abs_builddir/dmr-test -x -t \$input -c \"a\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\"" "DMRTest.at:369" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:350" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:369" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:350: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:350" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:369: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:369" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:350" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:369" $at_failed && at_fn_log_failure $at_traceon; } @@ -10482,28 +10686,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:350: \$abs_builddir/dmr-test -x -t \$input -c \"a\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\" || true" "DMRTest.at:350" +$as_echo "$at_srcdir/DMRTest.at:369: \$abs_builddir/dmr-test -x -t \$input -c \"a\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\" || true" "DMRTest.at:369" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:350" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:369" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:350: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:350" +$as_echo "$at_srcdir/DMRTest.at:369: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:369" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:350" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:369" $at_failed && at_fn_log_failure $at_traceon; } @@ -10517,7 +10721,7 @@ read at_status <"$at_status_file" #AT_STOP_99 #AT_START_100 -at_fn_group_banner 100 'DMRTest.at:351' \ +at_fn_group_banner 100 'DMRTest.at:370' \ "trans ce test_array_4.xml a[][] test_array_4.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10533,29 +10737,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a[[]][[]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:351: \$abs_builddir/dmr-test -x -t \$input -c \"a[][] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][] \"" "DMRTest.at:351" +$as_echo "$at_srcdir/DMRTest.at:370: \$abs_builddir/dmr-test -x -t \$input -c \"a[][] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][] \"" "DMRTest.at:370" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a[][] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:351" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:370" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:351: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:351" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:370: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:370" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:351" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:370" $at_failed && at_fn_log_failure $at_traceon; } @@ -10563,28 +10770,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:351: \$abs_builddir/dmr-test -x -t \$input -c \"a[][] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][] \" || true" "DMRTest.at:351" +$as_echo "$at_srcdir/DMRTest.at:370: \$abs_builddir/dmr-test -x -t \$input -c \"a[][] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][] \" || true" "DMRTest.at:370" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a[][] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:351" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:370" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:351: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:351" +$as_echo "$at_srcdir/DMRTest.at:370: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:370" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:351" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:370" $at_failed && at_fn_log_failure $at_traceon; } @@ -10598,7 +10805,7 @@ read at_status <"$at_status_file" #AT_STOP_100 #AT_START_101 -at_fn_group_banner 101 'DMRTest.at:353' \ +at_fn_group_banner 101 'DMRTest.at:372' \ "trans ce test_array_4.xml /row=[0:1];/col=[3];a test_array_4.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10614,29 +10821,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[0:1]];/col=[[3]];a"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:353: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a\"" "DMRTest.at:353" +$as_echo "$at_srcdir/DMRTest.at:372: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a\"" "DMRTest.at:372" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];/col=[3];a" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:353" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:372" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:353: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:353" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:372: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:372" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:353" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:372" $at_failed && at_fn_log_failure $at_traceon; } @@ -10644,28 +10854,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:353: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a\" || true" "DMRTest.at:353" +$as_echo "$at_srcdir/DMRTest.at:372: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a\" || true" "DMRTest.at:372" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];/col=[3];a" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:353" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:372" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:353: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:353" +$as_echo "$at_srcdir/DMRTest.at:372: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:372" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:353" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:372" $at_failed && at_fn_log_failure $at_traceon; } @@ -10679,7 +10889,7 @@ read at_status <"$at_status_file" #AT_STOP_101 #AT_START_102 -at_fn_group_banner 102 'DMRTest.at:355' \ +at_fn_group_banner 102 'DMRTest.at:374' \ "trans ce test_array_4.xml /row=[0:1];/col=[3];a[][] test_array_4.xml.4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10695,29 +10905,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[0:1]];/col=[[3]];a[[]][[]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:355: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a[][] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a[][] \"" "DMRTest.at:355" +$as_echo "$at_srcdir/DMRTest.at:374: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a[][] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a[][] \"" "DMRTest.at:374" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];/col=[3];a[][] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:355" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:374" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:355: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:355" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:374: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:374" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:355" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:374" $at_failed && at_fn_log_failure $at_traceon; } @@ -10725,28 +10938,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:355: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a[][] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a[][] \" || true" "DMRTest.at:355" +$as_echo "$at_srcdir/DMRTest.at:374: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a[][] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a[][] \" || true" "DMRTest.at:374" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];/col=[3];a[][] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:355" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:374" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:355: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:355" +$as_echo "$at_srcdir/DMRTest.at:374: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:374" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:355" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:374" $at_failed && at_fn_log_failure $at_traceon; } @@ -10760,7 +10973,7 @@ read at_status <"$at_status_file" #AT_STOP_102 #AT_START_103 -at_fn_group_banner 103 'DMRTest.at:357' \ +at_fn_group_banner 103 'DMRTest.at:376' \ "trans ce test_array_4.xml /row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] test_array_4.xml.5.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10776,29 +10989,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[0:1]];/col=[[3]];a[[]][[]];b[[0]][[]];c[[0:]][[0:]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:357: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] \"" "DMRTest.at:357" +$as_echo "$at_srcdir/DMRTest.at:376: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] \"" "DMRTest.at:376" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:357" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:376" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:357: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:357" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:376: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:376" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:357" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:376" $at_failed && at_fn_log_failure $at_traceon; } @@ -10806,28 +11022,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:357: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] \" || true" "DMRTest.at:357" +$as_echo "$at_srcdir/DMRTest.at:376: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] \" || true" "DMRTest.at:376" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];/col=[3];a[][];b[0][];c[0:][0:] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:357" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:376" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:357: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:357" +$as_echo "$at_srcdir/DMRTest.at:376: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:376" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:357" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:376" $at_failed && at_fn_log_failure $at_traceon; } @@ -10841,7 +11057,7 @@ read at_status <"$at_status_file" #AT_STOP_103 #AT_START_104 -at_fn_group_banner 104 'DMRTest.at:359' \ +at_fn_group_banner 104 'DMRTest.at:378' \ "trans ce test_array_4.xml x[][] /test_array_4.xml.6.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10857,29 +11073,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "x[[]][[]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:359: \$abs_builddir/dmr-test -x -t \$input -c \"x[][] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x[][] \"" "DMRTest.at:359" +$as_echo "$at_srcdir/DMRTest.at:378: \$abs_builddir/dmr-test -x -t \$input -c \"x[][] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x[][] \"" "DMRTest.at:378" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "x[][] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:359" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:378" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:359: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:359" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:378: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:378" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:359" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:378" $at_failed && at_fn_log_failure $at_traceon; } @@ -10887,28 +11106,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:359: \$abs_builddir/dmr-test -x -t \$input -c \"x[][] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x[][] \" || true" "DMRTest.at:359" +$as_echo "$at_srcdir/DMRTest.at:378: \$abs_builddir/dmr-test -x -t \$input -c \"x[][] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"x[][] \" || true" "DMRTest.at:378" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "x[][] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:359" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:378" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:359: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:359" +$as_echo "$at_srcdir/DMRTest.at:378: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:378" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:359" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:378" $at_failed && at_fn_log_failure $at_traceon; } @@ -10922,7 +11141,7 @@ read at_status <"$at_status_file" #AT_STOP_104 #AT_START_105 -at_fn_group_banner 105 'DMRTest.at:360' \ +at_fn_group_banner 105 'DMRTest.at:379' \ "trans ce test_array_4.xml /row=[0:1];x[][] test_array_4.xml.7.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -10938,29 +11157,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[0:1]];x[[]][[]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:360: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];x[][] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];x[][] \"" "DMRTest.at:360" +$as_echo "$at_srcdir/DMRTest.at:379: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];x[][] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];x[][] \"" "DMRTest.at:379" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];x[][] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:360" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:379" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:360: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:360" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:379: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:379" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:360" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:379" $at_failed && at_fn_log_failure $at_traceon; } @@ -10968,28 +11190,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:360: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];x[][] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];x[][] \" || true" "DMRTest.at:360" +$as_echo "$at_srcdir/DMRTest.at:379: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];x[][] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];x[][] \" || true" "DMRTest.at:379" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];x[][] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:360" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:379" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:360: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:360" +$as_echo "$at_srcdir/DMRTest.at:379: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:379" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:360" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:379" $at_failed && at_fn_log_failure $at_traceon; } @@ -11003,7 +11225,7 @@ read at_status <"$at_status_file" #AT_STOP_105 #AT_START_106 -at_fn_group_banner 106 'DMRTest.at:362' \ +at_fn_group_banner 106 'DMRTest.at:381' \ "trans ce test_array_4.xml c[2:][2:] test_array_4.xml.8.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11019,29 +11241,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "c[[2:]][[2:]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:362: \$abs_builddir/dmr-test -x -t \$input -c \"c[2:][2:] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"c[2:][2:] \"" "DMRTest.at:362" +$as_echo "$at_srcdir/DMRTest.at:381: \$abs_builddir/dmr-test -x -t \$input -c \"c[2:][2:] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"c[2:][2:] \"" "DMRTest.at:381" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "c[2:][2:] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:362" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:381" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:362: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:362" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:381: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:381" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:362" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:381" $at_failed && at_fn_log_failure $at_traceon; } @@ -11049,28 +11274,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:362: \$abs_builddir/dmr-test -x -t \$input -c \"c[2:][2:] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"c[2:][2:] \" || true" "DMRTest.at:362" +$as_echo "$at_srcdir/DMRTest.at:381: \$abs_builddir/dmr-test -x -t \$input -c \"c[2:][2:] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"c[2:][2:] \" || true" "DMRTest.at:381" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "c[2:][2:] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:362" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:381" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:362: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:362" +$as_echo "$at_srcdir/DMRTest.at:381: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:381" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:362" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:381" $at_failed && at_fn_log_failure $at_traceon; } @@ -11084,7 +11309,7 @@ read at_status <"$at_status_file" #AT_STOP_106 #AT_START_107 -at_fn_group_banner 107 'DMRTest.at:364' \ +at_fn_group_banner 107 'DMRTest.at:383' \ "trans ce test_simple_6.xml s test_simple_6.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11100,29 +11325,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:364: \$abs_builddir/dmr-test -x -t \$input -c \"s\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\"" "DMRTest.at:364" +$as_echo "$at_srcdir/DMRTest.at:383: \$abs_builddir/dmr-test -x -t \$input -c \"s\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\"" "DMRTest.at:383" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:364" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:383" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:364: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:364" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:383: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:383" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:364" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:383" $at_failed && at_fn_log_failure $at_traceon; } @@ -11130,28 +11358,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:364: \$abs_builddir/dmr-test -x -t \$input -c \"s\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\" || true" "DMRTest.at:364" +$as_echo "$at_srcdir/DMRTest.at:383: \$abs_builddir/dmr-test -x -t \$input -c \"s\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\" || true" "DMRTest.at:383" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:364" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:383" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:364: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:364" +$as_echo "$at_srcdir/DMRTest.at:383: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:383" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:364" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:383" $at_failed && at_fn_log_failure $at_traceon; } @@ -11165,7 +11393,7 @@ read at_status <"$at_status_file" #AT_STOP_107 #AT_START_108 -at_fn_group_banner 108 'DMRTest.at:365' \ +at_fn_group_banner 108 'DMRTest.at:384' \ "trans ce test_simple_6.xml s.i1 test_simple_6.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11181,29 +11409,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.i1"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\"" "DMRTest.at:365" +$as_echo "$at_srcdir/DMRTest.at:384: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\"" "DMRTest.at:384" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:384" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:365: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:365" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:384: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:384" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:384" $at_failed && at_fn_log_failure $at_traceon; } @@ -11211,28 +11442,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:365: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\" || true" "DMRTest.at:365" +$as_echo "$at_srcdir/DMRTest.at:384: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\" || true" "DMRTest.at:384" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:384" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:365: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:365" +$as_echo "$at_srcdir/DMRTest.at:384: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:384" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:365" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:384" $at_failed && at_fn_log_failure $at_traceon; } @@ -11246,7 +11477,7 @@ read at_status <"$at_status_file" #AT_STOP_108 #AT_START_109 -at_fn_group_banner 109 'DMRTest.at:366' \ +at_fn_group_banner 109 'DMRTest.at:385' \ "trans ce test_simple_6.xml s.s test_simple_6.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11262,29 +11493,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.s"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:366: \$abs_builddir/dmr-test -x -t \$input -c \"s.s\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.s\"" "DMRTest.at:366" +$as_echo "$at_srcdir/DMRTest.at:385: \$abs_builddir/dmr-test -x -t \$input -c \"s.s\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.s\"" "DMRTest.at:385" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.s" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:366" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:385" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:366: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:366" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:385: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:385" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:366" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:385" $at_failed && at_fn_log_failure $at_traceon; } @@ -11292,28 +11526,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:366: \$abs_builddir/dmr-test -x -t \$input -c \"s.s\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.s\" || true" "DMRTest.at:366" +$as_echo "$at_srcdir/DMRTest.at:385: \$abs_builddir/dmr-test -x -t \$input -c \"s.s\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.s\" || true" "DMRTest.at:385" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.s" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:366" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:385" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:366: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:366" +$as_echo "$at_srcdir/DMRTest.at:385: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:385" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:366" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:385" $at_failed && at_fn_log_failure $at_traceon; } @@ -11327,7 +11561,7 @@ read at_status <"$at_status_file" #AT_STOP_109 #AT_START_110 -at_fn_group_banner 110 'DMRTest.at:367' \ +at_fn_group_banner 110 'DMRTest.at:386' \ "trans ce test_simple_6.1.xml s.inner.i2 test_simple_6.1.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11343,29 +11577,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.inner.i2"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:367: \$abs_builddir/dmr-test -x -t \$input -c \"s.inner.i2\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.inner.i2\"" "DMRTest.at:367" +$as_echo "$at_srcdir/DMRTest.at:386: \$abs_builddir/dmr-test -x -t \$input -c \"s.inner.i2\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.inner.i2\"" "DMRTest.at:386" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.inner.i2" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:367" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:386" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:367: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:367" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:386: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:386" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:367" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:386" $at_failed && at_fn_log_failure $at_traceon; } @@ -11373,28 +11610,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:367: \$abs_builddir/dmr-test -x -t \$input -c \"s.inner.i2\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.inner.i2\" || true" "DMRTest.at:367" +$as_echo "$at_srcdir/DMRTest.at:386: \$abs_builddir/dmr-test -x -t \$input -c \"s.inner.i2\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.inner.i2\" || true" "DMRTest.at:386" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.inner.i2" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:367" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:386" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:367: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:367" +$as_echo "$at_srcdir/DMRTest.at:386: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:386" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:367" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:386" $at_failed && at_fn_log_failure $at_traceon; } @@ -11408,7 +11645,7 @@ read at_status <"$at_status_file" #AT_STOP_110 #AT_START_111 -at_fn_group_banner 111 'DMRTest.at:369' \ +at_fn_group_banner 111 'DMRTest.at:388' \ "trans ce test_simple_6.xml s{i1} test_simple_6.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11424,29 +11661,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:369: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\"" "DMRTest.at:369" +$as_echo "$at_srcdir/DMRTest.at:388: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\"" "DMRTest.at:388" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:369" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:388" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:369: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:369" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:388: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:388" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:369" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:388" $at_failed && at_fn_log_failure $at_traceon; } @@ -11454,28 +11694,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:369: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\" || true" "DMRTest.at:369" +$as_echo "$at_srcdir/DMRTest.at:388: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\" || true" "DMRTest.at:388" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:369" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:388" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:369: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:369" +$as_echo "$at_srcdir/DMRTest.at:388: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:388" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:369" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:388" $at_failed && at_fn_log_failure $at_traceon; } @@ -11489,7 +11729,7 @@ read at_status <"$at_status_file" #AT_STOP_111 #AT_START_112 -at_fn_group_banner 112 'DMRTest.at:370' \ +at_fn_group_banner 112 'DMRTest.at:389' \ "trans ce test_simple_6.xml s{s} test_simple_6.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11505,29 +11745,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{s}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:370: \$abs_builddir/dmr-test -x -t \$input -c \"s{s}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{s}\"" "DMRTest.at:370" +$as_echo "$at_srcdir/DMRTest.at:389: \$abs_builddir/dmr-test -x -t \$input -c \"s{s}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{s}\"" "DMRTest.at:389" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{s}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:370" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:389" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:370: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:370" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:389: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:389" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:370" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:389" $at_failed && at_fn_log_failure $at_traceon; } @@ -11535,28 +11778,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:370: \$abs_builddir/dmr-test -x -t \$input -c \"s{s}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{s}\" || true" "DMRTest.at:370" +$as_echo "$at_srcdir/DMRTest.at:389: \$abs_builddir/dmr-test -x -t \$input -c \"s{s}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{s}\" || true" "DMRTest.at:389" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{s}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:370" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:389" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:370: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:370" +$as_echo "$at_srcdir/DMRTest.at:389: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:389" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:370" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:389" $at_failed && at_fn_log_failure $at_traceon; } @@ -11570,7 +11813,7 @@ read at_status <"$at_status_file" #AT_STOP_112 #AT_START_113 -at_fn_group_banner 113 'DMRTest.at:371' \ +at_fn_group_banner 113 'DMRTest.at:390' \ "trans ce test_simple_6.1.xml s{inner.i2} test_simple_6.1.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11586,29 +11829,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{inner.i2}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:371: \$abs_builddir/dmr-test -x -t \$input -c \"s{inner.i2}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{inner.i2}\"" "DMRTest.at:371" +$as_echo "$at_srcdir/DMRTest.at:390: \$abs_builddir/dmr-test -x -t \$input -c \"s{inner.i2}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{inner.i2}\"" "DMRTest.at:390" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{inner.i2}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:371" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:390" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:371: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:371" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:390: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:390" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:371" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:390" $at_failed && at_fn_log_failure $at_traceon; } @@ -11616,28 +11862,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:371: \$abs_builddir/dmr-test -x -t \$input -c \"s{inner.i2}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{inner.i2}\" || true" "DMRTest.at:371" +$as_echo "$at_srcdir/DMRTest.at:390: \$abs_builddir/dmr-test -x -t \$input -c \"s{inner.i2}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{inner.i2}\" || true" "DMRTest.at:390" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{inner.i2}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:371" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:390" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:371: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:371" +$as_echo "$at_srcdir/DMRTest.at:390: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:390" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:371" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:390" $at_failed && at_fn_log_failure $at_traceon; } @@ -11651,7 +11897,7 @@ read at_status <"$at_status_file" #AT_STOP_113 #AT_START_114 -at_fn_group_banner 114 'DMRTest.at:372' \ +at_fn_group_banner 114 'DMRTest.at:391' \ "trans ce test_simple_6.1.xml s{inner{i2}} test_simple_6.1.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11667,29 +11913,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{inner{i2}}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:372: \$abs_builddir/dmr-test -x -t \$input -c \"s{inner{i2}}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{inner{i2}}\"" "DMRTest.at:372" +$as_echo "$at_srcdir/DMRTest.at:391: \$abs_builddir/dmr-test -x -t \$input -c \"s{inner{i2}}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{inner{i2}}\"" "DMRTest.at:391" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{inner{i2}}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:372" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:391" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:372: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:372" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:391: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:391" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:372" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:391" $at_failed && at_fn_log_failure $at_traceon; } @@ -11697,28 +11946,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:372: \$abs_builddir/dmr-test -x -t \$input -c \"s{inner{i2}}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{inner{i2}}\" || true" "DMRTest.at:372" +$as_echo "$at_srcdir/DMRTest.at:391: \$abs_builddir/dmr-test -x -t \$input -c \"s{inner{i2}}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{inner{i2}}\" || true" "DMRTest.at:391" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{inner{i2}}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:372" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:391" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:372: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:372" +$as_echo "$at_srcdir/DMRTest.at:391: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:391" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:372" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:391" $at_failed && at_fn_log_failure $at_traceon; } @@ -11732,7 +11981,7 @@ read at_status <"$at_status_file" #AT_STOP_114 #AT_START_115 -at_fn_group_banner 115 'DMRTest.at:375' \ +at_fn_group_banner 115 'DMRTest.at:394' \ "trans ce test_array_6.xml a test_array_6.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11748,29 +11997,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:375: \$abs_builddir/dmr-test -x -t \$input -c \"a\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\"" "DMRTest.at:375" +$as_echo "$at_srcdir/DMRTest.at:394: \$abs_builddir/dmr-test -x -t \$input -c \"a\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\"" "DMRTest.at:394" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:375" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:394" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:375: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:375" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:394: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:394" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:375" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:394" $at_failed && at_fn_log_failure $at_traceon; } @@ -11778,28 +12030,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:375: \$abs_builddir/dmr-test -x -t \$input -c \"a\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\" || true" "DMRTest.at:375" +$as_echo "$at_srcdir/DMRTest.at:394: \$abs_builddir/dmr-test -x -t \$input -c \"a\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\" || true" "DMRTest.at:394" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:375" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:394" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:375: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:375" +$as_echo "$at_srcdir/DMRTest.at:394: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:394" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:375" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:394" $at_failed && at_fn_log_failure $at_traceon; } @@ -11813,7 +12065,7 @@ read at_status <"$at_status_file" #AT_STOP_115 #AT_START_116 -at_fn_group_banner 116 'DMRTest.at:376' \ +at_fn_group_banner 116 'DMRTest.at:395' \ "trans ce test_array_6.xml a[][] test_array_6.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11829,29 +12081,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a[[]][[]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:376: \$abs_builddir/dmr-test -x -t \$input -c \"a[][] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][] \"" "DMRTest.at:376" +$as_echo "$at_srcdir/DMRTest.at:395: \$abs_builddir/dmr-test -x -t \$input -c \"a[][] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][] \"" "DMRTest.at:395" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a[][] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:376" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:395" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:376: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:376" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:395: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:395" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:376" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:395" $at_failed && at_fn_log_failure $at_traceon; } @@ -11859,28 +12114,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:376: \$abs_builddir/dmr-test -x -t \$input -c \"a[][] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][] \" || true" "DMRTest.at:376" +$as_echo "$at_srcdir/DMRTest.at:395: \$abs_builddir/dmr-test -x -t \$input -c \"a[][] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][] \" || true" "DMRTest.at:395" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a[][] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:376" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:395" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:376: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:376" +$as_echo "$at_srcdir/DMRTest.at:395: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:395" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:376" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:395" $at_failed && at_fn_log_failure $at_traceon; } @@ -11894,7 +12149,7 @@ read at_status <"$at_status_file" #AT_STOP_116 #AT_START_117 -at_fn_group_banner 117 'DMRTest.at:377' \ +at_fn_group_banner 117 'DMRTest.at:396' \ "trans ce test_array_6.xml /row=[0:1];a[][] test_array_6.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11910,29 +12165,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[0:1]];a[[]][[]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:377: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a[][] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a[][] \"" "DMRTest.at:377" +$as_echo "$at_srcdir/DMRTest.at:396: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a[][] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a[][] \"" "DMRTest.at:396" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];a[][] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:377" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:396" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:377: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:377" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:396: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:396" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:377" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:396" $at_failed && at_fn_log_failure $at_traceon; } @@ -11940,28 +12198,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:377: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a[][] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a[][] \" || true" "DMRTest.at:377" +$as_echo "$at_srcdir/DMRTest.at:396: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a[][] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a[][] \" || true" "DMRTest.at:396" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];a[][] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:377" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:396" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:377: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:377" +$as_echo "$at_srcdir/DMRTest.at:396: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:396" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:377" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:396" $at_failed && at_fn_log_failure $at_traceon; } @@ -11975,7 +12233,7 @@ read at_status <"$at_status_file" #AT_STOP_117 #AT_START_118 -at_fn_group_banner 118 'DMRTest.at:378' \ +at_fn_group_banner 118 'DMRTest.at:397' \ "trans ce test_array_6.xml /row=[0:1];a[][1:2] test_array_6.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -11991,29 +12249,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[0:1]];a[[]][[1:2]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:378: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a[][1:2] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a[][1:2] \"" "DMRTest.at:378" +$as_echo "$at_srcdir/DMRTest.at:397: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a[][1:2] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a[][1:2] \"" "DMRTest.at:397" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];a[][1:2] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:378" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:397" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:378: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:378" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:397: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:397" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:378" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:397" $at_failed && at_fn_log_failure $at_traceon; } @@ -12021,28 +12282,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:378: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a[][1:2] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a[][1:2] \" || true" "DMRTest.at:378" +$as_echo "$at_srcdir/DMRTest.at:397: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a[][1:2] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a[][1:2] \" || true" "DMRTest.at:397" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];a[][1:2] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:378" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:397" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:378: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:378" +$as_echo "$at_srcdir/DMRTest.at:397: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:397" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:378" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:397" $at_failed && at_fn_log_failure $at_traceon; } @@ -12056,7 +12317,7 @@ read at_status <"$at_status_file" #AT_STOP_118 #AT_START_119 -at_fn_group_banner 119 'DMRTest.at:381' \ +at_fn_group_banner 119 'DMRTest.at:400' \ "trans ce test_array_6.2.xml a test_array_6.2.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12072,29 +12333,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:381: \$abs_builddir/dmr-test -x -t \$input -c \"a\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\"" "DMRTest.at:381" +$as_echo "$at_srcdir/DMRTest.at:400: \$abs_builddir/dmr-test -x -t \$input -c \"a\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\"" "DMRTest.at:400" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:381" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:400" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:381: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:381" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:400: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:400" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:381" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:400" $at_failed && at_fn_log_failure $at_traceon; } @@ -12102,28 +12366,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:381: \$abs_builddir/dmr-test -x -t \$input -c \"a\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\" || true" "DMRTest.at:381" +$as_echo "$at_srcdir/DMRTest.at:400: \$abs_builddir/dmr-test -x -t \$input -c \"a\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\" || true" "DMRTest.at:400" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:381" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:400" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:381: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:381" +$as_echo "$at_srcdir/DMRTest.at:400: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:400" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:381" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:400" $at_failed && at_fn_log_failure $at_traceon; } @@ -12137,7 +12401,7 @@ read at_status <"$at_status_file" #AT_STOP_119 #AT_START_120 -at_fn_group_banner 120 'DMRTest.at:382' \ +at_fn_group_banner 120 'DMRTest.at:401' \ "trans ce test_array_6.2.xml a{i;j} test_array_6.2.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12153,29 +12417,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a{i;j}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:382: \$abs_builddir/dmr-test -x -t \$input -c \"a{i;j}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i;j}\"" "DMRTest.at:382" +$as_echo "$at_srcdir/DMRTest.at:401: \$abs_builddir/dmr-test -x -t \$input -c \"a{i;j}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i;j}\"" "DMRTest.at:401" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a{i;j}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:382" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:401" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:382: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:382" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:401: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:401" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:382" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:401" $at_failed && at_fn_log_failure $at_traceon; } @@ -12183,28 +12450,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:382: \$abs_builddir/dmr-test -x -t \$input -c \"a{i;j}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i;j}\" || true" "DMRTest.at:382" +$as_echo "$at_srcdir/DMRTest.at:401: \$abs_builddir/dmr-test -x -t \$input -c \"a{i;j}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i;j}\" || true" "DMRTest.at:401" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a{i;j}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:382" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:401" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:382: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:382" +$as_echo "$at_srcdir/DMRTest.at:401: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:401" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:382" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:401" $at_failed && at_fn_log_failure $at_traceon; } @@ -12218,7 +12485,7 @@ read at_status <"$at_status_file" #AT_STOP_120 #AT_START_121 -at_fn_group_banner 121 'DMRTest.at:383' \ +at_fn_group_banner 121 'DMRTest.at:402' \ "trans ce test_array_6.2.xml a.i test_array_6.2.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12234,29 +12501,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a.i"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:383: \$abs_builddir/dmr-test -x -t \$input -c \"a.i\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.i\"" "DMRTest.at:383" +$as_echo "$at_srcdir/DMRTest.at:402: \$abs_builddir/dmr-test -x -t \$input -c \"a.i\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.i\"" "DMRTest.at:402" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a.i" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:383" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:402" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:383: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:383" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:402: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:402" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:383" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:402" $at_failed && at_fn_log_failure $at_traceon; } @@ -12264,28 +12534,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:383: \$abs_builddir/dmr-test -x -t \$input -c \"a.i\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.i\" || true" "DMRTest.at:383" +$as_echo "$at_srcdir/DMRTest.at:402: \$abs_builddir/dmr-test -x -t \$input -c \"a.i\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.i\" || true" "DMRTest.at:402" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a.i" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:383" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:402" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:383: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:383" +$as_echo "$at_srcdir/DMRTest.at:402: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:402" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:383" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:402" $at_failed && at_fn_log_failure $at_traceon; } @@ -12299,7 +12569,7 @@ read at_status <"$at_status_file" #AT_STOP_121 #AT_START_122 -at_fn_group_banner 122 'DMRTest.at:384' \ +at_fn_group_banner 122 'DMRTest.at:403' \ "trans ce test_array_6.2.xml a{i} test_array_6.2.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12315,29 +12585,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a{i}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:384: \$abs_builddir/dmr-test -x -t \$input -c \"a{i}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i}\"" "DMRTest.at:384" +$as_echo "$at_srcdir/DMRTest.at:403: \$abs_builddir/dmr-test -x -t \$input -c \"a{i}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i}\"" "DMRTest.at:403" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a{i}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:384" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:403" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:384: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:384" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:403: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:403" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:384" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:403" $at_failed && at_fn_log_failure $at_traceon; } @@ -12345,28 +12618,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:384: \$abs_builddir/dmr-test -x -t \$input -c \"a{i}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i}\" || true" "DMRTest.at:384" +$as_echo "$at_srcdir/DMRTest.at:403: \$abs_builddir/dmr-test -x -t \$input -c \"a{i}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i}\" || true" "DMRTest.at:403" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a{i}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:384" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:403" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:384: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:384" +$as_echo "$at_srcdir/DMRTest.at:403: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:403" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:384" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:403" $at_failed && at_fn_log_failure $at_traceon; } @@ -12380,7 +12653,7 @@ read at_status <"$at_status_file" #AT_STOP_122 #AT_START_123 -at_fn_group_banner 123 'DMRTest.at:385' \ +at_fn_group_banner 123 'DMRTest.at:404' \ "trans ce test_array_6.2.xml a.i[0][1:2] test_array_6.2.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12396,29 +12669,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a.i[[0]][[1:2]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:385: \$abs_builddir/dmr-test -x -t \$input -c \"a.i[0][1:2] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.i[0][1:2] \"" "DMRTest.at:385" +$as_echo "$at_srcdir/DMRTest.at:404: \$abs_builddir/dmr-test -x -t \$input -c \"a.i[0][1:2] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.i[0][1:2] \"" "DMRTest.at:404" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a.i[0][1:2] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:385" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:404" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:385: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:385" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:404: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:404" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:385" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:404" $at_failed && at_fn_log_failure $at_traceon; } @@ -12426,28 +12702,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:385: \$abs_builddir/dmr-test -x -t \$input -c \"a.i[0][1:2] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.i[0][1:2] \" || true" "DMRTest.at:385" +$as_echo "$at_srcdir/DMRTest.at:404: \$abs_builddir/dmr-test -x -t \$input -c \"a.i[0][1:2] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.i[0][1:2] \" || true" "DMRTest.at:404" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a.i[0][1:2] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:385" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:404" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:385: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:385" +$as_echo "$at_srcdir/DMRTest.at:404: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:404" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:385" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:404" $at_failed && at_fn_log_failure $at_traceon; } @@ -12461,7 +12737,7 @@ read at_status <"$at_status_file" #AT_STOP_123 #AT_START_124 -at_fn_group_banner 124 'DMRTest.at:386' \ +at_fn_group_banner 124 'DMRTest.at:405' \ "trans ce test_array_6.2.xml a{i[0][1:2]} test_array_6.2.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12477,29 +12753,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a{i[[0]][[1:2]]} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:386: \$abs_builddir/dmr-test -x -t \$input -c \"a{i[0][1:2]} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i[0][1:2]} \"" "DMRTest.at:386" +$as_echo "$at_srcdir/DMRTest.at:405: \$abs_builddir/dmr-test -x -t \$input -c \"a{i[0][1:2]} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i[0][1:2]} \"" "DMRTest.at:405" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a{i[0][1:2]} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:386" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:405" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:386: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:386" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:405: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:405" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:386" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:405" $at_failed && at_fn_log_failure $at_traceon; } @@ -12507,28 +12786,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:386: \$abs_builddir/dmr-test -x -t \$input -c \"a{i[0][1:2]} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i[0][1:2]} \" || true" "DMRTest.at:386" +$as_echo "$at_srcdir/DMRTest.at:405: \$abs_builddir/dmr-test -x -t \$input -c \"a{i[0][1:2]} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i[0][1:2]} \" || true" "DMRTest.at:405" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a{i[0][1:2]} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:386" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:405" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:386: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:386" +$as_echo "$at_srcdir/DMRTest.at:405: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:405" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:386" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:405" $at_failed && at_fn_log_failure $at_traceon; } @@ -12542,7 +12821,7 @@ read at_status <"$at_status_file" #AT_STOP_124 #AT_START_125 -at_fn_group_banner 125 'DMRTest.at:387' \ +at_fn_group_banner 125 'DMRTest.at:406' \ "trans ce test_array_6.2.xml /row=[0:1];a.i[][1:2] test_array_6.2.xml.4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12558,29 +12837,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[0:1]];a.i[[]][[1:2]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:387: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a.i[][1:2] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a.i[][1:2] \"" "DMRTest.at:387" +$as_echo "$at_srcdir/DMRTest.at:406: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a.i[][1:2] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a.i[][1:2] \"" "DMRTest.at:406" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];a.i[][1:2] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:387" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:406" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:387: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:387" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:406: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:406" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:387" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:406" $at_failed && at_fn_log_failure $at_traceon; } @@ -12588,28 +12870,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:387: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a.i[][1:2] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a.i[][1:2] \" || true" "DMRTest.at:387" +$as_echo "$at_srcdir/DMRTest.at:406: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a.i[][1:2] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a.i[][1:2] \" || true" "DMRTest.at:406" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];a.i[][1:2] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:387" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:406" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:387: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:387" +$as_echo "$at_srcdir/DMRTest.at:406: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:406" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:387" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:406" $at_failed && at_fn_log_failure $at_traceon; } @@ -12623,7 +12905,7 @@ read at_status <"$at_status_file" #AT_STOP_125 #AT_START_126 -at_fn_group_banner 126 'DMRTest.at:388' \ +at_fn_group_banner 126 'DMRTest.at:407' \ "trans ce test_array_6.2.xml /row=[0:1];a{i[][1:2]} test_array_6.2.xml.4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12639,29 +12921,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[0:1]];a{i[[]][[1:2]]} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:388: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a{i[][1:2]} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a{i[][1:2]} \"" "DMRTest.at:388" +$as_echo "$at_srcdir/DMRTest.at:407: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a{i[][1:2]} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a{i[][1:2]} \"" "DMRTest.at:407" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];a{i[][1:2]} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:388" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:407" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:388: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:388" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:407: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:407" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:388" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:407" $at_failed && at_fn_log_failure $at_traceon; } @@ -12669,28 +12954,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:388: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a{i[][1:2]} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a{i[][1:2]} \" || true" "DMRTest.at:388" +$as_echo "$at_srcdir/DMRTest.at:407: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[0:1];a{i[][1:2]} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[0:1];a{i[][1:2]} \" || true" "DMRTest.at:407" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[0:1];a{i[][1:2]} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:388" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:407" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:388: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:388" +$as_echo "$at_srcdir/DMRTest.at:407: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:407" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:388" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:407" $at_failed && at_fn_log_failure $at_traceon; } @@ -12704,7 +12989,7 @@ read at_status <"$at_status_file" #AT_STOP_126 #AT_START_127 -at_fn_group_banner 127 'DMRTest.at:390' \ +at_fn_group_banner 127 'DMRTest.at:409' \ "trans ce test_array_6.2.xml a.j test_array_6.2.xml.5.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12720,29 +13005,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a.j"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:390: \$abs_builddir/dmr-test -x -t \$input -c \"a.j\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.j\"" "DMRTest.at:390" +$as_echo "$at_srcdir/DMRTest.at:409: \$abs_builddir/dmr-test -x -t \$input -c \"a.j\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.j\"" "DMRTest.at:409" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a.j" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:390" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:409" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:390: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:390" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:409: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:409" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:390" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:409" $at_failed && at_fn_log_failure $at_traceon; } @@ -12750,28 +13038,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:390: \$abs_builddir/dmr-test -x -t \$input -c \"a.j\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.j\" || true" "DMRTest.at:390" +$as_echo "$at_srcdir/DMRTest.at:409: \$abs_builddir/dmr-test -x -t \$input -c \"a.j\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a.j\" || true" "DMRTest.at:409" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a.j" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:390" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:409" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:390: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:390" +$as_echo "$at_srcdir/DMRTest.at:409: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:409" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:390" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:409" $at_failed && at_fn_log_failure $at_traceon; } @@ -12785,7 +13073,7 @@ read at_status <"$at_status_file" #AT_STOP_127 #AT_START_128 -at_fn_group_banner 128 'DMRTest.at:393' \ +at_fn_group_banner 128 'DMRTest.at:412' \ "trans ce test_array_6.1.xml a test_array_6.1.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12801,29 +13089,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:393: \$abs_builddir/dmr-test -x -t \$input -c \"a\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\"" "DMRTest.at:393" +$as_echo "$at_srcdir/DMRTest.at:412: \$abs_builddir/dmr-test -x -t \$input -c \"a\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\"" "DMRTest.at:412" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:393" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:412" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:393: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:393" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:412: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:412" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:393" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:412" $at_failed && at_fn_log_failure $at_traceon; } @@ -12831,28 +13122,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:393: \$abs_builddir/dmr-test -x -t \$input -c \"a\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\" || true" "DMRTest.at:393" +$as_echo "$at_srcdir/DMRTest.at:412: \$abs_builddir/dmr-test -x -t \$input -c \"a\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a\" || true" "DMRTest.at:412" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:393" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:412" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:393: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:393" +$as_echo "$at_srcdir/DMRTest.at:412: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:412" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:393" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:412" $at_failed && at_fn_log_failure $at_traceon; } @@ -12866,7 +13157,7 @@ read at_status <"$at_status_file" #AT_STOP_128 #AT_START_129 -at_fn_group_banner 129 'DMRTest.at:396' \ +at_fn_group_banner 129 'DMRTest.at:415' \ "trans ce test_array_6.1.xml /row=[1:2];a[][0] test_array_6.1.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12882,29 +13173,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[1:2]];a[[]][[0]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:396: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1:2];a[][0] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1:2];a[][0] \"" "DMRTest.at:396" +$as_echo "$at_srcdir/DMRTest.at:415: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1:2];a[][0] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1:2];a[][0] \"" "DMRTest.at:415" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[1:2];a[][0] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:396" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:415" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:396: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:396" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:415: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:415" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:396" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:415" $at_failed && at_fn_log_failure $at_traceon; } @@ -12912,28 +13206,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:396: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1:2];a[][0] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1:2];a[][0] \" || true" "DMRTest.at:396" +$as_echo "$at_srcdir/DMRTest.at:415: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1:2];a[][0] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1:2];a[][0] \" || true" "DMRTest.at:415" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[1:2];a[][0] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:396" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:415" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:396: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:396" +$as_echo "$at_srcdir/DMRTest.at:415: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:415" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:396" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:415" $at_failed && at_fn_log_failure $at_traceon; } @@ -12947,7 +13241,7 @@ read at_status <"$at_status_file" #AT_STOP_129 #AT_START_130 -at_fn_group_banner 130 'DMRTest.at:397' \ +at_fn_group_banner 130 'DMRTest.at:416' \ "trans ce test_array_6.1.xml /row=[1:2];a[][0]{i;j} test_array_6.1.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -12963,29 +13257,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[1:2]];a[[]][[0]]{i;j} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:397: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1:2];a[][0]{i;j} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1:2];a[][0]{i;j} \"" "DMRTest.at:397" +$as_echo "$at_srcdir/DMRTest.at:416: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1:2];a[][0]{i;j} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1:2];a[][0]{i;j} \"" "DMRTest.at:416" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[1:2];a[][0]{i;j} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:397" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:416" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:397: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:397" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:416: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:416" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:397" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:416" $at_failed && at_fn_log_failure $at_traceon; } @@ -12993,28 +13290,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:397: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1:2];a[][0]{i;j} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1:2];a[][0]{i;j} \" || true" "DMRTest.at:397" +$as_echo "$at_srcdir/DMRTest.at:416: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1:2];a[][0]{i;j} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1:2];a[][0]{i;j} \" || true" "DMRTest.at:416" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[1:2];a[][0]{i;j} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:397" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:416" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:397: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:397" +$as_echo "$at_srcdir/DMRTest.at:416: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:416" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:397" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:416" $at_failed && at_fn_log_failure $at_traceon; } @@ -13028,7 +13325,7 @@ read at_status <"$at_status_file" #AT_STOP_130 #AT_START_131 -at_fn_group_banner 131 'DMRTest.at:399' \ +at_fn_group_banner 131 'DMRTest.at:418' \ "trans ce test_array_6.1.xml row=[1:2];a[][0]{i;j} test_array_6.1.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13044,29 +13341,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "row=[[1:2]];a[[]][[0]]{i;j} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:399: \$abs_builddir/dmr-test -x -t \$input -c \"row=[1:2];a[][0]{i;j} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[1:2];a[][0]{i;j} \"" "DMRTest.at:399" +$as_echo "$at_srcdir/DMRTest.at:418: \$abs_builddir/dmr-test -x -t \$input -c \"row=[1:2];a[][0]{i;j} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[1:2];a[][0]{i;j} \"" "DMRTest.at:418" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "row=[1:2];a[][0]{i;j} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:399" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:418" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:399: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:399" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:418: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:418" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:399" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:418" $at_failed && at_fn_log_failure $at_traceon; } @@ -13074,28 +13374,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:399: \$abs_builddir/dmr-test -x -t \$input -c \"row=[1:2];a[][0]{i;j} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[1:2];a[][0]{i;j} \" || true" "DMRTest.at:399" +$as_echo "$at_srcdir/DMRTest.at:418: \$abs_builddir/dmr-test -x -t \$input -c \"row=[1:2];a[][0]{i;j} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"row=[1:2];a[][0]{i;j} \" || true" "DMRTest.at:418" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "row=[1:2];a[][0]{i;j} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:399" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:418" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:399: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:399" +$as_echo "$at_srcdir/DMRTest.at:418: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:418" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:399" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:418" $at_failed && at_fn_log_failure $at_traceon; } @@ -13109,7 +13409,7 @@ read at_status <"$at_status_file" #AT_STOP_131 #AT_START_132 -at_fn_group_banner 132 'DMRTest.at:402' \ +at_fn_group_banner 132 'DMRTest.at:421' \ "trans ce test_array_6.1.xml a{i[1:2][1:3];j} test_array_6.1.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13125,29 +13425,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a{i[[1:2]][[1:3]];j} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:402: \$abs_builddir/dmr-test -x -t \$input -c \"a{i[1:2][1:3];j} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i[1:2][1:3];j} \"" "DMRTest.at:402" +$as_echo "$at_srcdir/DMRTest.at:421: \$abs_builddir/dmr-test -x -t \$input -c \"a{i[1:2][1:3];j} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i[1:2][1:3];j} \"" "DMRTest.at:421" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a{i[1:2][1:3];j} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:402" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:421" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:402: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:402" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:421: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:421" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:402" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:421" $at_failed && at_fn_log_failure $at_traceon; } @@ -13155,28 +13458,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:402: \$abs_builddir/dmr-test -x -t \$input -c \"a{i[1:2][1:3];j} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i[1:2][1:3];j} \" || true" "DMRTest.at:402" +$as_echo "$at_srcdir/DMRTest.at:421: \$abs_builddir/dmr-test -x -t \$input -c \"a{i[1:2][1:3];j} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a{i[1:2][1:3];j} \" || true" "DMRTest.at:421" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a{i[1:2][1:3];j} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:402" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:421" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:402: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:402" +$as_echo "$at_srcdir/DMRTest.at:421: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:421" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:402" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:421" $at_failed && at_fn_log_failure $at_traceon; } @@ -13190,7 +13493,7 @@ read at_status <"$at_status_file" #AT_STOP_132 #AT_START_133 -at_fn_group_banner 133 'DMRTest.at:403' \ +at_fn_group_banner 133 'DMRTest.at:422' \ "trans ce test_array_6.1.xml a[][]{i[1:2][1:3];j} test_array_6.1.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13206,29 +13509,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "a[[]][[]]{i[[1:2]][[1:3]];j} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:403: \$abs_builddir/dmr-test -x -t \$input -c \"a[][]{i[1:2][1:3];j} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][]{i[1:2][1:3];j} \"" "DMRTest.at:403" +$as_echo "$at_srcdir/DMRTest.at:422: \$abs_builddir/dmr-test -x -t \$input -c \"a[][]{i[1:2][1:3];j} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][]{i[1:2][1:3];j} \"" "DMRTest.at:422" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a[][]{i[1:2][1:3];j} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:403" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:422" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:403: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:403" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:422: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:422" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:403" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:422" $at_failed && at_fn_log_failure $at_traceon; } @@ -13236,28 +13542,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:403: \$abs_builddir/dmr-test -x -t \$input -c \"a[][]{i[1:2][1:3];j} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][]{i[1:2][1:3];j} \" || true" "DMRTest.at:403" +$as_echo "$at_srcdir/DMRTest.at:422: \$abs_builddir/dmr-test -x -t \$input -c \"a[][]{i[1:2][1:3];j} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"a[][]{i[1:2][1:3];j} \" || true" "DMRTest.at:422" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "a[][]{i[1:2][1:3];j} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:403" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:422" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:403: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:403" +$as_echo "$at_srcdir/DMRTest.at:422: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:422" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:403" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:422" $at_failed && at_fn_log_failure $at_traceon; } @@ -13271,7 +13577,7 @@ read at_status <"$at_status_file" #AT_STOP_133 #AT_START_134 -at_fn_group_banner 134 'DMRTest.at:407' \ +at_fn_group_banner 134 'DMRTest.at:426' \ "trans ce test_array_6.1.xml /row=[1];a[][0]{i[][0:1]} test_array_6.1.xml.4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13287,29 +13593,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[1]];a[[]][[0]]{i[[]][[0:1]]} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:407: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1];a[][0]{i[][0:1]} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1];a[][0]{i[][0:1]} \"" "DMRTest.at:407" +$as_echo "$at_srcdir/DMRTest.at:426: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1];a[][0]{i[][0:1]} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1];a[][0]{i[][0:1]} \"" "DMRTest.at:426" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[1];a[][0]{i[][0:1]} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:407" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:426" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:407: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:407" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:426: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:426" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:407" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:426" $at_failed && at_fn_log_failure $at_traceon; } @@ -13317,28 +13626,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:407: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1];a[][0]{i[][0:1]} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1];a[][0]{i[][0:1]} \" || true" "DMRTest.at:407" +$as_echo "$at_srcdir/DMRTest.at:426: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[1];a[][0]{i[][0:1]} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[1];a[][0]{i[][0:1]} \" || true" "DMRTest.at:426" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[1];a[][0]{i[][0:1]} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:407" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:426" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:407: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:407" +$as_echo "$at_srcdir/DMRTest.at:426: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:426" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:407" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:426" $at_failed && at_fn_log_failure $at_traceon; } @@ -13352,7 +13661,7 @@ read at_status <"$at_status_file" #AT_STOP_134 #AT_START_135 -at_fn_group_banner 135 'DMRTest.at:410' \ +at_fn_group_banner 135 'DMRTest.at:429' \ "trans ce test_simple_7.xml s test_simple_7.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13368,29 +13677,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:410: \$abs_builddir/dmr-test -x -t \$input -c \"s\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\"" "DMRTest.at:410" +$as_echo "$at_srcdir/DMRTest.at:429: \$abs_builddir/dmr-test -x -t \$input -c \"s\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\"" "DMRTest.at:429" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:410" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:429" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:410: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:410" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:429: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:429" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:410" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:429" $at_failed && at_fn_log_failure $at_traceon; } @@ -13398,28 +13710,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:410: \$abs_builddir/dmr-test -x -t \$input -c \"s\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\" || true" "DMRTest.at:410" +$as_echo "$at_srcdir/DMRTest.at:429: \$abs_builddir/dmr-test -x -t \$input -c \"s\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\" || true" "DMRTest.at:429" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:410" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:429" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:410: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:410" +$as_echo "$at_srcdir/DMRTest.at:429: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:429" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:410" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:429" $at_failed && at_fn_log_failure $at_traceon; } @@ -13433,7 +13745,7 @@ read at_status <"$at_status_file" #AT_STOP_135 #AT_START_136 -at_fn_group_banner 136 'DMRTest.at:411' \ +at_fn_group_banner 136 'DMRTest.at:430' \ "trans ce test_simple_7.xml s{i1;s} test_simple_7.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13449,29 +13761,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{i1;s}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:411: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1;s}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1;s}\"" "DMRTest.at:411" +$as_echo "$at_srcdir/DMRTest.at:430: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1;s}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1;s}\"" "DMRTest.at:430" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1;s}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:411" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:430" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:411: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:411" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:430: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:430" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:411" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:430" $at_failed && at_fn_log_failure $at_traceon; } @@ -13479,28 +13794,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:411: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1;s}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1;s}\" || true" "DMRTest.at:411" +$as_echo "$at_srcdir/DMRTest.at:430: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1;s}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1;s}\" || true" "DMRTest.at:430" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1;s}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:411" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:430" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:411: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:411" +$as_echo "$at_srcdir/DMRTest.at:430: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:430" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:411" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:430" $at_failed && at_fn_log_failure $at_traceon; } @@ -13514,7 +13829,7 @@ read at_status <"$at_status_file" #AT_STOP_136 #AT_START_137 -at_fn_group_banner 137 'DMRTest.at:413' \ +at_fn_group_banner 137 'DMRTest.at:432' \ "trans ce test_simple_7.xml s.i1 test_simple_7.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13530,29 +13845,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.i1"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:413: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\"" "DMRTest.at:413" +$as_echo "$at_srcdir/DMRTest.at:432: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\"" "DMRTest.at:432" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:413" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:432" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:413: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:413" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:432: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:432" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:413" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:432" $at_failed && at_fn_log_failure $at_traceon; } @@ -13560,28 +13878,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:413: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\" || true" "DMRTest.at:413" +$as_echo "$at_srcdir/DMRTest.at:432: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\" || true" "DMRTest.at:432" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:413" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:432" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:413: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:413" +$as_echo "$at_srcdir/DMRTest.at:432: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:432" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:413" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:432" $at_failed && at_fn_log_failure $at_traceon; } @@ -13595,7 +13913,7 @@ read at_status <"$at_status_file" #AT_STOP_137 #AT_START_138 -at_fn_group_banner 138 'DMRTest.at:414' \ +at_fn_group_banner 138 'DMRTest.at:433' \ "trans ce test_simple_7.xml s{i1} test_simple_7.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13611,29 +13929,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:414: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\"" "DMRTest.at:414" +$as_echo "$at_srcdir/DMRTest.at:433: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\"" "DMRTest.at:433" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:414" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:433" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:414: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:414" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:433: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:433" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:414" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:433" $at_failed && at_fn_log_failure $at_traceon; } @@ -13641,28 +13962,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:414: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\" || true" "DMRTest.at:414" +$as_echo "$at_srcdir/DMRTest.at:433: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\" || true" "DMRTest.at:433" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:414" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:433" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:414: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:414" +$as_echo "$at_srcdir/DMRTest.at:433: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:433" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:414" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:433" $at_failed && at_fn_log_failure $at_traceon; } @@ -13676,7 +13997,7 @@ read at_status <"$at_status_file" #AT_STOP_138 #AT_START_139 -at_fn_group_banner 139 'DMRTest.at:416' \ +at_fn_group_banner 139 'DMRTest.at:435' \ "trans ce test_simple_8.xml outer test_simple_8.xml.1.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -13692,29 +14013,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "outer"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:416: \$abs_builddir/dmr-test -x -t \$input -c \"outer\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer\"" "DMRTest.at:416" +$as_echo "$at_srcdir/DMRTest.at:435: \$abs_builddir/dmr-test -x -t \$input -c \"outer\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer\"" "DMRTest.at:435" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "outer" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:416" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:435" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:416: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:416" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:435: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:435" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:416" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:435" $at_failed && at_fn_log_failure $at_traceon; } @@ -13722,28 +14046,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:416: \$abs_builddir/dmr-test -x -t \$input -c \"outer\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer\" || true" "DMRTest.at:416" +$as_echo "$at_srcdir/DMRTest.at:435: \$abs_builddir/dmr-test -x -t \$input -c \"outer\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer\" || true" "DMRTest.at:435" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "outer" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:416" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:435" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:416: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:416" +$as_echo "$at_srcdir/DMRTest.at:435: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:435" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:416" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:435" $at_failed && at_fn_log_failure $at_traceon; } @@ -13757,7 +14081,7 @@ read at_status <"$at_status_file" #AT_STOP_139 #AT_START_140 -at_fn_group_banner 140 'DMRTest.at:417' \ +at_fn_group_banner 140 'DMRTest.at:436' \ "trans ce test_simple_8.xml outer.s.s test_simple_8.xml.2.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -13773,29 +14097,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "outer.s.s"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:417: \$abs_builddir/dmr-test -x -t \$input -c \"outer.s.s\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer.s.s\"" "DMRTest.at:417" +$as_echo "$at_srcdir/DMRTest.at:436: \$abs_builddir/dmr-test -x -t \$input -c \"outer.s.s\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer.s.s\"" "DMRTest.at:436" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "outer.s.s" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:417" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:436" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:417: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:417" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:436: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:436" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:417" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:436" $at_failed && at_fn_log_failure $at_traceon; } @@ -13803,28 +14130,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:417: \$abs_builddir/dmr-test -x -t \$input -c \"outer.s.s\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer.s.s\" || true" "DMRTest.at:417" +$as_echo "$at_srcdir/DMRTest.at:436: \$abs_builddir/dmr-test -x -t \$input -c \"outer.s.s\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer.s.s\" || true" "DMRTest.at:436" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "outer.s.s" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:417" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:436" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:417: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:417" +$as_echo "$at_srcdir/DMRTest.at:436: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:436" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:417" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:436" $at_failed && at_fn_log_failure $at_traceon; } @@ -13838,7 +14165,7 @@ read at_status <"$at_status_file" #AT_STOP_140 #AT_START_141 -at_fn_group_banner 141 'DMRTest.at:418' \ +at_fn_group_banner 141 'DMRTest.at:437' \ "trans ce test_simple_8.xml outer{s{s}} test_simple_8.xml.2.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -13854,29 +14181,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "outer{s{s}}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:418: \$abs_builddir/dmr-test -x -t \$input -c \"outer{s{s}}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer{s{s}}\"" "DMRTest.at:418" +$as_echo "$at_srcdir/DMRTest.at:437: \$abs_builddir/dmr-test -x -t \$input -c \"outer{s{s}}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer{s{s}}\"" "DMRTest.at:437" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "outer{s{s}}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:418" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:437" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:418: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:418" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:437: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:437" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:418" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:437" $at_failed && at_fn_log_failure $at_traceon; } @@ -13884,28 +14214,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:418: \$abs_builddir/dmr-test -x -t \$input -c \"outer{s{s}}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer{s{s}}\" || true" "DMRTest.at:418" +$as_echo "$at_srcdir/DMRTest.at:437: \$abs_builddir/dmr-test -x -t \$input -c \"outer{s{s}}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"outer{s{s}}\" || true" "DMRTest.at:437" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "outer{s{s}}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:418" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:437" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:418: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:418" +$as_echo "$at_srcdir/DMRTest.at:437: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:437" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:418" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:437" $at_failed && at_fn_log_failure $at_traceon; } @@ -13919,7 +14249,7 @@ read at_status <"$at_status_file" #AT_STOP_141 #AT_START_142 -at_fn_group_banner 142 'DMRTest.at:420' \ +at_fn_group_banner 142 'DMRTest.at:439' \ "trans ce test_array_7.xml s test_array_7.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -13935,29 +14265,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:420: \$abs_builddir/dmr-test -x -t \$input -c \"s\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\"" "DMRTest.at:420" +$as_echo "$at_srcdir/DMRTest.at:439: \$abs_builddir/dmr-test -x -t \$input -c \"s\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\"" "DMRTest.at:439" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:420" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:439" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:420: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:420" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:439: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:439" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:420" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:439" $at_failed && at_fn_log_failure $at_traceon; } @@ -13965,28 +14298,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:420: \$abs_builddir/dmr-test -x -t \$input -c \"s\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\" || true" "DMRTest.at:420" +$as_echo "$at_srcdir/DMRTest.at:439: \$abs_builddir/dmr-test -x -t \$input -c \"s\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\" || true" "DMRTest.at:439" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:420" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:439" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:420: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:420" +$as_echo "$at_srcdir/DMRTest.at:439: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:439" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:420" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:439" $at_failed && at_fn_log_failure $at_traceon; } @@ -14000,7 +14333,7 @@ read at_status <"$at_status_file" #AT_STOP_142 #AT_START_143 -at_fn_group_banner 143 'DMRTest.at:421' \ +at_fn_group_banner 143 'DMRTest.at:440' \ "trans ce test_array_7.xml s{i1;s} test_array_7.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14016,29 +14349,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{i1;s}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:421: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1;s}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1;s}\"" "DMRTest.at:421" +$as_echo "$at_srcdir/DMRTest.at:440: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1;s}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1;s}\"" "DMRTest.at:440" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1;s}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:421" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:440" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:421: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:421" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:440: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:440" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:421" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:440" $at_failed && at_fn_log_failure $at_traceon; } @@ -14046,28 +14382,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:421: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1;s}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1;s}\" || true" "DMRTest.at:421" +$as_echo "$at_srcdir/DMRTest.at:440: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1;s}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1;s}\" || true" "DMRTest.at:440" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1;s}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:421" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:440" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:421: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:421" +$as_echo "$at_srcdir/DMRTest.at:440: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:440" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:421" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:440" $at_failed && at_fn_log_failure $at_traceon; } @@ -14081,7 +14417,7 @@ read at_status <"$at_status_file" #AT_STOP_143 #AT_START_144 -at_fn_group_banner 144 'DMRTest.at:423' \ +at_fn_group_banner 144 'DMRTest.at:442' \ "trans ce test_array_7.xml s.i1 test_array_7.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14097,29 +14433,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.i1"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:423: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\"" "DMRTest.at:423" +$as_echo "$at_srcdir/DMRTest.at:442: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\"" "DMRTest.at:442" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:423" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:442" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:423: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:423" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:442: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:442" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:423" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:442" $at_failed && at_fn_log_failure $at_traceon; } @@ -14127,28 +14466,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:423: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\" || true" "DMRTest.at:423" +$as_echo "$at_srcdir/DMRTest.at:442: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\" || true" "DMRTest.at:442" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:423" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:442" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:423: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:423" +$as_echo "$at_srcdir/DMRTest.at:442: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:442" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:423" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:442" $at_failed && at_fn_log_failure $at_traceon; } @@ -14162,7 +14501,7 @@ read at_status <"$at_status_file" #AT_STOP_144 #AT_START_145 -at_fn_group_banner 145 'DMRTest.at:424' \ +at_fn_group_banner 145 'DMRTest.at:443' \ "trans ce test_array_7.xml s{i1} test_array_7.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14178,29 +14517,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:424: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\"" "DMRTest.at:424" +$as_echo "$at_srcdir/DMRTest.at:443: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\"" "DMRTest.at:443" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:424" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:443" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:424: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:424" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:443: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:443" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:424" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:443" $at_failed && at_fn_log_failure $at_traceon; } @@ -14208,28 +14550,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:424: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\" || true" "DMRTest.at:424" +$as_echo "$at_srcdir/DMRTest.at:443: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\" || true" "DMRTest.at:443" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:424" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:443" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:424: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:424" +$as_echo "$at_srcdir/DMRTest.at:443: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:443" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:424" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:443" $at_failed && at_fn_log_failure $at_traceon; } @@ -14243,7 +14585,7 @@ read at_status <"$at_status_file" #AT_STOP_145 #AT_START_146 -at_fn_group_banner 146 'DMRTest.at:426' \ +at_fn_group_banner 146 'DMRTest.at:445' \ "trans ce test_array_7.xml s[1] test_array_7.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14259,29 +14601,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s[[1]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:426: \$abs_builddir/dmr-test -x -t \$input -c \"s[1] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1] \"" "DMRTest.at:426" +$as_echo "$at_srcdir/DMRTest.at:445: \$abs_builddir/dmr-test -x -t \$input -c \"s[1] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1] \"" "DMRTest.at:445" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s[1] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:426" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:445" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:426: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:426" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:445: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:445" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:426" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:445" $at_failed && at_fn_log_failure $at_traceon; } @@ -14289,28 +14634,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:426: \$abs_builddir/dmr-test -x -t \$input -c \"s[1] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1] \" || true" "DMRTest.at:426" +$as_echo "$at_srcdir/DMRTest.at:445: \$abs_builddir/dmr-test -x -t \$input -c \"s[1] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1] \" || true" "DMRTest.at:445" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s[1] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:426" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:445" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:426: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:426" +$as_echo "$at_srcdir/DMRTest.at:445: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:445" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:426" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:445" $at_failed && at_fn_log_failure $at_traceon; } @@ -14324,7 +14669,7 @@ read at_status <"$at_status_file" #AT_STOP_146 #AT_START_147 -at_fn_group_banner 147 'DMRTest.at:427' \ +at_fn_group_banner 147 'DMRTest.at:446' \ "trans ce test_array_7.xml s[1]{i1;s} test_array_7.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14340,29 +14685,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s[[1]]{i1;s}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:427: \$abs_builddir/dmr-test -x -t \$input -c \"s[1]{i1;s}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1]{i1;s}\"" "DMRTest.at:427" +$as_echo "$at_srcdir/DMRTest.at:446: \$abs_builddir/dmr-test -x -t \$input -c \"s[1]{i1;s}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1]{i1;s}\"" "DMRTest.at:446" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s[1]{i1;s}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:427" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:446" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:427: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:427" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:446: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:446" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:427" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:446" $at_failed && at_fn_log_failure $at_traceon; } @@ -14370,28 +14718,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:427: \$abs_builddir/dmr-test -x -t \$input -c \"s[1]{i1;s}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1]{i1;s}\" || true" "DMRTest.at:427" +$as_echo "$at_srcdir/DMRTest.at:446: \$abs_builddir/dmr-test -x -t \$input -c \"s[1]{i1;s}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1]{i1;s}\" || true" "DMRTest.at:446" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s[1]{i1;s}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:427" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:446" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:427: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:427" +$as_echo "$at_srcdir/DMRTest.at:446: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:446" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:427" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:446" $at_failed && at_fn_log_failure $at_traceon; } @@ -14405,7 +14753,7 @@ read at_status <"$at_status_file" #AT_STOP_147 #AT_START_148 -at_fn_group_banner 148 'DMRTest.at:429' \ +at_fn_group_banner 148 'DMRTest.at:448' \ "trans ce test_array_7.xml s[1]{i1} test_array_7.xml.4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14421,29 +14769,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s[[1]]{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:429: \$abs_builddir/dmr-test -x -t \$input -c \"s[1]{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1]{i1}\"" "DMRTest.at:429" +$as_echo "$at_srcdir/DMRTest.at:448: \$abs_builddir/dmr-test -x -t \$input -c \"s[1]{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1]{i1}\"" "DMRTest.at:448" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s[1]{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:429" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:448" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:429: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:429" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:448: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:448" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:429" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:448" $at_failed && at_fn_log_failure $at_traceon; } @@ -14451,28 +14802,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:429: \$abs_builddir/dmr-test -x -t \$input -c \"s[1]{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1]{i1}\" || true" "DMRTest.at:429" +$as_echo "$at_srcdir/DMRTest.at:448: \$abs_builddir/dmr-test -x -t \$input -c \"s[1]{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s[1]{i1}\" || true" "DMRTest.at:448" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s[1]{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:429" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:448" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:429: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:429" +$as_echo "$at_srcdir/DMRTest.at:448: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:448" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:429" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:448" $at_failed && at_fn_log_failure $at_traceon; } @@ -14486,7 +14837,7 @@ read at_status <"$at_status_file" #AT_STOP_148 #AT_START_149 -at_fn_group_banner 149 'DMRTest.at:432' \ +at_fn_group_banner 149 'DMRTest.at:451' \ "trans ce test_array_8.xml /col=[1:2];s[1][]{i1} test_array_8.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14502,29 +14853,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s[[1]][[]]{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:432: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[1][]{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[1][]{i1}\"" "DMRTest.at:432" +$as_echo "$at_srcdir/DMRTest.at:451: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[1][]{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[1][]{i1}\"" "DMRTest.at:451" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[1][]{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:432" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:451" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:432: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:432" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:451: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:451" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:432" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:451" $at_failed && at_fn_log_failure $at_traceon; } @@ -14532,28 +14886,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:432: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[1][]{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[1][]{i1}\" || true" "DMRTest.at:432" +$as_echo "$at_srcdir/DMRTest.at:451: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[1][]{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[1][]{i1}\" || true" "DMRTest.at:451" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[1][]{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:432" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:451" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:432: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:432" +$as_echo "$at_srcdir/DMRTest.at:451: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:451" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:432" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:451" $at_failed && at_fn_log_failure $at_traceon; } @@ -14567,7 +14921,7 @@ read at_status <"$at_status_file" #AT_STOP_149 #AT_START_150 -at_fn_group_banner 150 'DMRTest.at:433' \ +at_fn_group_banner 150 'DMRTest.at:452' \ "trans ce test_array_8.xml col=[1:2];s[1][]{i1} test_array_8.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14583,29 +14937,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "col=[[1:2]];s[[1]][[]]{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:433: \$abs_builddir/dmr-test -x -t \$input -c \"col=[1:2];s[1][]{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"col=[1:2];s[1][]{i1}\"" "DMRTest.at:433" +$as_echo "$at_srcdir/DMRTest.at:452: \$abs_builddir/dmr-test -x -t \$input -c \"col=[1:2];s[1][]{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"col=[1:2];s[1][]{i1}\"" "DMRTest.at:452" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "col=[1:2];s[1][]{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:433" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:452" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:433: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:433" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:452: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:452" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:433" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:452" $at_failed && at_fn_log_failure $at_traceon; } @@ -14613,28 +14970,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:433: \$abs_builddir/dmr-test -x -t \$input -c \"col=[1:2];s[1][]{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"col=[1:2];s[1][]{i1}\" || true" "DMRTest.at:433" +$as_echo "$at_srcdir/DMRTest.at:452: \$abs_builddir/dmr-test -x -t \$input -c \"col=[1:2];s[1][]{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"col=[1:2];s[1][]{i1}\" || true" "DMRTest.at:452" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "col=[1:2];s[1][]{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:433" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:452" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:433: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:433" +$as_echo "$at_srcdir/DMRTest.at:452: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:452" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:433" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:452" $at_failed && at_fn_log_failure $at_traceon; } @@ -14648,7 +15005,7 @@ read at_status <"$at_status_file" #AT_STOP_150 #AT_START_151 -at_fn_group_banner 151 'DMRTest.at:436' \ +at_fn_group_banner 151 'DMRTest.at:455' \ "trans ce test_array_7.1.xml test_array_7.1.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14664,29 +15021,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c ""], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:436: \$abs_builddir/dmr-test -x -t \$input -c \"\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"\"" "DMRTest.at:436" +$as_echo "$at_srcdir/DMRTest.at:455: \$abs_builddir/dmr-test -x -t \$input -c \"\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"\"" "DMRTest.at:455" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:436" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:455" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:436: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:436" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:455: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:455" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:436" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:455" $at_failed && at_fn_log_failure $at_traceon; } @@ -14694,28 +15054,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:436: \$abs_builddir/dmr-test -x -t \$input -c \"\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"\" || true" "DMRTest.at:436" +$as_echo "$at_srcdir/DMRTest.at:455: \$abs_builddir/dmr-test -x -t \$input -c \"\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"\" || true" "DMRTest.at:455" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:436" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:455" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:436: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:436" +$as_echo "$at_srcdir/DMRTest.at:455: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:455" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:436" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:455" $at_failed && at_fn_log_failure $at_traceon; } @@ -14729,7 +15089,7 @@ read at_status <"$at_status_file" #AT_STOP_151 #AT_START_152 -at_fn_group_banner 152 'DMRTest.at:437' \ +at_fn_group_banner 152 'DMRTest.at:456' \ "trans ce test_array_7.1.xml s test_array_7.1.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14745,29 +15105,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:437: \$abs_builddir/dmr-test -x -t \$input -c \"s\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\"" "DMRTest.at:437" +$as_echo "$at_srcdir/DMRTest.at:456: \$abs_builddir/dmr-test -x -t \$input -c \"s\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\"" "DMRTest.at:456" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:437" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:456" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:437: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:437" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:456: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:456" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:437" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:456" $at_failed && at_fn_log_failure $at_traceon; } @@ -14775,28 +15138,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:437: \$abs_builddir/dmr-test -x -t \$input -c \"s\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\" || true" "DMRTest.at:437" +$as_echo "$at_srcdir/DMRTest.at:456: \$abs_builddir/dmr-test -x -t \$input -c \"s\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s\" || true" "DMRTest.at:456" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:437" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:456" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:437: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:437" +$as_echo "$at_srcdir/DMRTest.at:456: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:456" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:437" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:456" $at_failed && at_fn_log_failure $at_traceon; } @@ -14810,7 +15173,7 @@ read at_status <"$at_status_file" #AT_STOP_152 #AT_START_153 -at_fn_group_banner 153 'DMRTest.at:439' \ +at_fn_group_banner 153 'DMRTest.at:458' \ "trans ce test_array_7.1.xml s.i1 test_array_7.1.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14826,29 +15189,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.i1"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:439: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\"" "DMRTest.at:439" +$as_echo "$at_srcdir/DMRTest.at:458: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\"" "DMRTest.at:458" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:439" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:458" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:439: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:439" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:458: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:458" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:439" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:458" $at_failed && at_fn_log_failure $at_traceon; } @@ -14856,28 +15222,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:439: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\" || true" "DMRTest.at:439" +$as_echo "$at_srcdir/DMRTest.at:458: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1\" || true" "DMRTest.at:458" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:439" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:458" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:439: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:439" +$as_echo "$at_srcdir/DMRTest.at:458: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:458" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:439" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:458" $at_failed && at_fn_log_failure $at_traceon; } @@ -14891,7 +15257,7 @@ read at_status <"$at_status_file" #AT_STOP_153 #AT_START_154 -at_fn_group_banner 154 'DMRTest.at:440' \ +at_fn_group_banner 154 'DMRTest.at:459' \ "trans ce test_array_7.1.xml s.i1[][] test_array_7.1.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14907,29 +15273,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.i1[[]][[]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:440: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[][] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[][] \"" "DMRTest.at:440" +$as_echo "$at_srcdir/DMRTest.at:459: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[][] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[][] \"" "DMRTest.at:459" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1[][] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:440" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:459" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:440: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:440" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:459: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:459" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:440" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:459" $at_failed && at_fn_log_failure $at_traceon; } @@ -14937,28 +15306,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:440: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[][] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[][] \" || true" "DMRTest.at:440" +$as_echo "$at_srcdir/DMRTest.at:459: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[][] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[][] \" || true" "DMRTest.at:459" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1[][] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:440" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:459" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:440: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:440" +$as_echo "$at_srcdir/DMRTest.at:459: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:459" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:440" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:459" $at_failed && at_fn_log_failure $at_traceon; } @@ -14972,7 +15341,7 @@ read at_status <"$at_status_file" #AT_STOP_154 #AT_START_155 -at_fn_group_banner 155 'DMRTest.at:441' \ +at_fn_group_banner 155 'DMRTest.at:460' \ "trans ce test_array_7.1.xml s{i1} test_array_7.1.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -14988,29 +15357,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:441: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\"" "DMRTest.at:441" +$as_echo "$at_srcdir/DMRTest.at:460: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\"" "DMRTest.at:460" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:441" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:460" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:441: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:441" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:460: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:460" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:441" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:460" $at_failed && at_fn_log_failure $at_traceon; } @@ -15018,28 +15390,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:441: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\" || true" "DMRTest.at:441" +$as_echo "$at_srcdir/DMRTest.at:460: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1}\" || true" "DMRTest.at:460" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:441" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:460" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:441: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:441" +$as_echo "$at_srcdir/DMRTest.at:460: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:460" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:441" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:460" $at_failed && at_fn_log_failure $at_traceon; } @@ -15053,7 +15425,7 @@ read at_status <"$at_status_file" #AT_STOP_155 #AT_START_156 -at_fn_group_banner 156 'DMRTest.at:442' \ +at_fn_group_banner 156 'DMRTest.at:461' \ "trans ce test_array_7.1.xml s{i1[][]} test_array_7.1.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15069,29 +15441,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{i1[[]][[]]} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:442: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1[][]} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1[][]} \"" "DMRTest.at:442" +$as_echo "$at_srcdir/DMRTest.at:461: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1[][]} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1[][]} \"" "DMRTest.at:461" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1[][]} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:442" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:461" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:442: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:442" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:461: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:461" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:442" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:461" $at_failed && at_fn_log_failure $at_traceon; } @@ -15099,28 +15474,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:442: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1[][]} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1[][]} \" || true" "DMRTest.at:442" +$as_echo "$at_srcdir/DMRTest.at:461: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1[][]} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1[][]} \" || true" "DMRTest.at:461" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1[][]} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:442" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:461" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:442: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:442" +$as_echo "$at_srcdir/DMRTest.at:461: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:461" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:442" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:461" $at_failed && at_fn_log_failure $at_traceon; } @@ -15134,7 +15509,7 @@ read at_status <"$at_status_file" #AT_STOP_156 #AT_START_157 -at_fn_group_banner 157 'DMRTest.at:444' \ +at_fn_group_banner 157 'DMRTest.at:463' \ "trans ce test_array_7.1.xml s.i1[0][0] test_array_7.1.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15150,29 +15525,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.i1[[0]][[0]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:444: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[0][0] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[0][0] \"" "DMRTest.at:444" +$as_echo "$at_srcdir/DMRTest.at:463: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[0][0] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[0][0] \"" "DMRTest.at:463" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1[0][0] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:444" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:463" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:444: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:444" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:463: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:463" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:444" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:463" $at_failed && at_fn_log_failure $at_traceon; } @@ -15180,28 +15558,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:444: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[0][0] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[0][0] \" || true" "DMRTest.at:444" +$as_echo "$at_srcdir/DMRTest.at:463: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[0][0] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[0][0] \" || true" "DMRTest.at:463" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1[0][0] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:444" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:463" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:444: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:444" +$as_echo "$at_srcdir/DMRTest.at:463: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:463" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:444" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:463" $at_failed && at_fn_log_failure $at_traceon; } @@ -15215,7 +15593,7 @@ read at_status <"$at_status_file" #AT_STOP_157 #AT_START_158 -at_fn_group_banner 158 'DMRTest.at:445' \ +at_fn_group_banner 158 'DMRTest.at:464' \ "trans ce test_array_7.1.xml s{i1[0][0]} test_array_7.1.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15231,29 +15609,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s{i1[[0]][[0]]} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:445: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1[0][0]} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1[0][0]} \"" "DMRTest.at:445" +$as_echo "$at_srcdir/DMRTest.at:464: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1[0][0]} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1[0][0]} \"" "DMRTest.at:464" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1[0][0]} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:445" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:464" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:445: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:445" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:464: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:464" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:445" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:464" $at_failed && at_fn_log_failure $at_traceon; } @@ -15261,28 +15642,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:445: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1[0][0]} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1[0][0]} \" || true" "DMRTest.at:445" +$as_echo "$at_srcdir/DMRTest.at:464: \$abs_builddir/dmr-test -x -t \$input -c \"s{i1[0][0]} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s{i1[0][0]} \" || true" "DMRTest.at:464" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s{i1[0][0]} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:445" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:464" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:445: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:445" +$as_echo "$at_srcdir/DMRTest.at:464: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:464" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:445" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:464" $at_failed && at_fn_log_failure $at_traceon; } @@ -15296,7 +15677,7 @@ read at_status <"$at_status_file" #AT_STOP_158 #AT_START_159 -at_fn_group_banner 159 'DMRTest.at:447' \ +at_fn_group_banner 159 'DMRTest.at:466' \ "trans ce test_array_7.1.xml s.i1[0:2][1:2] test_array_7.1.xml.4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15312,29 +15693,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "s.i1[[0:2]][[1:2]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:447: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[0:2][1:2] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[0:2][1:2] \"" "DMRTest.at:447" +$as_echo "$at_srcdir/DMRTest.at:466: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[0:2][1:2] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[0:2][1:2] \"" "DMRTest.at:466" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1[0:2][1:2] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:447" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:466" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:447: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:447" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:466: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:466" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:447" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:466" $at_failed && at_fn_log_failure $at_traceon; } @@ -15342,28 +15726,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:447: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[0:2][1:2] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[0:2][1:2] \" || true" "DMRTest.at:447" +$as_echo "$at_srcdir/DMRTest.at:466: \$abs_builddir/dmr-test -x -t \$input -c \"s.i1[0:2][1:2] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"s.i1[0:2][1:2] \" || true" "DMRTest.at:466" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "s.i1[0:2][1:2] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:447" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:466" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:447: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:447" +$as_echo "$at_srcdir/DMRTest.at:466: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:466" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:447" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:466" $at_failed && at_fn_log_failure $at_traceon; } @@ -15377,7 +15761,7 @@ read at_status <"$at_status_file" #AT_STOP_159 #AT_START_160 -at_fn_group_banner 160 'DMRTest.at:451' \ +at_fn_group_banner 160 'DMRTest.at:470' \ "trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s test_array_7.1.xml.5.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15393,29 +15777,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[2:3]];/col=[[2:3]];s "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:451: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s \"" "DMRTest.at:451" +$as_echo "$at_srcdir/DMRTest.at:470: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s \"" "DMRTest.at:470" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:451" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:470" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:451: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:451" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:470: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:470" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:451" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:470" $at_failed && at_fn_log_failure $at_traceon; } @@ -15423,28 +15810,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:451: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s \" || true" "DMRTest.at:451" +$as_echo "$at_srcdir/DMRTest.at:470: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s \" || true" "DMRTest.at:470" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:451" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:470" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:451: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:451" +$as_echo "$at_srcdir/DMRTest.at:470: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:470" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:451" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:470" $at_failed && at_fn_log_failure $at_traceon; } @@ -15458,7 +15845,7 @@ read at_status <"$at_status_file" #AT_STOP_160 #AT_START_161 -at_fn_group_banner 161 'DMRTest.at:453' \ +at_fn_group_banner 161 'DMRTest.at:472' \ "trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s.i1 test_array_7.1.xml.6.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15474,29 +15861,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[2:3]];/col=[[2:3]];s.i1 "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:453: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s.i1 \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s.i1 \"" "DMRTest.at:453" +$as_echo "$at_srcdir/DMRTest.at:472: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s.i1 \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s.i1 \"" "DMRTest.at:472" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s.i1 " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:453" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:472" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:453: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:453" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:472: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:472" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:453" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:472" $at_failed && at_fn_log_failure $at_traceon; } @@ -15504,28 +15894,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:453: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s.i1 \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s.i1 \" || true" "DMRTest.at:453" +$as_echo "$at_srcdir/DMRTest.at:472: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s.i1 \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s.i1 \" || true" "DMRTest.at:472" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s.i1 " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:453" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:472" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:453: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:453" +$as_echo "$at_srcdir/DMRTest.at:472: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:472" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:453" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:472" $at_failed && at_fn_log_failure $at_traceon; } @@ -15539,7 +15929,7 @@ read at_status <"$at_status_file" #AT_STOP_161 #AT_START_162 -at_fn_group_banner 162 'DMRTest.at:454' \ +at_fn_group_banner 162 'DMRTest.at:473' \ "trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s.i1[][] test_array_7.1.xml.6.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15555,29 +15945,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[2:3]];/col=[[2:3]];s.i1[[]][[]] "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:454: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s.i1[][] \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s.i1[][] \"" "DMRTest.at:454" +$as_echo "$at_srcdir/DMRTest.at:473: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s.i1[][] \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s.i1[][] \"" "DMRTest.at:473" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s.i1[][] " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:454" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:473" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:454: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:454" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:473: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:473" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:454" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:473" $at_failed && at_fn_log_failure $at_traceon; } @@ -15585,28 +15978,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:454: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s.i1[][] \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s.i1[][] \" || true" "DMRTest.at:454" +$as_echo "$at_srcdir/DMRTest.at:473: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s.i1[][] \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s.i1[][] \" || true" "DMRTest.at:473" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s.i1[][] " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:454" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:473" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:454: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:454" +$as_echo "$at_srcdir/DMRTest.at:473: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:473" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:454" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:473" $at_failed && at_fn_log_failure $at_traceon; } @@ -15620,7 +16013,7 @@ read at_status <"$at_status_file" #AT_STOP_162 #AT_START_163 -at_fn_group_banner 163 'DMRTest.at:455' \ +at_fn_group_banner 163 'DMRTest.at:474' \ "trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s{i1} test_array_7.1.xml.6.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15636,29 +16029,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[2:3]];/col=[[2:3]];s{i1} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:455: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s{i1} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s{i1} \"" "DMRTest.at:455" +$as_echo "$at_srcdir/DMRTest.at:474: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s{i1} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s{i1} \"" "DMRTest.at:474" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s{i1} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:455" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:474" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:455: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:455" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:474: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:474" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:455" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:474" $at_failed && at_fn_log_failure $at_traceon; } @@ -15666,28 +16062,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:455: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s{i1} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s{i1} \" || true" "DMRTest.at:455" +$as_echo "$at_srcdir/DMRTest.at:474: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s{i1} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s{i1} \" || true" "DMRTest.at:474" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s{i1} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:455" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:474" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:455: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:455" +$as_echo "$at_srcdir/DMRTest.at:474: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:474" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:455" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:474" $at_failed && at_fn_log_failure $at_traceon; } @@ -15701,7 +16097,7 @@ read at_status <"$at_status_file" #AT_STOP_163 #AT_START_164 -at_fn_group_banner 164 'DMRTest.at:456' \ +at_fn_group_banner 164 'DMRTest.at:475' \ "trans ce test_array_7.1.xml /row=[2:3];/col=[2:3];s{i1[][]} test_array_7.1.xml.6.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15717,29 +16113,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/row=[[2:3]];/col=[[2:3]];s{i1[[]][[]]} "], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:456: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s{i1[][]} \"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s{i1[][]} \"" "DMRTest.at:456" +$as_echo "$at_srcdir/DMRTest.at:475: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s{i1[][]} \"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s{i1[][]} \"" "DMRTest.at:475" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s{i1[][]} " ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:456" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:475" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:456: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:456" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:475: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:475" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:456" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:475" $at_failed && at_fn_log_failure $at_traceon; } @@ -15747,28 +16146,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:456: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s{i1[][]} \" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s{i1[][]} \" || true" "DMRTest.at:456" +$as_echo "$at_srcdir/DMRTest.at:475: \$abs_builddir/dmr-test -x -t \$input -c \"/row=[2:3];/col=[2:3];s{i1[][]} \" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/row=[2:3];/col=[2:3];s{i1[][]} \" || true" "DMRTest.at:475" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/row=[2:3];/col=[2:3];s{i1[][]} " || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:456" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:475" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:456: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:456" +$as_echo "$at_srcdir/DMRTest.at:475: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:475" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:456" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:475" $at_failed && at_fn_log_failure $at_traceon; } @@ -15782,7 +16181,7 @@ read at_status <"$at_status_file" #AT_STOP_164 #AT_START_165 -at_fn_group_banner 165 'DMRTest.at:459' \ +at_fn_group_banner 165 'DMRTest.at:478' \ "trans ce test_array_7.2.xml /col=[1:2];s[]{i1} test_array_7.2.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15798,29 +16197,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s[[]]{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:459: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1}\"" "DMRTest.at:459" +$as_echo "$at_srcdir/DMRTest.at:478: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1}\"" "DMRTest.at:478" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[]{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:459" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:478" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:459: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:459" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:478: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:478" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:459" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:478" $at_failed && at_fn_log_failure $at_traceon; } @@ -15828,28 +16230,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:459: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1}\" || true" "DMRTest.at:459" +$as_echo "$at_srcdir/DMRTest.at:478: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1}\" || true" "DMRTest.at:478" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[]{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:459" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:478" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:459: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:459" +$as_echo "$at_srcdir/DMRTest.at:478: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:478" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:459" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:478" $at_failed && at_fn_log_failure $at_traceon; } @@ -15863,7 +16265,7 @@ read at_status <"$at_status_file" #AT_STOP_165 #AT_START_166 -at_fn_group_banner 166 'DMRTest.at:460' \ +at_fn_group_banner 166 'DMRTest.at:479' \ "trans ce test_array_7.2.xml /col=[1:2];s[]{i1[][]} test_array_7.2.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15879,29 +16281,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s[[]]{i1[[]][[]]}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:460: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1[][]}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1[][]}\"" "DMRTest.at:460" +$as_echo "$at_srcdir/DMRTest.at:479: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1[][]}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1[][]}\"" "DMRTest.at:479" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[]{i1[][]}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:460" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:479" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:460: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:460" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:479: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:479" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:460" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:479" $at_failed && at_fn_log_failure $at_traceon; } @@ -15909,28 +16314,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:460: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1[][]}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1[][]}\" || true" "DMRTest.at:460" +$as_echo "$at_srcdir/DMRTest.at:479: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1[][]}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1[][]}\" || true" "DMRTest.at:479" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[]{i1[][]}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:460" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:479" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:460: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:460" +$as_echo "$at_srcdir/DMRTest.at:479: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:479" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:460" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:479" $at_failed && at_fn_log_failure $at_traceon; } @@ -15944,7 +16349,7 @@ read at_status <"$at_status_file" #AT_STOP_166 #AT_START_167 -at_fn_group_banner 167 'DMRTest.at:461' \ +at_fn_group_banner 167 'DMRTest.at:480' \ "trans ce test_array_7.2.xml /col=[1:2];s{i1[][]} test_array_7.2.xml.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -15960,29 +16365,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s{i1[[]][[]]}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:461: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s{i1[][]}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s{i1[][]}\"" "DMRTest.at:461" +$as_echo "$at_srcdir/DMRTest.at:480: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s{i1[][]}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s{i1[][]}\"" "DMRTest.at:480" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s{i1[][]}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:461" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:480" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:461: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:461" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:480: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:480" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:461" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:480" $at_failed && at_fn_log_failure $at_traceon; } @@ -15990,28 +16398,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:461: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s{i1[][]}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s{i1[][]}\" || true" "DMRTest.at:461" +$as_echo "$at_srcdir/DMRTest.at:480: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s{i1[][]}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s{i1[][]}\" || true" "DMRTest.at:480" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s{i1[][]}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:461" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:480" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:461: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:461" +$as_echo "$at_srcdir/DMRTest.at:480: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:480" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:461" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:480" $at_failed && at_fn_log_failure $at_traceon; } @@ -16025,7 +16433,7 @@ read at_status <"$at_status_file" #AT_STOP_167 #AT_START_168 -at_fn_group_banner 168 'DMRTest.at:463' \ +at_fn_group_banner 168 'DMRTest.at:482' \ "trans ce test_array_7.2.xml /col=[1:2];s[]{i1[0][]} test_array_7.2.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16041,29 +16449,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s[[]]{i1[[0]][[]]}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:463: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1[0][]}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1[0][]}\"" "DMRTest.at:463" +$as_echo "$at_srcdir/DMRTest.at:482: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1[0][]}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1[0][]}\"" "DMRTest.at:482" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[]{i1[0][]}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:463" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:482" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:463: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:463" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:482: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:482" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:463" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:482" $at_failed && at_fn_log_failure $at_traceon; } @@ -16071,28 +16482,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:463: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1[0][]}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1[0][]}\" || true" "DMRTest.at:463" +$as_echo "$at_srcdir/DMRTest.at:482: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[]{i1[0][]}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[]{i1[0][]}\" || true" "DMRTest.at:482" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[]{i1[0][]}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:463" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:482" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:463: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:463" +$as_echo "$at_srcdir/DMRTest.at:482: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:482" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:463" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:482" $at_failed && at_fn_log_failure $at_traceon; } @@ -16106,7 +16517,7 @@ read at_status <"$at_status_file" #AT_STOP_168 #AT_START_169 -at_fn_group_banner 169 'DMRTest.at:464' \ +at_fn_group_banner 169 'DMRTest.at:483' \ "trans ce test_array_7.2.xml /col=[1:2];s{i1[0][]} test_array_7.2.xml.2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16122,29 +16533,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s{i1[[0]][[]]}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:464: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s{i1[0][]}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s{i1[0][]}\"" "DMRTest.at:464" +$as_echo "$at_srcdir/DMRTest.at:483: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s{i1[0][]}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s{i1[0][]}\"" "DMRTest.at:483" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s{i1[0][]}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:464" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:483" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:464: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:464" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:483: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:483" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:464" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:483" $at_failed && at_fn_log_failure $at_traceon; } @@ -16152,28 +16566,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:464: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s{i1[0][]}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s{i1[0][]}\" || true" "DMRTest.at:464" +$as_echo "$at_srcdir/DMRTest.at:483: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s{i1[0][]}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s{i1[0][]}\" || true" "DMRTest.at:483" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s{i1[0][]}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:464" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:483" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:464: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:464" +$as_echo "$at_srcdir/DMRTest.at:483: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:483" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:464" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:483" $at_failed && at_fn_log_failure $at_traceon; } @@ -16187,7 +16601,7 @@ read at_status <"$at_status_file" #AT_STOP_169 #AT_START_170 -at_fn_group_banner 170 'DMRTest.at:466' \ +at_fn_group_banner 170 'DMRTest.at:485' \ "trans ce test_array_7.2.xml /col=[1:2];s[0]{i1} test_array_7.2.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16203,29 +16617,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s[[0]]{i1}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:466: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1}\"" "DMRTest.at:466" +$as_echo "$at_srcdir/DMRTest.at:485: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1}\"" "DMRTest.at:485" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[0]{i1}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:466" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:485" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:466: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:466" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:485: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:485" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:466" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:485" $at_failed && at_fn_log_failure $at_traceon; } @@ -16233,28 +16650,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:466: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1}\" || true" "DMRTest.at:466" +$as_echo "$at_srcdir/DMRTest.at:485: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1}\" || true" "DMRTest.at:485" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[0]{i1}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:466" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:485" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:466: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:466" +$as_echo "$at_srcdir/DMRTest.at:485: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:485" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:466" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:485" $at_failed && at_fn_log_failure $at_traceon; } @@ -16268,7 +16685,7 @@ read at_status <"$at_status_file" #AT_STOP_170 #AT_START_171 -at_fn_group_banner 171 'DMRTest.at:467' \ +at_fn_group_banner 171 'DMRTest.at:486' \ "trans ce test_array_7.2.xml /col=[1:2];s[0]{i1[][]} test_array_7.2.xml.3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16284,29 +16701,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s[[0]]{i1[[]][[]]}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:467: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1[][]}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1[][]}\"" "DMRTest.at:467" +$as_echo "$at_srcdir/DMRTest.at:486: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1[][]}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1[][]}\"" "DMRTest.at:486" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[0]{i1[][]}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:467" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:486" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:467: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:467" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:486: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:486" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:467" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:486" $at_failed && at_fn_log_failure $at_traceon; } @@ -16314,28 +16734,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:467: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1[][]}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1[][]}\" || true" "DMRTest.at:467" +$as_echo "$at_srcdir/DMRTest.at:486: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1[][]}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1[][]}\" || true" "DMRTest.at:486" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[0]{i1[][]}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:467" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:486" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:467: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:467" +$as_echo "$at_srcdir/DMRTest.at:486: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:486" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:467" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:486" $at_failed && at_fn_log_failure $at_traceon; } @@ -16349,7 +16769,7 @@ read at_status <"$at_status_file" #AT_STOP_171 #AT_START_172 -at_fn_group_banner 172 'DMRTest.at:469' \ +at_fn_group_banner 172 'DMRTest.at:488' \ "trans ce test_array_7.2.xml /col=[1:2];s[0]{i1[0][]} test_array_7.2.xml.4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16365,29 +16785,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "/col=[[1:2]];s[[0]]{i1[[0]][[]]}"], [], [stdout], []) old version + { set +x -$as_echo "$at_srcdir/DMRTest.at:469: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1[0][]}\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1[0][]}\"" "DMRTest.at:469" +$as_echo "$at_srcdir/DMRTest.at:488: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1[0][]}\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1[0][]}\"" "DMRTest.at:488" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[0]{i1[0][]}" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:469" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:488" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:469: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:469" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:488: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:488" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:469" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:488" $at_failed && at_fn_log_failure $at_traceon; } @@ -16395,28 +16818,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:469: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1[0][]}\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1[0][]}\" || true" "DMRTest.at:469" +$as_echo "$at_srcdir/DMRTest.at:488: \$abs_builddir/dmr-test -x -t \$input -c \"/col=[1:2];s[0]{i1[0][]}\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -c \"/col=[1:2];s[0]{i1[0][]}\" || true" "DMRTest.at:488" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -c "/col=[1:2];s[0]{i1[0][]}" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:469" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:488" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:469: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:469" +$as_echo "$at_srcdir/DMRTest.at:488: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:488" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:469" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:488" $at_failed && at_fn_log_failure $at_traceon; } @@ -16430,7 +16853,7 @@ read at_status <"$at_status_file" #AT_STOP_172 #AT_START_173 -at_fn_group_banner 173 'DMRTest.at:473' \ +at_fn_group_banner 173 'DMRTest.at:492' \ "trans test_array_1.xml scale(x,1) test_array_1.xml.1.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16447,29 +16870,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:473: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:473" +$as_echo "$at_srcdir/DMRTest.at:492: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:492" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:473" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:492" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:473: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:473" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:492: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:492" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:473" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:492" $at_failed && at_fn_log_failure $at_traceon; } @@ -16477,28 +16903,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:473: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:473" +$as_echo "$at_srcdir/DMRTest.at:492: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:492" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:473" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:492" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:473: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:473" +$as_echo "$at_srcdir/DMRTest.at:492: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:492" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:473" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:492" $at_failed && at_fn_log_failure $at_traceon; } @@ -16512,7 +16938,7 @@ read at_status <"$at_status_file" #AT_STOP_173 #AT_START_174 -at_fn_group_banner 174 'DMRTest.at:474' \ +at_fn_group_banner 174 'DMRTest.at:493' \ "trans test_array_1.xml scale(x,10) test_array_1.xml.2.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16529,29 +16955,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:474: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:474" +$as_echo "$at_srcdir/DMRTest.at:493: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:493" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:474" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:493" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:474: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:474" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:493: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:493" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:474" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:493" $at_failed && at_fn_log_failure $at_traceon; } @@ -16559,28 +16988,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:474: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:474" +$as_echo "$at_srcdir/DMRTest.at:493: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:493" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:474" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:493" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:474: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:474" +$as_echo "$at_srcdir/DMRTest.at:493: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:493" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:474" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:493" $at_failed && at_fn_log_failure $at_traceon; } @@ -16594,7 +17023,7 @@ read at_status <"$at_status_file" #AT_STOP_174 #AT_START_175 -at_fn_group_banner 175 'DMRTest.at:475' \ +at_fn_group_banner 175 'DMRTest.at:494' \ "trans test_array_1.xml scale(x,-10) test_array_1.xml.3.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16611,29 +17040,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:475: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:475" +$as_echo "$at_srcdir/DMRTest.at:494: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:494" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:475" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:494" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:475: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:475" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:494: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:494" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:475" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:494" $at_failed && at_fn_log_failure $at_traceon; } @@ -16641,28 +17073,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:475: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:475" +$as_echo "$at_srcdir/DMRTest.at:494: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:494" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:475" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:494" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:475: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:475" +$as_echo "$at_srcdir/DMRTest.at:494: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:494" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:475" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:494" $at_failed && at_fn_log_failure $at_traceon; } @@ -16676,7 +17108,7 @@ read at_status <"$at_status_file" #AT_STOP_175 #AT_START_176 -at_fn_group_banner 176 'DMRTest.at:476' \ +at_fn_group_banner 176 'DMRTest.at:495' \ "trans test_array_1.xml scale(x,0.001) test_array_1.xml.4.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16693,29 +17125,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:476: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:476" +$as_echo "$at_srcdir/DMRTest.at:495: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:495" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:476" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:495" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:476: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:476" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:495: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:495" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:476" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:495" $at_failed && at_fn_log_failure $at_traceon; } @@ -16723,28 +17158,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:476: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:476" +$as_echo "$at_srcdir/DMRTest.at:495: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:495" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:476" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:495" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:476: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:476" +$as_echo "$at_srcdir/DMRTest.at:495: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:495" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:476" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:495" $at_failed && at_fn_log_failure $at_traceon; } @@ -16758,7 +17193,7 @@ read at_status <"$at_status_file" #AT_STOP_176 #AT_START_177 -at_fn_group_banner 177 'DMRTest.at:477' \ +at_fn_group_banner 177 'DMRTest.at:496' \ "trans test_array_1.xml scale(x,-0.001) test_array_1.xml.5.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16775,29 +17210,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:477: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:477" +$as_echo "$at_srcdir/DMRTest.at:496: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:496" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:477" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:496" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:477: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:477" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:496: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:496" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:477" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:496" $at_failed && at_fn_log_failure $at_traceon; } @@ -16805,28 +17243,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:477: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:477" +$as_echo "$at_srcdir/DMRTest.at:496: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:496" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:477" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:496" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:477: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:477" +$as_echo "$at_srcdir/DMRTest.at:496: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:496" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:477" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:496" $at_failed && at_fn_log_failure $at_traceon; } @@ -16840,7 +17278,7 @@ read at_status <"$at_status_file" #AT_STOP_177 #AT_START_178 -at_fn_group_banner 178 'DMRTest.at:481' \ +at_fn_group_banner 178 'DMRTest.at:500' \ "trans test_array_1.xml scale(x,0x7fffffffffffffff) test_array_1.xml.6.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16857,29 +17295,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:481: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:481" +$as_echo "$at_srcdir/DMRTest.at:500: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:500" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:481" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:500" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:481: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:481" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:500: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:500" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:481" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:500" $at_failed && at_fn_log_failure $at_traceon; } @@ -16887,28 +17328,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:481: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:481" +$as_echo "$at_srcdir/DMRTest.at:500: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:500" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:481" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:500" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:481: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:481" +$as_echo "$at_srcdir/DMRTest.at:500: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:500" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:481" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:500" $at_failed && at_fn_log_failure $at_traceon; } @@ -16922,7 +17363,7 @@ read at_status <"$at_status_file" #AT_STOP_178 #AT_START_179 -at_fn_group_banner 179 'DMRTest.at:483' \ +at_fn_group_banner 179 'DMRTest.at:502' \ "trans test_array_1.xml scale(x,0x8fffffffffffffff) test_array_1.xml.7.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -16939,29 +17380,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:483: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:483" +$as_echo "$at_srcdir/DMRTest.at:502: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:502" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:483" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:502" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:483: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:483" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:502: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:502" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:483" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:502" $at_failed && at_fn_log_failure $at_traceon; } @@ -16969,28 +17413,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:483: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:483" +$as_echo "$at_srcdir/DMRTest.at:502: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:502" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:483" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:502" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:483: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:483" +$as_echo "$at_srcdir/DMRTest.at:502: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:502" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:483" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:502" $at_failed && at_fn_log_failure $at_traceon; } @@ -17004,7 +17448,7 @@ read at_status <"$at_status_file" #AT_STOP_179 #AT_START_180 -at_fn_group_banner 180 'DMRTest.at:487' \ +at_fn_group_banner 180 'DMRTest.at:506' \ "trans test_array_5.xml scale(a,0.001) test_array_5.xml.1.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17021,29 +17465,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:487: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:487" +$as_echo "$at_srcdir/DMRTest.at:506: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:506" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:487" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:506" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:487: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:487" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:506: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:506" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:487" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:506" $at_failed && at_fn_log_failure $at_traceon; } @@ -17051,28 +17498,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:487: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:487" +$as_echo "$at_srcdir/DMRTest.at:506: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:506" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:487" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:506" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:487: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:487" +$as_echo "$at_srcdir/DMRTest.at:506: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:506" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:487" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:506" $at_failed && at_fn_log_failure $at_traceon; } @@ -17086,7 +17533,7 @@ read at_status <"$at_status_file" #AT_STOP_180 #AT_START_181 -at_fn_group_banner 181 'DMRTest.at:488' \ +at_fn_group_banner 181 'DMRTest.at:507' \ "trans test_array_5.xml scale(b,0.001) test_array_5.xml.2.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17103,29 +17550,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:488: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:488" +$as_echo "$at_srcdir/DMRTest.at:507: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:507" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:488" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:507" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:488: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:488" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:507: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:507" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:488" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:507" $at_failed && at_fn_log_failure $at_traceon; } @@ -17133,28 +17583,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:488: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:488" +$as_echo "$at_srcdir/DMRTest.at:507: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:507" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:488" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:507" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:488: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:488" +$as_echo "$at_srcdir/DMRTest.at:507: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:507" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:488" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:507" $at_failed && at_fn_log_failure $at_traceon; } @@ -17168,7 +17618,7 @@ read at_status <"$at_status_file" #AT_STOP_181 #AT_START_182 -at_fn_group_banner 182 'DMRTest.at:490' \ +at_fn_group_banner 182 'DMRTest.at:509' \ "trans test_array_5.xml scale(c,0.001) test_array_5.xml.3.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17185,29 +17635,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:490: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:490" +$as_echo "$at_srcdir/DMRTest.at:509: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:509" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:490" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:509" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:490: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:490" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:509: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:509" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:490" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:509" $at_failed && at_fn_log_failure $at_traceon; } @@ -17215,28 +17668,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:490: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:490" +$as_echo "$at_srcdir/DMRTest.at:509: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:509" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:490" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:509" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:490: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:490" +$as_echo "$at_srcdir/DMRTest.at:509: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:509" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:490" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:509" $at_failed && at_fn_log_failure $at_traceon; } @@ -17250,7 +17703,7 @@ read at_status <"$at_status_file" #AT_STOP_182 #AT_START_183 -at_fn_group_banner 183 'DMRTest.at:491' \ +at_fn_group_banner 183 'DMRTest.at:510' \ "trans test_array_5.xml scale(d,0.001) test_array_5.xml.4.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17267,29 +17720,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:491: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:491" +$as_echo "$at_srcdir/DMRTest.at:510: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:510" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:491" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:510" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:491: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:491" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:510: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:510" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:491" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:510" $at_failed && at_fn_log_failure $at_traceon; } @@ -17297,28 +17753,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:491: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:491" +$as_echo "$at_srcdir/DMRTest.at:510: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:510" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:491" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:510" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:491: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:491" +$as_echo "$at_srcdir/DMRTest.at:510: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:510" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:491" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:510" $at_failed && at_fn_log_failure $at_traceon; } @@ -17332,7 +17788,7 @@ read at_status <"$at_status_file" #AT_STOP_183 #AT_START_184 -at_fn_group_banner 184 'DMRTest.at:496' \ +at_fn_group_banner 184 'DMRTest.at:515' \ "trans vol_1_ce_1.xml scale(u,10) vol_1_ce_1.xml.1.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17349,29 +17805,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:496: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:496" +$as_echo "$at_srcdir/DMRTest.at:515: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:515" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:496" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:515" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:496: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:496" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:515: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:515" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:496" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:515" $at_failed && at_fn_log_failure $at_traceon; } @@ -17379,28 +17838,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:496: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:496" +$as_echo "$at_srcdir/DMRTest.at:515: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:515" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:496" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:515" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:496: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:496" +$as_echo "$at_srcdir/DMRTest.at:515: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:515" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:496" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:515" $at_failed && at_fn_log_failure $at_traceon; } @@ -17414,7 +17873,7 @@ read at_status <"$at_status_file" #AT_STOP_184 #AT_START_185 -at_fn_group_banner 185 'DMRTest.at:497' \ +at_fn_group_banner 185 'DMRTest.at:516' \ "trans vol_1_ce_1.xml scale(u,v) vol_1_ce_1.xml.2.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17431,29 +17890,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:497: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:497" +$as_echo "$at_srcdir/DMRTest.at:516: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:516" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:497" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:516" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:497: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:497" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:516: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:516" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:497" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:516" $at_failed && at_fn_log_failure $at_traceon; } @@ -17461,28 +17923,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:497: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:497" +$as_echo "$at_srcdir/DMRTest.at:516: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:516" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:497" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:516" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:497: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:497" +$as_echo "$at_srcdir/DMRTest.at:516: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:516" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:497" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:516" $at_failed && at_fn_log_failure $at_traceon; } @@ -17496,7 +17958,7 @@ read at_status <"$at_status_file" #AT_STOP_185 #AT_START_186 -at_fn_group_banner 186 'DMRTest.at:498' \ +at_fn_group_banner 186 'DMRTest.at:517' \ "trans vol_1_ce_1.xml scale(scale(u,10),0.01) vol_1_ce_1.xml.3.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17513,29 +17975,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:498: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:498" +$as_echo "$at_srcdir/DMRTest.at:517: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:517" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:498" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:517" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:498: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:498" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:517: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:517" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:498" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:517" $at_failed && at_fn_log_failure $at_traceon; } @@ -17543,28 +18008,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:498: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:498" +$as_echo "$at_srcdir/DMRTest.at:517: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:517" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:498" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:517" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:498: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:498" +$as_echo "$at_srcdir/DMRTest.at:517: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:517" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:498" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:517" $at_failed && at_fn_log_failure $at_traceon; } @@ -17578,7 +18043,7 @@ read at_status <"$at_status_file" #AT_STOP_186 #AT_START_187 -at_fn_group_banner 187 'DMRTest.at:501' \ +at_fn_group_banner 187 'DMRTest.at:520' \ "trans vol_1_ce_1.xml scale(Point.x,10) vol_1_ce_1.xml.4.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17595,29 +18060,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:501: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:501" +$as_echo "$at_srcdir/DMRTest.at:520: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:520" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:501" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:520" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:501: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:501" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:520: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:520" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:501" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:520" $at_failed && at_fn_log_failure $at_traceon; } @@ -17625,28 +18093,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:501: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:501" +$as_echo "$at_srcdir/DMRTest.at:520: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:520" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:501" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:520" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:501: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:501" +$as_echo "$at_srcdir/DMRTest.at:520: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:520" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:501" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:520" $at_failed && at_fn_log_failure $at_traceon; } @@ -17660,7 +18128,7 @@ read at_status <"$at_status_file" #AT_STOP_187 #AT_START_188 -at_fn_group_banner 188 'DMRTest.at:502' \ +at_fn_group_banner 188 'DMRTest.at:521' \ "trans vol_1_ce_1.xml scale(Point.x,Point.y) vol_1_ce_1.xml.5.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17677,29 +18145,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:502: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:502" +$as_echo "$at_srcdir/DMRTest.at:521: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:521" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:502" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:521" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:502: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:502" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:521: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:521" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:502" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:521" $at_failed && at_fn_log_failure $at_traceon; } @@ -17707,28 +18178,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:502: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:502" +$as_echo "$at_srcdir/DMRTest.at:521: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:521" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:502" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:521" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:502: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:502" +$as_echo "$at_srcdir/DMRTest.at:521: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:521" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:502" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:521" $at_failed && at_fn_log_failure $at_traceon; } @@ -17742,7 +18213,7 @@ read at_status <"$at_status_file" #AT_STOP_188 #AT_START_189 -at_fn_group_banner 189 'DMRTest.at:503' \ +at_fn_group_banner 189 'DMRTest.at:522' \ "trans vol_1_ce_1.xml scale(scale(Point.x,10),0.01) vol_1_ce_1.xml.6.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17759,29 +18230,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:503: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:503" +$as_echo "$at_srcdir/DMRTest.at:522: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:522" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:503" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:522" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:503: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:503" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:522: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:522" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:503" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:522" $at_failed && at_fn_log_failure $at_traceon; } @@ -17789,28 +18263,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:503: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:503" +$as_echo "$at_srcdir/DMRTest.at:522: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:522" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:503" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:522" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:503: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:503" +$as_echo "$at_srcdir/DMRTest.at:522: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:522" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:503" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:522" $at_failed && at_fn_log_failure $at_traceon; } @@ -17824,7 +18298,7 @@ read at_status <"$at_status_file" #AT_STOP_189 #AT_START_190 -at_fn_group_banner 190 'DMRTest.at:506' \ +at_fn_group_banner 190 'DMRTest.at:525' \ "trans vol_1_ce_1.xml scale(\\\$Byte(20:1,2,3,4),10) vol_1_ce_1.xml.7.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17841,29 +18315,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:506: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:506" +$as_echo "$at_srcdir/DMRTest.at:525: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:525" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:506" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:525" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:506: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:506" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:525: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:525" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:506" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:525" $at_failed && at_fn_log_failure $at_traceon; } @@ -17871,28 +18348,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:506: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:506" +$as_echo "$at_srcdir/DMRTest.at:525: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:525" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:506" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:525" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:506: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:506" +$as_echo "$at_srcdir/DMRTest.at:525: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:525" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:506" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:525" $at_failed && at_fn_log_failure $at_traceon; } @@ -17906,7 +18383,7 @@ read at_status <"$at_status_file" #AT_STOP_190 #AT_START_191 -at_fn_group_banner 191 'DMRTest.at:507' \ +at_fn_group_banner 191 'DMRTest.at:526' \ "trans vol_1_ce_1.xml scale(\\\$Int8(20:10,11,12,-9),10) vol_1_ce_1.xml.8.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -17923,29 +18400,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:507: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:507" +$as_echo "$at_srcdir/DMRTest.at:526: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:526" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:507" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:526" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:507: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:507" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:526: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:526" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:507" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:526" $at_failed && at_fn_log_failure $at_traceon; } @@ -17953,28 +18433,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:507: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:507" +$as_echo "$at_srcdir/DMRTest.at:526: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:526" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:507" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:526" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:507: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:507" +$as_echo "$at_srcdir/DMRTest.at:526: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:526" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:507" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:526" $at_failed && at_fn_log_failure $at_traceon; } @@ -17988,7 +18468,7 @@ read at_status <"$at_status_file" #AT_STOP_191 #AT_START_192 -at_fn_group_banner 192 'DMRTest.at:508' \ +at_fn_group_banner 192 'DMRTest.at:527' \ "trans vol_1_ce_1.xml scale(\\\$UInt16(20:1,2,3,4),10) vol_1_ce_1.xml.9.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18005,29 +18485,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:508: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:508" +$as_echo "$at_srcdir/DMRTest.at:527: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:527" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:508" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:527" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:508: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:508" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:527: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:527" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:508" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:527" $at_failed && at_fn_log_failure $at_traceon; } @@ -18035,28 +18518,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:508: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:508" +$as_echo "$at_srcdir/DMRTest.at:527: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:527" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:508" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:527" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:508: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:508" +$as_echo "$at_srcdir/DMRTest.at:527: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:527" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:508" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:527" $at_failed && at_fn_log_failure $at_traceon; } @@ -18070,7 +18553,7 @@ read at_status <"$at_status_file" #AT_STOP_192 #AT_START_193 -at_fn_group_banner 193 'DMRTest.at:509' \ +at_fn_group_banner 193 'DMRTest.at:528' \ "trans vol_1_ce_1.xml scale(\\\$Int16(20:1,2,3,-4),10) vol_1_ce_1.xml.10.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18087,29 +18570,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:509: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:509" +$as_echo "$at_srcdir/DMRTest.at:528: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:528" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:509" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:528" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:509: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:509" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:528: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:528" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:509" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:528" $at_failed && at_fn_log_failure $at_traceon; } @@ -18117,28 +18603,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:509: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:509" +$as_echo "$at_srcdir/DMRTest.at:528: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:528" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:509" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:528" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:509: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:509" +$as_echo "$at_srcdir/DMRTest.at:528: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:528" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:509" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:528" $at_failed && at_fn_log_failure $at_traceon; } @@ -18152,7 +18638,7 @@ read at_status <"$at_status_file" #AT_STOP_193 #AT_START_194 -at_fn_group_banner 194 'DMRTest.at:510' \ +at_fn_group_banner 194 'DMRTest.at:529' \ "trans vol_1_ce_1.xml scale(\\\$UInt32(20:1,2,3,4),10) vol_1_ce_1.xml.11.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18169,29 +18655,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:510: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:510" +$as_echo "$at_srcdir/DMRTest.at:529: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:529" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:510" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:529" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:510: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:510" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:529: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:529" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:510" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:529" $at_failed && at_fn_log_failure $at_traceon; } @@ -18199,28 +18688,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:510: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:510" +$as_echo "$at_srcdir/DMRTest.at:529: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:529" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:510" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:529" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:510: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:510" +$as_echo "$at_srcdir/DMRTest.at:529: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:529" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:510" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:529" $at_failed && at_fn_log_failure $at_traceon; } @@ -18234,7 +18723,7 @@ read at_status <"$at_status_file" #AT_STOP_194 #AT_START_195 -at_fn_group_banner 195 'DMRTest.at:511' \ +at_fn_group_banner 195 'DMRTest.at:530' \ "trans vol_1_ce_1.xml scale(\\\$Int32(20:1,2,3,-4),10) vol_1_ce_1.xml.12.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18251,29 +18740,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:511: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:511" +$as_echo "$at_srcdir/DMRTest.at:530: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:530" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:511" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:530" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:511: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:511" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:530: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:530" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:511" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:530" $at_failed && at_fn_log_failure $at_traceon; } @@ -18281,28 +18773,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:511: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:511" +$as_echo "$at_srcdir/DMRTest.at:530: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:530" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:511" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:530" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:511: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:511" +$as_echo "$at_srcdir/DMRTest.at:530: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:530" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:511" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:530" $at_failed && at_fn_log_failure $at_traceon; } @@ -18316,7 +18808,7 @@ read at_status <"$at_status_file" #AT_STOP_195 #AT_START_196 -at_fn_group_banner 196 'DMRTest.at:512' \ +at_fn_group_banner 196 'DMRTest.at:531' \ "trans vol_1_ce_1.xml scale(\\\$UInt64(20:1,2,3,0xffffffffffffffff),1) vol_1_ce_1.xml.13.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18333,29 +18825,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:512: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:512" +$as_echo "$at_srcdir/DMRTest.at:531: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:531" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:512" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:531" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:512: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:512" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:531: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:531" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:512" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:531" $at_failed && at_fn_log_failure $at_traceon; } @@ -18363,28 +18858,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:512: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:512" +$as_echo "$at_srcdir/DMRTest.at:531: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:531" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:512" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:531" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:512: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:512" +$as_echo "$at_srcdir/DMRTest.at:531: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:531" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:512" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:531" $at_failed && at_fn_log_failure $at_traceon; } @@ -18398,7 +18893,7 @@ read at_status <"$at_status_file" #AT_STOP_196 #AT_START_197 -at_fn_group_banner 197 'DMRTest.at:513' \ +at_fn_group_banner 197 'DMRTest.at:532' \ "trans vol_1_ce_1.xml scale(\\\$Int64(20:1,2,3,0x7fffffffffffffff),1) vol_1_ce_1.xml.14.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18415,29 +18910,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:513: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:513" +$as_echo "$at_srcdir/DMRTest.at:532: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:532" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:513" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:532" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:513: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:513" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:532: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:532" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:513" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:532" $at_failed && at_fn_log_failure $at_traceon; } @@ -18445,28 +18943,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:513: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:513" +$as_echo "$at_srcdir/DMRTest.at:532: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:532" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:513" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:532" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:513: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:513" +$as_echo "$at_srcdir/DMRTest.at:532: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:532" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:513" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:532" $at_failed && at_fn_log_failure $at_traceon; } @@ -18480,7 +18978,7 @@ read at_status <"$at_status_file" #AT_STOP_197 #AT_START_198 -at_fn_group_banner 198 'DMRTest.at:514' \ +at_fn_group_banner 198 'DMRTest.at:533' \ "trans vol_1_ce_1.xml scale(\\\$Float32(20:1,2,3,4.55),10) vol_1_ce_1.xml.15.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18497,29 +18995,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:514: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:514" +$as_echo "$at_srcdir/DMRTest.at:533: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:533" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:514" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:533" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:514: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:514" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:533: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:533" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:514" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:533" $at_failed && at_fn_log_failure $at_traceon; } @@ -18527,28 +19028,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:514: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:514" +$as_echo "$at_srcdir/DMRTest.at:533: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:533" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:514" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:533" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:514: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:514" +$as_echo "$at_srcdir/DMRTest.at:533: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:533" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:514" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:533" $at_failed && at_fn_log_failure $at_traceon; } @@ -18562,7 +19063,7 @@ read at_status <"$at_status_file" #AT_STOP_198 #AT_START_199 -at_fn_group_banner 199 'DMRTest.at:515' \ +at_fn_group_banner 199 'DMRTest.at:534' \ "trans vol_1_ce_1.xml scale(\\\$Float64(20:1,2,3,4.55),10) vol_1_ce_1.xml.16.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18579,29 +19080,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:515: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:515" +$as_echo "$at_srcdir/DMRTest.at:534: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:534" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:515" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:534" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:515: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:515" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:534: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:534" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:515" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:534" $at_failed && at_fn_log_failure $at_traceon; } @@ -18609,28 +19113,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:515: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:515" +$as_echo "$at_srcdir/DMRTest.at:534: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:534" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:515" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:534" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:515: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:515" +$as_echo "$at_srcdir/DMRTest.at:534: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:534" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:515" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:534" $at_failed && at_fn_log_failure $at_traceon; } @@ -18644,7 +19148,7 @@ read at_status <"$at_status_file" #AT_STOP_199 #AT_START_200 -at_fn_group_banner 200 'DMRTest.at:519' \ +at_fn_group_banner 200 'DMRTest.at:538' \ "trans vol_1_ce_10.xml scale(lat,10) vol_1_ce_10.xml.1.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18661,29 +19165,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:519: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:519" +$as_echo "$at_srcdir/DMRTest.at:538: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:538" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:519" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:538" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:519: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:519" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:538: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:538" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:519" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:538" $at_failed && at_fn_log_failure $at_traceon; } @@ -18691,28 +19198,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:519: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:519" +$as_echo "$at_srcdir/DMRTest.at:538: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:538" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:519" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:538" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:519: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:519" +$as_echo "$at_srcdir/DMRTest.at:538: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:538" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:519" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:538" $at_failed && at_fn_log_failure $at_traceon; } @@ -18726,7 +19233,7 @@ read at_status <"$at_status_file" #AT_STOP_200 #AT_START_201 -at_fn_group_banner 201 'DMRTest.at:520' \ +at_fn_group_banner 201 'DMRTest.at:539' \ "trans vol_1_ce_10.xml scale(lat,10);scale(lon,10) vol_1_ce_10.xml.2.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18743,29 +19250,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:520: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:520" +$as_echo "$at_srcdir/DMRTest.at:539: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:539" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:520" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:539" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:520: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:520" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:539: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:539" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:520" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:539" $at_failed && at_fn_log_failure $at_traceon; } @@ -18773,28 +19283,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:520: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:520" +$as_echo "$at_srcdir/DMRTest.at:539: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:539" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:520" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:539" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:520: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:520" +$as_echo "$at_srcdir/DMRTest.at:539: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:539" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:520" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:539" $at_failed && at_fn_log_failure $at_traceon; } @@ -18808,7 +19318,7 @@ read at_status <"$at_status_file" #AT_STOP_201 #AT_START_202 -at_fn_group_banner 202 'DMRTest.at:521' \ +at_fn_group_banner 202 'DMRTest.at:540' \ "trans vol_1_ce_10.xml scale(lat,10);scale(lon,10) lat[10:11][10:11];lon[10:11][10:11] vol_1_ce_10.xml.3.func_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18825,29 +19335,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:521: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:521" +$as_echo "$at_srcdir/DMRTest.at:540: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\"" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\"" "DMRTest.at:540" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:521" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:540" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:521: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:521" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:540: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:540" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:521" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:540" $at_failed && at_fn_log_failure $at_traceon; } @@ -18855,28 +19368,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:521: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" -at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:521" +$as_echo "$at_srcdir/DMRTest.at:540: \$abs_builddir/dmr-test -x -t \$input -f \"\$fe\" -c \"\$ce\" || true" +at_fn_check_prepare_dynamic "$abs_builddir/dmr-test -x -t $input -f \"$fe\" -c \"$ce\" || true" "DMRTest.at:540" ( $at_check_trace; $abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:521" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:540" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:521: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:521" +$as_echo "$at_srcdir/DMRTest.at:540: diff -b -B \$baseline stdout || diff -b -B \$baseline stderr" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout || diff -b -B $baseline stderr" "DMRTest.at:540" ( $at_check_trace; diff -b -B $baseline stdout || diff -b -B $baseline stderr ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:521" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:540" $at_failed && at_fn_log_failure $at_traceon; } @@ -18890,7 +19403,7 @@ read at_status <"$at_status_file" #AT_STOP_202 #AT_START_203 -at_fn_group_banner 203 'DMRTest.at:528' \ +at_fn_group_banner 203 'DMRTest.at:547' \ "filter test_simple_7.xml s test_simple_7.xml.f.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18906,29 +19419,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:528: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:528" +$as_echo "$at_srcdir/DMRTest.at:547: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:547" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:528" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:547" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:528: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:528" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:547: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:547" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:528" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:547" $at_failed && at_fn_log_failure $at_traceon; } @@ -18936,28 +19452,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:528: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:528" +$as_echo "$at_srcdir/DMRTest.at:547: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:547" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:528" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:547" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:528: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:528" +$as_echo "$at_srcdir/DMRTest.at:547: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:547" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:528" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:547" $at_failed && at_fn_log_failure $at_traceon; } @@ -18971,7 +19487,7 @@ read at_status <"$at_status_file" #AT_STOP_203 #AT_START_204 -at_fn_group_banner 204 'DMRTest.at:530' \ +at_fn_group_banner 204 'DMRTest.at:549' \ "filter test_simple_7.xml s|i1==1024 test_simple_7.xml.f1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -18987,29 +19503,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:530: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:530" +$as_echo "$at_srcdir/DMRTest.at:549: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:549" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:530" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:549" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:530: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:530" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:549: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:549" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:530" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:549" $at_failed && at_fn_log_failure $at_traceon; } @@ -19017,28 +19536,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:530: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:530" +$as_echo "$at_srcdir/DMRTest.at:549: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:549" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:530" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:549" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:530: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:530" +$as_echo "$at_srcdir/DMRTest.at:549: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:549" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:530" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:549" $at_failed && at_fn_log_failure $at_traceon; } @@ -19052,7 +19571,7 @@ read at_status <"$at_status_file" #AT_STOP_204 #AT_START_205 -at_fn_group_banner 205 'DMRTest.at:531' \ +at_fn_group_banner 205 'DMRTest.at:550' \ "filter test_simple_7.xml s|i1!=1024 test_simple_7.xml.f2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19068,29 +19587,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:531: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:531" +$as_echo "$at_srcdir/DMRTest.at:550: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:550" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:531" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:550" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:531: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:531" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:550: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:550" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:531" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:550" $at_failed && at_fn_log_failure $at_traceon; } @@ -19098,28 +19620,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:531: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:531" +$as_echo "$at_srcdir/DMRTest.at:550: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:550" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:531" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:550" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:531: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:531" +$as_echo "$at_srcdir/DMRTest.at:550: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:550" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:531" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:550" $at_failed && at_fn_log_failure $at_traceon; } @@ -19133,7 +19655,7 @@ read at_status <"$at_status_file" #AT_STOP_205 #AT_START_206 -at_fn_group_banner 206 'DMRTest.at:532' \ +at_fn_group_banner 206 'DMRTest.at:551' \ "filter test_simple_7.xml s|i1<=1024 test_simple_7.xml.f3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19149,29 +19671,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:532: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:532" +$as_echo "$at_srcdir/DMRTest.at:551: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:551" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:532" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:551" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:532: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:532" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:551: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:551" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:532" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:551" $at_failed && at_fn_log_failure $at_traceon; } @@ -19179,28 +19704,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:532: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:532" +$as_echo "$at_srcdir/DMRTest.at:551: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:551" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:532" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:551" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:532: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:532" +$as_echo "$at_srcdir/DMRTest.at:551: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:551" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:532" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:551" $at_failed && at_fn_log_failure $at_traceon; } @@ -19214,7 +19739,7 @@ read at_status <"$at_status_file" #AT_STOP_206 #AT_START_207 -at_fn_group_banner 207 'DMRTest.at:533' \ +at_fn_group_banner 207 'DMRTest.at:552' \ "filter test_simple_7.xml s|i1<1024 test_simple_7.xml.f4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19230,29 +19755,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:533: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:533" +$as_echo "$at_srcdir/DMRTest.at:552: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:552" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:533" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:552" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:533: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:533" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:552: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:552" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:533" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:552" $at_failed && at_fn_log_failure $at_traceon; } @@ -19260,28 +19788,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:533: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:533" +$as_echo "$at_srcdir/DMRTest.at:552: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:552" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:533" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:552" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:533: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:533" +$as_echo "$at_srcdir/DMRTest.at:552: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:552" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:533" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:552" $at_failed && at_fn_log_failure $at_traceon; } @@ -19295,7 +19823,7 @@ read at_status <"$at_status_file" #AT_STOP_207 #AT_START_208 -at_fn_group_banner 208 'DMRTest.at:534' \ +at_fn_group_banner 208 'DMRTest.at:553' \ "filter test_simple_7.xml s|i1<=1024 test_simple_7.xml.f5.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19311,29 +19839,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:534: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:534" +$as_echo "$at_srcdir/DMRTest.at:553: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:553" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:534" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:553" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:534: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:534" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:553: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:553" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:534" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:553" $at_failed && at_fn_log_failure $at_traceon; } @@ -19341,28 +19872,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:534: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:534" +$as_echo "$at_srcdir/DMRTest.at:553: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:553" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:534" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:553" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:534: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:534" +$as_echo "$at_srcdir/DMRTest.at:553: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:553" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:534" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:553" $at_failed && at_fn_log_failure $at_traceon; } @@ -19376,7 +19907,7 @@ read at_status <"$at_status_file" #AT_STOP_208 #AT_START_209 -at_fn_group_banner 209 'DMRTest.at:535' \ +at_fn_group_banner 209 'DMRTest.at:554' \ "filter test_simple_7.xml s|i1>1024 test_simple_7.xml.f6.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19392,29 +19923,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:535: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:535" +$as_echo "$at_srcdir/DMRTest.at:554: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:554" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:535" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:554" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:535: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:535" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:554: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:554" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:535" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:554" $at_failed && at_fn_log_failure $at_traceon; } @@ -19422,28 +19956,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:535: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:535" +$as_echo "$at_srcdir/DMRTest.at:554: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:554" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:535" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:554" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:535: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:535" +$as_echo "$at_srcdir/DMRTest.at:554: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:554" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:535" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:554" $at_failed && at_fn_log_failure $at_traceon; } @@ -19457,7 +19991,7 @@ read at_status <"$at_status_file" #AT_STOP_209 #AT_START_210 -at_fn_group_banner 210 'DMRTest.at:536' \ +at_fn_group_banner 210 'DMRTest.at:555' \ "filter test_simple_7.xml s|i1>=1024 test_simple_7.xml.f7.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19473,29 +20007,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:536: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:536" +$as_echo "$at_srcdir/DMRTest.at:555: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:555" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:536" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:555" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:536: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:536" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:555: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:555" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:536" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:555" $at_failed && at_fn_log_failure $at_traceon; } @@ -19503,28 +20040,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:536: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:536" +$as_echo "$at_srcdir/DMRTest.at:555: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:555" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:536" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:555" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:536: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:536" +$as_echo "$at_srcdir/DMRTest.at:555: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:555" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:536" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:555" $at_failed && at_fn_log_failure $at_traceon; } @@ -19538,7 +20075,7 @@ read at_status <"$at_status_file" #AT_STOP_210 #AT_START_211 -at_fn_group_banner 211 'DMRTest.at:538' \ +at_fn_group_banner 211 'DMRTest.at:557' \ "filter test_simple_7.xml s|1024[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:538: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:538" +$as_echo "$at_srcdir/DMRTest.at:557: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:557" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:538" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:557" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:538: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:538" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:557: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:557" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:538" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:557" $at_failed && at_fn_log_failure $at_traceon; } @@ -19584,28 +20124,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:538: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:538" +$as_echo "$at_srcdir/DMRTest.at:557: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:557" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:538" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:557" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:538: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:538" +$as_echo "$at_srcdir/DMRTest.at:557: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:557" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:538" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:557" $at_failed && at_fn_log_failure $at_traceon; } @@ -19619,7 +20159,7 @@ read at_status <"$at_status_file" #AT_STOP_211 #AT_START_212 -at_fn_group_banner 212 'DMRTest.at:539' \ +at_fn_group_banner 212 'DMRTest.at:558' \ "filter test_simple_7.xml s|1024<=i1<=32768 test_simple_7.xml.f9.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19635,29 +20175,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:539: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:539" +$as_echo "$at_srcdir/DMRTest.at:558: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:558" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:539" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:558" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:539: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:539" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:558: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:558" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:539" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:558" $at_failed && at_fn_log_failure $at_traceon; } @@ -19665,28 +20208,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:539: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:539" +$as_echo "$at_srcdir/DMRTest.at:558: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:558" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:539" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:558" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:539: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:539" +$as_echo "$at_srcdir/DMRTest.at:558: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:558" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:539" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:558" $at_failed && at_fn_log_failure $at_traceon; } @@ -19700,7 +20243,7 @@ read at_status <"$at_status_file" #AT_STOP_212 #AT_START_213 -at_fn_group_banner 213 'DMRTest.at:540' \ +at_fn_group_banner 213 'DMRTest.at:559' \ "filter test_simple_7.xml s|i1>=1024.0 test_simple_7.xml.fa.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19716,29 +20259,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:540: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:540" +$as_echo "$at_srcdir/DMRTest.at:559: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:559" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:540" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:559" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:540: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:540" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:559: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:559" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:540" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:559" $at_failed && at_fn_log_failure $at_traceon; } @@ -19746,28 +20292,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:540: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:540" +$as_echo "$at_srcdir/DMRTest.at:559: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:559" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:540" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:559" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:540: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:540" +$as_echo "$at_srcdir/DMRTest.at:559: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:559" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:540" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:559" $at_failed && at_fn_log_failure $at_traceon; } @@ -19781,7 +20327,7 @@ read at_status <"$at_status_file" #AT_STOP_213 #AT_START_214 -at_fn_group_banner 214 'DMRTest.at:542' \ +at_fn_group_banner 214 'DMRTest.at:561' \ "filter test_simple_7.xml s|s==\\\"Silly test string: 2\\\" test_simple_7.xml.fs1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19797,29 +20343,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:542: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:542" +$as_echo "$at_srcdir/DMRTest.at:561: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:561" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:542" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:561" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:542: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:542" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:561: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:561" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:542" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:561" $at_failed && at_fn_log_failure $at_traceon; } @@ -19827,28 +20376,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:542: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:542" +$as_echo "$at_srcdir/DMRTest.at:561: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:561" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:542" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:561" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:542: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:542" +$as_echo "$at_srcdir/DMRTest.at:561: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:561" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:542" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:561" $at_failed && at_fn_log_failure $at_traceon; } @@ -19862,7 +20411,7 @@ read at_status <"$at_status_file" #AT_STOP_214 #AT_START_215 -at_fn_group_banner 215 'DMRTest.at:543' \ +at_fn_group_banner 215 'DMRTest.at:562' \ "filter test_simple_7.xml s|s!=\\\"Silly test string: 2\\\" test_simple_7.xml.fs2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19878,29 +20427,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:543: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:543" +$as_echo "$at_srcdir/DMRTest.at:562: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:562" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:543" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:562" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:543: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:543" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:562: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:562" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:543" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:562" $at_failed && at_fn_log_failure $at_traceon; } @@ -19908,28 +20460,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:543: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:543" +$as_echo "$at_srcdir/DMRTest.at:562: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:562" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:543" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:562" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:543: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:543" +$as_echo "$at_srcdir/DMRTest.at:562: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:562" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:543" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:562" $at_failed && at_fn_log_failure $at_traceon; } @@ -19943,7 +20495,7 @@ read at_status <"$at_status_file" #AT_STOP_215 #AT_START_216 -at_fn_group_banner 216 'DMRTest.at:544' \ +at_fn_group_banner 216 'DMRTest.at:563' \ "filter test_simple_7.xml s|s<\\\"Silly test string: 2\\\" test_simple_7.xml.fs3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -19959,29 +20511,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:544: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:544" +$as_echo "$at_srcdir/DMRTest.at:563: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:563" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:544" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:563" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:544: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:544" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:563: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:563" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:544" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:563" $at_failed && at_fn_log_failure $at_traceon; } @@ -19989,28 +20544,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:544: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:544" +$as_echo "$at_srcdir/DMRTest.at:563: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:563" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:544" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:563" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:544: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:544" +$as_echo "$at_srcdir/DMRTest.at:563: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:563" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:544" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:563" $at_failed && at_fn_log_failure $at_traceon; } @@ -20024,7 +20579,7 @@ read at_status <"$at_status_file" #AT_STOP_216 #AT_START_217 -at_fn_group_banner 217 'DMRTest.at:545' \ +at_fn_group_banner 217 'DMRTest.at:564' \ "filter test_simple_7.xml s|s<=\\\"Silly test string: 2\\\" test_simple_7.xml.fs4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20040,29 +20595,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:545: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:545" +$as_echo "$at_srcdir/DMRTest.at:564: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:564" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:545" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:564" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:545: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:545" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:564: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:564" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:545" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:564" $at_failed && at_fn_log_failure $at_traceon; } @@ -20070,28 +20628,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:545: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:545" +$as_echo "$at_srcdir/DMRTest.at:564: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:564" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:545" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:564" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:545: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:545" +$as_echo "$at_srcdir/DMRTest.at:564: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:564" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:545" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:564" $at_failed && at_fn_log_failure $at_traceon; } @@ -20105,7 +20663,7 @@ read at_status <"$at_status_file" #AT_STOP_217 #AT_START_218 -at_fn_group_banner 218 'DMRTest.at:546' \ +at_fn_group_banner 218 'DMRTest.at:565' \ "filter test_simple_7.xml s|s>\\\"Silly test string: 2\\\" test_simple_7.xml.fs5.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20121,29 +20679,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:546: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:546" +$as_echo "$at_srcdir/DMRTest.at:565: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:565" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:546" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:565" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:546: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:546" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:565: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:565" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:546" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:565" $at_failed && at_fn_log_failure $at_traceon; } @@ -20151,28 +20712,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:546: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:546" +$as_echo "$at_srcdir/DMRTest.at:565: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:565" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:546" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:565" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:546: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:546" +$as_echo "$at_srcdir/DMRTest.at:565: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:565" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:546" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:565" $at_failed && at_fn_log_failure $at_traceon; } @@ -20186,7 +20747,7 @@ read at_status <"$at_status_file" #AT_STOP_218 #AT_START_219 -at_fn_group_banner 219 'DMRTest.at:547' \ +at_fn_group_banner 219 'DMRTest.at:566' \ "filter test_simple_7.xml s|s>=\\\"Silly test string: 2\\\" test_simple_7.xml.fs6.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20202,29 +20763,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:547: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:547" +$as_echo "$at_srcdir/DMRTest.at:566: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:566" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:547" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:566" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:547: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:547" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:566: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:566" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:547" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:566" $at_failed && at_fn_log_failure $at_traceon; } @@ -20232,28 +20796,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:547: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:547" +$as_echo "$at_srcdir/DMRTest.at:566: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:566" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:547" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:566" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:547: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:547" +$as_echo "$at_srcdir/DMRTest.at:566: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:566" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:547" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:566" $at_failed && at_fn_log_failure $at_traceon; } @@ -20267,7 +20831,7 @@ read at_status <"$at_status_file" #AT_STOP_219 #AT_START_220 -at_fn_group_banner 220 'DMRTest.at:548' \ +at_fn_group_banner 220 'DMRTest.at:567' \ "filter test_simple_7.xml s|s~=\\\".*2\\\" test_simple_7.xml.fs7.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20283,29 +20847,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:548: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:548" +$as_echo "$at_srcdir/DMRTest.at:567: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:567" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:548" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:567" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:548: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:548" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:567: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:567" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:548" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:567" $at_failed && at_fn_log_failure $at_traceon; } @@ -20313,28 +20880,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:548: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:548" +$as_echo "$at_srcdir/DMRTest.at:567: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:567" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:548" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:567" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:548: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:548" +$as_echo "$at_srcdir/DMRTest.at:567: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:567" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:548" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:567" $at_failed && at_fn_log_failure $at_traceon; } @@ -20348,7 +20915,7 @@ read at_status <"$at_status_file" #AT_STOP_220 #AT_START_221 -at_fn_group_banner 221 'DMRTest.at:552' \ +at_fn_group_banner 221 'DMRTest.at:571' \ "filter test_simple_7.xml s{i1}|i1<32768 test_simple_7.xml.g1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20364,29 +20931,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:552: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:552" +$as_echo "$at_srcdir/DMRTest.at:571: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:571" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:552" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:571" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:552: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:552" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:571: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:571" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:552" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:571" $at_failed && at_fn_log_failure $at_traceon; } @@ -20394,28 +20964,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:552: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:552" +$as_echo "$at_srcdir/DMRTest.at:571: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:571" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:552" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:571" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:552: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:552" +$as_echo "$at_srcdir/DMRTest.at:571: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:571" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:552" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:571" $at_failed && at_fn_log_failure $at_traceon; } @@ -20429,7 +20999,7 @@ read at_status <"$at_status_file" #AT_STOP_221 #AT_START_222 -at_fn_group_banner 222 'DMRTest.at:553' \ +at_fn_group_banner 222 'DMRTest.at:572' \ "filter test_simple_7.xml s{i1}|s<=\\\"Silly test string: 2\\\" test_simple_7.xml.g1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20445,29 +21015,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:553: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:553" +$as_echo "$at_srcdir/DMRTest.at:572: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:572" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:553" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:572" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:553: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:553" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:572: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:572" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:553" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:572" $at_failed && at_fn_log_failure $at_traceon; } @@ -20475,28 +21048,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:553: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:553" +$as_echo "$at_srcdir/DMRTest.at:572: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:572" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:553" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:572" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:553: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:553" +$as_echo "$at_srcdir/DMRTest.at:572: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:572" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:553" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:572" $at_failed && at_fn_log_failure $at_traceon; } @@ -20510,7 +21083,7 @@ read at_status <"$at_status_file" #AT_STOP_222 #AT_START_223 -at_fn_group_banner 223 'DMRTest.at:556' \ +at_fn_group_banner 223 'DMRTest.at:575' \ "filter test_simple_8.1.xml outer test_simple_8.1.xml.f1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20526,29 +21099,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:556: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:556" +$as_echo "$at_srcdir/DMRTest.at:575: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:575" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:556" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:575" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:556: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:556" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:575: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:575" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:556" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:575" $at_failed && at_fn_log_failure $at_traceon; } @@ -20556,28 +21132,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:556: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:556" +$as_echo "$at_srcdir/DMRTest.at:575: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:575" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:556" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:575" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:556: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:556" +$as_echo "$at_srcdir/DMRTest.at:575: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:575" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:556" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:575" $at_failed && at_fn_log_failure $at_traceon; } @@ -20591,7 +21167,7 @@ read at_status <"$at_status_file" #AT_STOP_223 #AT_START_224 -at_fn_group_banner 224 'DMRTest.at:557' \ +at_fn_group_banner 224 'DMRTest.at:576' \ "filter test_simple_8.1.xml outer{x;y} test_simple_8.1.xml.f2.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20607,29 +21183,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:557: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:557" +$as_echo "$at_srcdir/DMRTest.at:576: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:576" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:557" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:576" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:557: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:557" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:576: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:576" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:557" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:576" $at_failed && at_fn_log_failure $at_traceon; } @@ -20637,28 +21216,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:557: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:557" +$as_echo "$at_srcdir/DMRTest.at:576: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:576" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:557" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:576" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:557: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:557" +$as_echo "$at_srcdir/DMRTest.at:576: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:576" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:557" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:576" $at_failed && at_fn_log_failure $at_traceon; } @@ -20672,7 +21251,7 @@ read at_status <"$at_status_file" #AT_STOP_224 #AT_START_225 -at_fn_group_banner 225 'DMRTest.at:558' \ +at_fn_group_banner 225 'DMRTest.at:577' \ "filter test_simple_8.1.xml outer{x;y;inner} test_simple_8.1.xml.f3.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20688,29 +21267,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:558: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:558" +$as_echo "$at_srcdir/DMRTest.at:577: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:577" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:558" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:577" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:558: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:558" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:577: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:577" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:558" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:577" $at_failed && at_fn_log_failure $at_traceon; } @@ -20718,28 +21300,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:558: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:558" +$as_echo "$at_srcdir/DMRTest.at:577: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:577" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:558" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:577" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:558: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:558" +$as_echo "$at_srcdir/DMRTest.at:577: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:577" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:558" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:577" $at_failed && at_fn_log_failure $at_traceon; } @@ -20753,7 +21335,7 @@ read at_status <"$at_status_file" #AT_STOP_225 #AT_START_226 -at_fn_group_banner 226 'DMRTest.at:559' \ +at_fn_group_banner 226 'DMRTest.at:578' \ "filter test_simple_8.1.xml outer{x;y;inner|i1<1000} test_simple_8.1.xml.f4.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20769,29 +21351,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:559: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:559" +$as_echo "$at_srcdir/DMRTest.at:578: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:578" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:559" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:578" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:559: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:559" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:578: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:578" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:559" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:578" $at_failed && at_fn_log_failure $at_traceon; } @@ -20799,28 +21384,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:559: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:559" +$as_echo "$at_srcdir/DMRTest.at:578: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:578" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:559" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:578" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:559: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:559" +$as_echo "$at_srcdir/DMRTest.at:578: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:578" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:559" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:578" $at_failed && at_fn_log_failure $at_traceon; } @@ -20834,7 +21419,7 @@ read at_status <"$at_status_file" #AT_STOP_226 #AT_START_227 -at_fn_group_banner 227 'DMRTest.at:560' \ +at_fn_group_banner 227 'DMRTest.at:579' \ "filter test_simple_8.1.xml outer{x;y;inner|i1<1000}|x<0.0 test_simple_8.1.xml.f5.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20850,29 +21435,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:560: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:560" +$as_echo "$at_srcdir/DMRTest.at:579: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:579" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:560" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:579" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:560: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:560" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:579: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:579" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:560" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:579" $at_failed && at_fn_log_failure $at_traceon; } @@ -20880,28 +21468,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:560: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:560" +$as_echo "$at_srcdir/DMRTest.at:579: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:579" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:560" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:579" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:560: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:560" +$as_echo "$at_srcdir/DMRTest.at:579: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:579" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:560" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:579" $at_failed && at_fn_log_failure $at_traceon; } @@ -20915,7 +21503,7 @@ read at_status <"$at_status_file" #AT_STOP_227 #AT_START_228 -at_fn_group_banner 228 'DMRTest.at:567' \ +at_fn_group_banner 228 'DMRTest.at:586' \ "filter names_with_spaces.dmr /u names_with_spaces.dmr.1.trans_base" "" at_xfail=no test "Xpass" = "Xxfail" && at_xfail=yes @@ -20931,29 +21519,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:567: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:567" +$as_echo "$at_srcdir/DMRTest.at:586: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:586" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:567" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:586" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:567: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:567" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:586: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:586" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:567" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:586" $at_failed && at_fn_log_failure $at_traceon; } @@ -20961,28 +21552,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:567: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:567" +$as_echo "$at_srcdir/DMRTest.at:586: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:586" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:567" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:586" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:567: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:567" +$as_echo "$at_srcdir/DMRTest.at:586: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:586" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:567" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:586" $at_failed && at_fn_log_failure $at_traceon; } @@ -20996,7 +21587,7 @@ read at_status <"$at_status_file" #AT_STOP_228 #AT_START_229 -at_fn_group_banner 229 'DMRTest.at:568' \ +at_fn_group_banner 229 'DMRTest.at:587' \ "filter names_with_spaces.dmr /inst2/u names_with_spaces.dmr.2.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -21012,29 +21603,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:568: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:568" +$as_echo "$at_srcdir/DMRTest.at:587: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:587" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:568" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:587" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:568: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:568" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:587: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:587" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:568" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:587" $at_failed && at_fn_log_failure $at_traceon; } @@ -21042,28 +21636,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:568: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:568" +$as_echo "$at_srcdir/DMRTest.at:587: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:587" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:568" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:587" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:568: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:568" +$as_echo "$at_srcdir/DMRTest.at:587: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:587" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:568" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:587" $at_failed && at_fn_log_failure $at_traceon; } @@ -21077,7 +21671,7 @@ read at_status <"$at_status_file" #AT_STOP_229 #AT_START_230 -at_fn_group_banner 230 'DMRTest.at:569' \ +at_fn_group_banner 230 'DMRTest.at:588' \ "filter names_with_spaces.dmr /inst2/Point.x names_with_spaces.dmr.3.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -21093,29 +21687,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:569: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:569" +$as_echo "$at_srcdir/DMRTest.at:588: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:588" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:569" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:588" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:569: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:569" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:588: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:588" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:569" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:588" $at_failed && at_fn_log_failure $at_traceon; } @@ -21123,28 +21720,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:569: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:569" +$as_echo "$at_srcdir/DMRTest.at:588: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:588" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:569" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:588" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:569: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:569" +$as_echo "$at_srcdir/DMRTest.at:588: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:588" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:569" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:588" $at_failed && at_fn_log_failure $at_traceon; } @@ -21158,7 +21755,7 @@ read at_status <"$at_status_file" #AT_STOP_230 #AT_START_231 -at_fn_group_banner 231 'DMRTest.at:571' \ +at_fn_group_banner 231 'DMRTest.at:590' \ "filter names_with_spaces2.dmr /inst2/\\\"Point Break\\\".x names_with_spaces2.dmr.1.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -21174,29 +21771,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:571: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:571" +$as_echo "$at_srcdir/DMRTest.at:590: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:590" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:571" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:590" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:571: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:571" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:590: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:590" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:571" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:590" $at_failed && at_fn_log_failure $at_traceon; } @@ -21204,28 +21804,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:571: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:571" +$as_echo "$at_srcdir/DMRTest.at:590: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:590" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:571" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:590" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:571: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:571" +$as_echo "$at_srcdir/DMRTest.at:590: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:590" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:571" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:590" $at_failed && at_fn_log_failure $at_traceon; } @@ -21239,7 +21839,7 @@ read at_status <"$at_status_file" #AT_STOP_231 #AT_START_232 -at_fn_group_banner 232 'DMRTest.at:572' \ +at_fn_group_banner 232 'DMRTest.at:591' \ "filter names_with_spaces2.dmr /inst2/Point%20Break.x names_with_spaces2.dmr.1.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -21255,29 +21855,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:572: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:572" +$as_echo "$at_srcdir/DMRTest.at:591: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:591" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:572" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:591" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:572: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:572" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:591: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:591" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:572" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:591" $at_failed && at_fn_log_failure $at_traceon; } @@ -21285,28 +21888,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:572: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:572" +$as_echo "$at_srcdir/DMRTest.at:591: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:591" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:572" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:591" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:572: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:572" +$as_echo "$at_srcdir/DMRTest.at:591: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:591" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:572" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:591" $at_failed && at_fn_log_failure $at_traceon; } @@ -21320,7 +21923,7 @@ read at_status <"$at_status_file" #AT_STOP_232 #AT_START_233 -at_fn_group_banner 233 'DMRTest.at:573' \ +at_fn_group_banner 233 'DMRTest.at:592' \ "filter names_with_spaces2.dmr /inst2/\\\"Point%20Break\\\".x names_with_spaces2.dmr.1.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -21336,29 +21939,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:573: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:573" +$as_echo "$at_srcdir/DMRTest.at:592: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:592" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:573" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:592" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:573: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:573" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:592: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:592" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:573" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:592" $at_failed && at_fn_log_failure $at_traceon; } @@ -21366,28 +21972,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:573: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:573" +$as_echo "$at_srcdir/DMRTest.at:592: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:592" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:573" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:592" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:573: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:573" +$as_echo "$at_srcdir/DMRTest.at:592: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:592" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:573" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:592" $at_failed && at_fn_log_failure $at_traceon; } @@ -21401,7 +22007,7 @@ read at_status <"$at_status_file" #AT_STOP_233 #AT_START_234 -at_fn_group_banner 234 'DMRTest.at:575' \ +at_fn_group_banner 234 'DMRTest.at:594' \ "filter names_with_spaces3.dmr /inst2/\\\"New Group\\\"/x names_with_spaces3.dmr.1.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -21417,29 +22023,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:575: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:575" +$as_echo "$at_srcdir/DMRTest.at:594: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:594" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:575" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:594" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:575: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:575" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:594: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:594" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:575" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:594" $at_failed && at_fn_log_failure $at_traceon; } @@ -21447,28 +22056,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:575: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:575" +$as_echo "$at_srcdir/DMRTest.at:594: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:594" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:575" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:594" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:575: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:575" +$as_echo "$at_srcdir/DMRTest.at:594: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:594" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:575" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:594" $at_failed && at_fn_log_failure $at_traceon; } @@ -21482,7 +22091,7 @@ read at_status <"$at_status_file" #AT_STOP_234 #AT_START_235 -at_fn_group_banner 235 'DMRTest.at:576' \ +at_fn_group_banner 235 'DMRTest.at:595' \ "filter names_with_spaces3.dmr /inst2/New%20Group/x names_with_spaces3.dmr.1.trans_base" "" at_xfail=no test "Xxfail" = "Xxfail" && at_xfail=yes @@ -21498,29 +22107,32 @@ if test -n "$baselines" -a x$baselines = xyes; then : + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + { set +x -$as_echo "$at_srcdir/DMRTest.at:576: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:576" +$as_echo "$at_srcdir/DMRTest.at:595: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:595" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stderr:; tee stderr <"$at_stderr" echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:576" +at_fn_check_skip $at_status "$at_srcdir/DMRTest.at:595" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:576: mv stdout \$baseline.tmp" -at_fn_check_prepare_dynamic "mv stdout $baseline.tmp" "DMRTest.at:576" -( $at_check_trace; mv stdout $baseline.tmp +$as_echo "$at_srcdir/DMRTest.at:595: cat stdout stderr > \$baseline.tmp" +at_fn_check_prepare_dynamic "cat stdout stderr > $baseline.tmp" "DMRTest.at:595" +( $at_check_trace; cat stdout stderr > $baseline.tmp ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:576" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:595" $at_failed && at_fn_log_failure $at_traceon; } @@ -21528,28 +22140,28 @@ else { set +x -$as_echo "$at_srcdir/DMRTest.at:576: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " -at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:576" +$as_echo "$at_srcdir/DMRTest.at:595: \$abs_builddir/dmr-test -x -e -t \$input -c \"\$ce\" | sed 's@[0-9a-f][0-9a-f]*@@' " +at_fn_check_prepare_notrace 'a shell pipeline' "DMRTest.at:595" ( $at_check_trace; $abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[0-9a-f][0-9a-f]*@@' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:576" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:595" $at_failed && at_fn_log_failure $at_traceon; } { set +x -$as_echo "$at_srcdir/DMRTest.at:576: diff -b -B \$baseline stdout" -at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:576" +$as_echo "$at_srcdir/DMRTest.at:595: diff -b -B \$baseline stdout" +at_fn_check_prepare_dynamic "diff -b -B $baseline stdout" "DMRTest.at:595" ( $at_check_trace; diff -b -B $baseline stdout ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:576" +at_fn_check_status 0 $at_status "$at_srcdir/DMRTest.at:595" $at_failed && at_fn_log_failure $at_traceon; } diff -Nru libdap-3.19.1/tests/DMRTest.at libdap-3.20.5/tests/DMRTest.at --- libdap-3.19.1/tests/DMRTest.at 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/DMRTest.at 2020-02-17 07:35:45.000000000 +0000 @@ -23,8 +23,8 @@ AS_IF([test -n "$baselines" -a x$baselines = xyes], [ - AT_CHECK([$abs_builddir/dmr-test -x -p $input || true], [], [stdout], []) - AT_CHECK([mv stdout $baseline.tmp]) + AT_CHECK([$abs_builddir/dmr-test -x -p $input], [ignore], [stdout], [stderr]) + AT_CHECK([cat stdout stderr > $baseline.tmp]) ], [ AT_CHECK([$abs_builddir/dmr-test -x -p $input || true], [], [stdout], [stderr]) @@ -52,8 +52,11 @@ AS_IF([test -n "$baselines" -a x$baselines = xyes], [ - AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) - AT_CHECK([mv stdout $baseline.tmp]) + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input], [0], [stdout], [ignore]) + + AT_CHECK([$abs_builddir/dmr-test -x -t $input], [ignore], [stdout], [stderr]) + AT_CHECK([cat stdout stderr > $baseline.tmp]) ], [ AT_CHECK([$abs_builddir/dmr-test -x -t $input || true], [], [stdout], [stderr]) @@ -83,8 +86,12 @@ AS_IF([test -n "$baselines" -a x$baselines = xyes], [ echo "The command <>$abs_builddir/dmr-test -x -t $input $checksum_filt<>" - AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [0], [stdout], [ignore]) - AT_CHECK([mv stdout $baseline.tmp]) + + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [0], [stdout], [ignore]) + + AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [ignore], [stdout], [stderr]) + AT_CHECK([cat stdout stderr > $baseline.tmp]) ], [ AT_CHECK([$abs_builddir/dmr-test -x -t $input | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], [ignore]) @@ -110,8 +117,11 @@ AS_IF([test -n "$baselines" -a x$baselines = xyes], [ - AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "$2"], [], [stdout], []) - AT_CHECK([mv stdout $baseline.tmp]) + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "$2"], [], [stdout], []) old version + + AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "$2"], [ignore], [stdout], [stderr]) + AT_CHECK([cat stdout stderr > $baseline.tmp]) ], [ AT_CHECK([$abs_builddir/dmr-test -x -t $input -c "$2" || true], [], [stdout], [stderr]) @@ -138,8 +148,11 @@ AS_IF([test -n "$baselines" -a x$baselines = xyes], [ - AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) - AT_CHECK([mv stdout $baseline.tmp]) + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [], [stdout], []) + + AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce"], [ignore], [stdout], [stderr]) + AT_CHECK([cat stdout stderr > $baseline.tmp]) ], [ AT_CHECK([$abs_builddir/dmr-test -x -t $input -f "$fe" -c "$ce" || true], [], [stdout], [stderr]) @@ -166,8 +179,11 @@ AS_IF([test -n "$baselines" -a x$baselines = xyes], [ - AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) - AT_CHECK([mv stdout $baseline.tmp]) + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) + + AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [ignore], [stdout], [stderr]) + AT_CHECK([cat stdout stderr > $baseline.tmp]) ], [ AT_CHECK([$abs_builddir/dmr-test -x -e -t $input -c "$ce" | sed 's@[[0-9a-f]][[0-9a-f]]*@@' ], [], [stdout], []) @@ -195,8 +211,11 @@ AS_IF([test -n "$baselines" -a x$baselines = xyes], [ - AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) - AT_CHECK([mv stdout $baseline.tmp]) + # // old version - sbl 9.4.19 + # AT_CHECK([$abs_builddir/dmr-test -x -i $input], [], [stdout], []) + + AT_CHECK([$abs_builddir/dmr-test -x -i $input], [ignore], [stdout], [stderr]) + AT_CHECK([cat stdout stderr > $baseline.tmp]) ], [ AT_CHECK([$abs_builddir/dmr-test -x -i $input || true], [], [stdout], [stderr]) diff -Nru libdap-3.19.1/tests/dmr-testsuite/ignore_foreign_xml_1.xml.baseline libdap-3.20.5/tests/dmr-testsuite/ignore_foreign_xml_1.xml.baseline --- libdap-3.19.1/tests/dmr-testsuite/ignore_foreign_xml_1.xml.baseline 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/dmr-testsuite/ignore_foreign_xml_1.xml.baseline 2020-02-17 07:35:45.000000000 +0000 @@ -8221,22 +8221,5661 @@ HDFEOS_V2.18 - GROUP=SwathStructureEND_GROUP=SwathStructureGROUP=GridStructure GROUP=GRID_1 GridName="ascending" XDim=360 YDim=180 UpperLeftPointMtrs=(-179030000.000000,89030000.000000) LowerRightMtrs=(180030000.000000,-90030000.000000) Projection=GCTP_GEO GROUP=Dimension OBJECT=Dimension_1 DimensionName="StdPressureLev" Size=24 END_OBJECT=Dimension_1 OBJECT=Dimension_2 DimensionName="H2OPressureLev" Size=12 END_OBJECT=Dimension_2 OBJECT=Dimension_3 DimensionName="H2OPressureLay" Size=12 END_OBJECT=Dimension_3 OBJECT=Dimension_4 DimensionName="CoarseCloudLayer" Size=3 END_OBJECT=Dimension_4 OBJECT=Dimension_5 DimensionName="FineCloudLayer" Size=12 END_OBJECT=Dimension_5 OBJECT=Dimension_6 DimensionName="EmisFreqIR" Size=4 END_OBJECT=Dimension_6 END_GROUP=Dimension GROUP=DataField OBJECT=DataField_1 DataFieldName="TotalCounts_A" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_1 OBJECT=DataField_2 DataFieldName="SurfPres_Forecast_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_2 OBJECT=DataField_3 DataFieldName="SurfPres_Forecast_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_3 OBJECT=DataField_4 DataFieldName="SurfPres_Forecast_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_4 OBJECT=DataField_5 DataFieldName="SurfPres_Forecast_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_5 OBJECT=DataField_6 DataFieldName="SurfPres_Forecast_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_6 OBJECT=DataField_7 DataFieldName="SurfSkinTemp_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_7 OBJECT=DataField_8 DataFieldName="SurfSkinTemp_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_8 OBJECT=DataField_9 DataFieldName="SurfSkinTemp_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_9 OBJECT=DataField_10 DataFieldName="SurfSkinTemp_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_10 OBJECT=DataField_11 DataFieldName="SurfSkinTemp_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_11 OBJECT=DataField_12 DataFieldName="SurfSkinTemp_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_12 OBJECT=DataField_13 DataFieldName="EmisIR_A" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_13 OBJECT=DataField_14 DataFieldName="EmisIR_A_ct" DataType=DFNT_INT16 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_14 OBJECT=DataField_15 DataFieldName="EmisIR_A_sdev" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_15 OBJECT=DataField_16 DataFieldName="EmisIR_A_min" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_16 OBJECT=DataField_17 DataFieldName="EmisIR_A_max" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_17 OBJECT=DataField_18 DataFieldName="EmisIR_A_err" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_18 OBJECT=DataField_19 DataFieldName="Temperature_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_19 OBJECT=DataField_20 DataFieldName="Temperature_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_20 OBJECT=DataField_21 DataFieldName="Temperature_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_21 OBJECT=DataField_22 DataFieldName="Temperature_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_22 OBJECT=DataField_23 DataFieldName="Temperature_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_23 OBJECT=DataField_24 DataFieldName="Temperature_A_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_24 OBJECT=DataField_25 DataFieldName="SurfAirTemp_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_25 OBJECT=DataField_26 DataFieldName="SurfAirTemp_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_26 OBJECT=DataField_27 DataFieldName="SurfAirTemp_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_27 OBJECT=DataField_28 DataFieldName="SurfAirTemp_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_28 OBJECT=DataField_29 DataFieldName="SurfAirTemp_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_29 OBJECT=DataField_30 DataFieldName="SurfAirTemp_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_30 OBJECT=DataField_31 DataFieldName="TropPres_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_31 OBJECT=DataField_32 DataFieldName="TropPres_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_32 OBJECT=DataField_33 DataFieldName="TropPres_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_33 OBJECT=DataField_34 DataFieldName="TropPres_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_34 OBJECT=DataField_35 DataFieldName="TropPres_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_35 OBJECT=DataField_36 DataFieldName="TropTemp_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_36 OBJECT=DataField_37 DataFieldName="TropTemp_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_37 OBJECT=DataField_38 DataFieldName="TropTemp_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_38 OBJECT=DataField_39 DataFieldName="TropTemp_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_39 OBJECT=DataField_40 DataFieldName="TropTemp_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_40 OBJECT=DataField_41 DataFieldName="TotH2OVap_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_41 OBJECT=DataField_42 DataFieldName="TotH2OVap_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_42 OBJECT=DataField_43 DataFieldName="TotH2OVap_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_43 OBJECT=DataField_44 DataFieldName="TotH2OVap_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_44 OBJECT=DataField_45 DataFieldName="TotH2OVap_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_45 OBJECT=DataField_46 DataFieldName="TotH2OVap_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_46 OBJECT=DataField_47 DataFieldName="H2O_MMR_Lyr_A" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_47 OBJECT=DataField_48 DataFieldName="H2O_MMR_Lyr_A_ct" DataType=DFNT_INT16 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_48 OBJECT=DataField_49 DataFieldName="H2O_MMR_Lyr_A_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_49 OBJECT=DataField_50 DataFieldName="H2O_MMR_Lyr_A_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_50 OBJECT=DataField_51 DataFieldName="H2O_MMR_Lyr_A_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_51 OBJECT=DataField_52 DataFieldName="H2O_MMR_Lyr_A_err" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_52 OBJECT=DataField_53 DataFieldName="H2O_MMR_A" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_53 OBJECT=DataField_54 DataFieldName="H2O_MMR_A_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_54 OBJECT=DataField_55 DataFieldName="H2O_MMR_A_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_55 OBJECT=DataField_56 DataFieldName="H2O_MMR_A_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_56 OBJECT=DataField_57 DataFieldName="H2O_MMR_A_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_57 OBJECT=DataField_58 DataFieldName="H2O_MMR_A_err" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_58 OBJECT=DataField_59 DataFieldName="H2O_MMR_Surf_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_59 OBJECT=DataField_60 DataFieldName="H2O_MMR_Surf_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_60 OBJECT=DataField_61 DataFieldName="H2O_MMR_Surf_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_61 OBJECT=DataField_62 DataFieldName="H2O_MMR_Surf_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_62 OBJECT=DataField_63 DataFieldName="H2O_MMR_Surf_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_63 OBJECT=DataField_64 DataFieldName="H2O_MMR_Surf_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_64 OBJECT=DataField_65 DataFieldName="RelHum_A" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_65 OBJECT=DataField_66 DataFieldName="RelHum_A_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_66 OBJECT=DataField_67 DataFieldName="RelHum_A_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_67 OBJECT=DataField_68 DataFieldName="RelHum_A_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_68 OBJECT=DataField_69 DataFieldName="RelHum_A_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_69 OBJECT=DataField_70 DataFieldName="RelHumSurf_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_70 OBJECT=DataField_71 DataFieldName="RelHumSurf_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_71 OBJECT=DataField_72 DataFieldName="RelHumSurf_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_72 OBJECT=DataField_73 DataFieldName="RelHumSurf_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_73 OBJECT=DataField_74 DataFieldName="RelHumSurf_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_74 OBJECT=DataField_75 DataFieldName="RelHum_liquid_A" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_75 OBJECT=DataField_76 DataFieldName="RelHum_liquid_A_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_76 OBJECT=DataField_77 DataFieldName="RelHum_liquid_A_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_77 OBJECT=DataField_78 DataFieldName="RelHum_liquid_A_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_78 OBJECT=DataField_79 DataFieldName="RelHum_liquid_A_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_79 OBJECT=DataField_80 DataFieldName="RelHumSurf_liquid_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_80 OBJECT=DataField_81 DataFieldName="RelHumSurf_liquid_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_81 OBJECT=DataField_82 DataFieldName="RelHumSurf_liquid_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_82 OBJECT=DataField_83 DataFieldName="RelHumSurf_liquid_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_83 OBJECT=DataField_84 DataFieldName="RelHumSurf_liquid_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_84 OBJECT=DataField_85 DataFieldName="TropHeight_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_85 OBJECT=DataField_86 DataFieldName="TropHeight_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_86 OBJECT=DataField_87 DataFieldName="TropHeight_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_87 OBJECT=DataField_88 DataFieldName="TropHeight_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_88 OBJECT=DataField_89 DataFieldName="TropHeight_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_89 OBJECT=DataField_90 DataFieldName="GPHeight_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_90 OBJECT=DataField_91 DataFieldName="GPHeight_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_91 OBJECT=DataField_92 DataFieldName="GPHeight_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_92 OBJECT=DataField_93 DataFieldName="GPHeight_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_93 OBJECT=DataField_94 DataFieldName="GPHeight_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_94 OBJECT=DataField_95 DataFieldName="CloudFrc_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_95 OBJECT=DataField_96 DataFieldName="CloudFrc_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_96 OBJECT=DataField_97 DataFieldName="CloudFrc_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_97 OBJECT=DataField_98 DataFieldName="CloudFrc_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_98 OBJECT=DataField_99 DataFieldName="CloudFrc_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_99 OBJECT=DataField_100 DataFieldName="CloudFrc_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_100 OBJECT=DataField_101 DataFieldName="CloudTopPres_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_101 OBJECT=DataField_102 DataFieldName="CloudTopPres_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_102 OBJECT=DataField_103 DataFieldName="CloudTopPres_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_103 OBJECT=DataField_104 DataFieldName="CloudTopPres_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_104 OBJECT=DataField_105 DataFieldName="CloudTopPres_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_105 OBJECT=DataField_106 DataFieldName="CloudTopPres_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_106 OBJECT=DataField_107 DataFieldName="CloudTopTemp_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_107 OBJECT=DataField_108 DataFieldName="CloudTopTemp_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_108 OBJECT=DataField_109 DataFieldName="CloudTopTemp_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_109 OBJECT=DataField_110 DataFieldName="CloudTopTemp_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_110 OBJECT=DataField_111 DataFieldName="CloudTopTemp_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_111 OBJECT=DataField_112 DataFieldName="CloudTopTemp_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_112 OBJECT=DataField_113 DataFieldName="FineCloudFrc_A" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_113 OBJECT=DataField_114 DataFieldName="FineCloudFrc_A_ct" DataType=DFNT_INT16 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_114 OBJECT=DataField_115 DataFieldName="FineCloudFrc_A_sdev" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_115 OBJECT=DataField_116 DataFieldName="FineCloudFrc_A_min" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_116 OBJECT=DataField_117 DataFieldName="FineCloudFrc_A_max" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_117 OBJECT=DataField_118 DataFieldName="CoarseCloudFrc_A" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_118 OBJECT=DataField_119 DataFieldName="CoarseCloudFrc_A_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_119 OBJECT=DataField_120 DataFieldName="CoarseCloudFrc_A_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_120 OBJECT=DataField_121 DataFieldName="CoarseCloudFrc_A_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_121 OBJECT=DataField_122 DataFieldName="CoarseCloudFrc_A_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_122 OBJECT=DataField_123 DataFieldName="CoarseCloudPres_A" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_123 OBJECT=DataField_124 DataFieldName="CoarseCloudPres_A_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_124 OBJECT=DataField_125 DataFieldName="CoarseCloudPres_A_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_125 OBJECT=DataField_126 DataFieldName="CoarseCloudPres_A_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_126 OBJECT=DataField_127 DataFieldName="CoarseCloudPres_A_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_127 OBJECT=DataField_128 DataFieldName="CoarseCloudTemp_A" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_128 OBJECT=DataField_129 DataFieldName="CoarseCloudTemp_A_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_129 OBJECT=DataField_130 DataFieldName="CoarseCloudTemp_A_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_130 OBJECT=DataField_131 DataFieldName="CoarseCloudTemp_A_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_131 OBJECT=DataField_132 DataFieldName="CoarseCloudTemp_A_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_132 OBJECT=DataField_133 DataFieldName="TotO3_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_133 OBJECT=DataField_134 DataFieldName="TotO3_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_134 OBJECT=DataField_135 DataFieldName="TotO3_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_135 OBJECT=DataField_136 DataFieldName="TotO3_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_136 OBJECT=DataField_137 DataFieldName="TotO3_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_137 OBJECT=DataField_138 DataFieldName="TotO3_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_138 OBJECT=DataField_139 DataFieldName="O3_VMR_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_139 OBJECT=DataField_140 DataFieldName="O3_VMR_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_140 OBJECT=DataField_141 DataFieldName="O3_VMR_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_141 OBJECT=DataField_142 DataFieldName="O3_VMR_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_142 OBJECT=DataField_143 DataFieldName="O3_VMR_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_143 OBJECT=DataField_144 DataFieldName="O3_VMR_A_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_144 OBJECT=DataField_145 DataFieldName="TotCO_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_145 OBJECT=DataField_146 DataFieldName="TotCO_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_146 OBJECT=DataField_147 DataFieldName="TotCO_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_147 OBJECT=DataField_148 DataFieldName="TotCO_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_148 OBJECT=DataField_149 DataFieldName="TotCO_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_149 OBJECT=DataField_150 DataFieldName="CO_VMR_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_150 OBJECT=DataField_151 DataFieldName="CO_VMR_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_151 OBJECT=DataField_152 DataFieldName="CO_VMR_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") + GROUP=SwathStructure +END_GROUP=SwathStructure +GROUP=GridStructure + GROUP=GRID_1 + GridName="ascending" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName="StdPressureLev" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName="H2OPressureLev" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName="H2OPressureLay" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName="CoarseCloudLayer" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName="FineCloudLayer" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName="EmisFreqIR" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName="TotalCounts_A" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName="SurfPres_Forecast_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName="SurfPres_Forecast_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName="SurfPres_Forecast_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName="SurfPres_Forecast_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName="SurfPres_Forecast_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName="SurfSkinTemp_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName="SurfSkinTemp_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName="SurfSkinTemp_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName="SurfSkinTemp_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName="SurfSkinTemp_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName="SurfSkinTemp_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName="EmisIR_A" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName="EmisIR_A_ct" + DataType=DFNT_INT16 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName="EmisIR_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName="EmisIR_A_min" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName="EmisIR_A_max" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName="EmisIR_A_err" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName="Temperature_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName="Temperature_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName="Temperature_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName="Temperature_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName="Temperature_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName="Temperature_A_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName="SurfAirTemp_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName="SurfAirTemp_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName="SurfAirTemp_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName="SurfAirTemp_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName="SurfAirTemp_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName="SurfAirTemp_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName="TropPres_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName="TropPres_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName="TropPres_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName="TropPres_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName="TropPres_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName="TropTemp_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName="TropTemp_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName="TropTemp_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName="TropTemp_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName="TropTemp_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName="TotH2OVap_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName="TotH2OVap_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName="TotH2OVap_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName="TotH2OVap_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName="TotH2OVap_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName="TotH2OVap_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName="H2O_MMR_Lyr_A" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName="H2O_MMR_Lyr_A_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName="H2O_MMR_Lyr_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName="H2O_MMR_Lyr_A_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName="H2O_MMR_Lyr_A_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName="H2O_MMR_Lyr_A_err" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName="H2O_MMR_A" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName="H2O_MMR_A_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName="H2O_MMR_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName="H2O_MMR_A_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName="H2O_MMR_A_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName="H2O_MMR_A_err" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName="H2O_MMR_Surf_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName="H2O_MMR_Surf_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName="H2O_MMR_Surf_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName="H2O_MMR_Surf_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName="H2O_MMR_Surf_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName="H2O_MMR_Surf_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName="RelHum_A" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName="RelHum_A_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName="RelHum_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName="RelHum_A_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName="RelHum_A_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName="RelHumSurf_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName="RelHumSurf_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName="RelHumSurf_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName="RelHumSurf_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName="RelHumSurf_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName="RelHum_liquid_A" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName="RelHum_liquid_A_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName="RelHum_liquid_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName="RelHum_liquid_A_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName="RelHum_liquid_A_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName="RelHumSurf_liquid_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName="RelHumSurf_liquid_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName="RelHumSurf_liquid_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName="RelHumSurf_liquid_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName="RelHumSurf_liquid_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName="TropHeight_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName="TropHeight_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName="TropHeight_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName="TropHeight_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName="TropHeight_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName="GPHeight_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName="GPHeight_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName="GPHeight_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName="GPHeight_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName="GPHeight_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName="CloudFrc_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName="CloudFrc_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName="CloudFrc_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName="CloudFrc_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName="CloudFrc_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName="CloudFrc_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName="CloudTopPres_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName="CloudTopPres_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName="CloudTopPres_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName="CloudTopPres_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName="CloudTopPres_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName="CloudTopPres_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName="CloudTopTemp_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName="CloudTopTemp_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName="CloudTopTemp_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName="CloudTopTemp_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName="CloudTopTemp_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName="CloudTopTemp_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName="FineCloudFrc_A" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName="FineCloudFrc_A_ct" + DataType=DFNT_INT16 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName="FineCloudFrc_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName="FineCloudFrc_A_min" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName="FineCloudFrc_A_max" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName="CoarseCloudFrc_A" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName="CoarseCloudFrc_A_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName="CoarseCloudFrc_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName="CoarseCloudFrc_A_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName="CoarseCloudFrc_A_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName="CoarseCloudPres_A" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName="CoarseCloudPres_A_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName="CoarseCloudPres_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName="CoarseCloudPres_A_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName="CoarseCloudPres_A_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName="CoarseCloudTemp_A" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName="CoarseCloudTemp_A_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName="CoarseCloudTemp_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName="CoarseCloudTemp_A_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName="CoarseCloudTemp_A_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName="TotO3_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName="TotO3_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName="TotO3_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName="TotO3_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName="TotO3_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName="TotO3_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName="O3_VMR_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName="O3_VMR_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName="O3_VMR_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName="O3_VMR_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName="O3_VMR_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName="O3_VMR_A_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName="TotCO_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName="TotCO_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName="TotCO_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName="TotCO_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName="TotCO_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName="CO_VMR_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName="CO_VMR_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName="CO_VMR_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + - CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_152 OBJECT=DataField_153 DataFieldName="CO_VMR_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_153 OBJECT=DataField_154 DataFieldName="CO_VMR_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_154 OBJECT=DataField_155 DataFieldName="CO_VMR_A_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_155 OBJECT=DataField_156 DataFieldName="TotCH4_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_156 OBJECT=DataField_157 DataFieldName="TotCH4_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_157 OBJECT=DataField_158 DataFieldName="TotCH4_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_158 OBJECT=DataField_159 DataFieldName="TotCH4_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_159 OBJECT=DataField_160 DataFieldName="TotCH4_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_160 OBJECT=DataField_161 DataFieldName="CH4_VMR_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_161 OBJECT=DataField_162 DataFieldName="CH4_VMR_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_162 OBJECT=DataField_163 DataFieldName="CH4_VMR_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_163 OBJECT=DataField_164 DataFieldName="CH4_VMR_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_164 OBJECT=DataField_165 DataFieldName="CH4_VMR_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_165 OBJECT=DataField_166 DataFieldName="CH4_VMR_A_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_166 OBJECT=DataField_167 DataFieldName="OLR_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_167 OBJECT=DataField_168 DataFieldName="OLR_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_168 OBJECT=DataField_169 DataFieldName="OLR_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_169 OBJECT=DataField_170 DataFieldName="OLR_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_170 OBJECT=DataField_171 DataFieldName="OLR_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_171 OBJECT=DataField_172 DataFieldName="OLR_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_172 OBJECT=DataField_173 DataFieldName="ClrOLR_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_173 OBJECT=DataField_174 DataFieldName="ClrOLR_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_174 OBJECT=DataField_175 DataFieldName="ClrOLR_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_175 OBJECT=DataField_176 DataFieldName="ClrOLR_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_176 OBJECT=DataField_177 DataFieldName="ClrOLR_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_177 OBJECT=DataField_178 DataFieldName="ClrOLR_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_178 END_GROUP=DataField GROUP=MergedFields END_GROUP=MergedFields END_GROUP=GRID_1 GROUP=GRID_2 GridName="descending" XDim=360 YDim=180 UpperLeftPointMtrs=(-179030000.000000,89030000.000000) LowerRightMtrs=(180030000.000000,-90030000.000000) Projection=GCTP_GEO GROUP=Dimension OBJECT=Dimension_1 DimensionName="StdPressureLev" Size=24 END_OBJECT=Dimension_1 OBJECT=Dimension_2 DimensionName="H2OPressureLev" Size=12 END_OBJECT=Dimension_2 OBJECT=Dimension_3 DimensionName="H2OPressureLay" Size=12 END_OBJECT=Dimension_3 OBJECT=Dimension_4 DimensionName="CoarseCloudLayer" Size=3 END_OBJECT=Dimension_4 OBJECT=Dimension_5 DimensionName="FineCloudLayer" Size=12 END_OBJECT=Dimension_5 OBJECT=Dimension_6 DimensionName="EmisFreqIR" Size=4 END_OBJECT=Dimension_6 END_GROUP=Dimension GROUP=DataField OBJECT=DataField_1 DataFieldName="TotalCounts_D" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_1 OBJECT=DataField_2 DataFieldName="SurfPres_Forecast_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_2 OBJECT=DataField_3 DataFieldName="SurfPres_Forecast_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_3 OBJECT=DataField_4 DataFieldName="SurfPres_Forecast_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_4 OBJECT=DataField_5 DataFieldName="SurfPres_Forecast_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_5 OBJECT=DataField_6 DataFieldName="SurfPres_Forecast_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_6 OBJECT=DataField_7 DataFieldName="SurfSkinTemp_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_7 OBJECT=DataField_8 DataFieldName="SurfSkinTemp_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_8 OBJECT=DataField_9 DataFieldName="SurfSkinTemp_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_9 OBJECT=DataField_10 DataFieldName="SurfSkinTemp_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_10 OBJECT=DataField_11 DataFieldName="SurfSkinTemp_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_11 OBJECT=DataField_12 DataFieldName="SurfSkinTemp_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_12 OBJECT=DataField_13 DataFieldName="EmisIR_D" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_13 OBJECT=DataField_14 DataFieldName="EmisIR_D_ct" DataType=DFNT_INT16 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_14 OBJECT=DataField_15 DataFieldName="EmisIR_D_sdev" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_15 OBJECT=DataField_16 DataFieldName="EmisIR_D_min" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_16 OBJECT=DataField_17 DataFieldName="EmisIR_D_max" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_17 OBJECT=DataField_18 DataFieldName="EmisIR_D_err" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_18 OBJECT=DataField_19 DataFieldName="Temperature_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_19 OBJECT=DataField_20 DataFieldName="Temperature_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_20 OBJECT=DataField_21 DataFieldName="Temperature_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_21 OBJECT=DataField_22 DataFieldName="Temperature_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_22 OBJECT=DataField_23 DataFieldName="Temperature_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_23 OBJECT=DataField_24 DataFieldName="Temperature_D_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_24 OBJECT=DataField_25 DataFieldName="SurfAirTemp_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_25 OBJECT=DataField_26 DataFieldName="SurfAirTemp_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_26 OBJECT=DataField_27 DataFieldName="SurfAirTemp_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_27 OBJECT=DataField_28 DataFieldName="SurfAirTemp_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_28 OBJECT=DataField_29 DataFieldName="SurfAirTemp_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_29 OBJECT=DataField_30 DataFieldName="SurfAirTemp_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_30 OBJECT=DataField_31 DataFieldName="TropPres_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_31 OBJECT=DataField_32 DataFieldName="TropPres_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_32 OBJECT=DataField_33 DataFieldName="TropPres_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_33 OBJECT=DataField_34 DataFieldName="TropPres_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_34 OBJECT=DataField_35 DataFieldName="TropPres_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_35 OBJECT=DataField_36 DataFieldName="TropTemp_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_36 OBJECT=DataField_37 DataFieldName="TropTemp_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_37 OBJECT=DataField_38 DataFieldName="TropTemp_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_38 OBJECT=DataField_39 DataFieldName="TropTemp_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_39 OBJECT=DataField_40 DataFieldName="TropTemp_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_40 OBJECT=DataField_41 DataFieldName="TotH2OVap_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_41 OBJECT=DataField_42 DataFieldName="TotH2OVap_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_42 OBJECT=DataField_43 DataFieldName="TotH2OVap_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_43 OBJECT=DataField_44 DataFieldName="TotH2OVap_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_44 OBJECT=DataField_45 DataFieldName="TotH2OVap_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_45 OBJECT=DataField_46 DataFieldName="TotH2OVap_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_46 OBJECT=DataField_47 DataFieldName="H2O_MMR_Lyr_D" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_47 OBJECT=DataField_48 DataFieldName="H2O_MMR_Lyr_D_ct" DataType=DFNT_INT16 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_48 OBJECT=DataField_49 DataFieldName="H2O_MMR_Lyr_D_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_49 OBJECT=DataField_50 DataFieldName="H2O_MMR_Lyr_D_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_50 OBJECT=DataField_51 DataFieldName="H2O_MMR_Lyr_D_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_51 OBJECT=DataField_52 DataFieldName="H2O_MMR_Lyr_D_err" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_52 OBJECT=DataField_53 DataFieldName="H2O_MMR_D" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_53 OBJECT=DataField_54 DataFieldName="H2O_MMR_D_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_54 OBJECT=DataField_55 DataFieldName="H2O_MMR_D_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_55 OBJECT=DataField_56 DataFieldName="H2O_MMR_D_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_56 OBJECT=DataField_57 DataFieldName="H2O_MMR_D_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_57 OBJECT=DataField_58 DataFieldName="H2O_MMR_D_err" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_58 OBJECT=DataField_59 DataFieldName="H2O_MMR_Surf_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_59 OBJECT=DataField_60 DataFieldName="H2O_MMR_Surf_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_60 OBJECT=DataField_61 DataFieldName="H2O_MMR_Surf_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_61 OBJECT=DataField_62 DataFieldName="H2O_MMR_Surf_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_62 OBJECT=DataField_63 DataFieldName="H2O_MMR_Surf_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_63 OBJECT=DataField_64 DataFieldName="H2O_MMR_Surf_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_64 OBJECT=DataField_65 DataFieldName="RelHum_D" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_65 OBJECT=DataField_66 DataFieldName="RelHum_D_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_66 OBJECT=DataField_67 DataFieldName="RelHum_D_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_67 OBJECT=DataField_68 DataFieldName="RelHum_D_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_68 OBJECT=DataField_69 DataFieldName="RelHum_D_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_69 OBJECT=DataField_70 DataFieldName="RelHumSurf_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_70 OBJECT=DataField_71 DataFieldName="RelHumSurf_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_71 OBJECT=DataField_72 DataFieldName="RelHumSurf_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_72 OBJECT=DataField_73 DataFieldName="RelHumSurf_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_73 OBJECT=DataField_74 DataFieldName="RelHumSurf_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_74 OBJECT=DataField_75 DataFieldName="RelHum_liquid_D" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_75 OBJECT=DataField_76 DataFieldName="RelHum_liquid_D_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_76 OBJECT=DataField_77 DataFieldName="RelHum_liquid_D_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_77 OBJECT=DataField_78 DataFieldName="RelHum_liquid_D_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_78 OBJECT=DataField_79 DataFieldName="RelHum_liquid_D_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_79 OBJECT=DataField_80 DataFieldName="RelHumSurf_liquid_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_80 OBJECT=DataField_81 DataFieldName="RelHumSurf_liquid_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_81 OBJECT=DataField_82 DataFieldName="RelHumSurf_liquid_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_82 OBJECT=DataField_83 DataFieldName="RelHumSurf_liquid_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_83 OBJECT=DataField_84 DataFieldName="RelHumSurf_liquid_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_84 OBJECT=DataField_85 DataFieldName="TropHeight_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_85 OBJECT=DataField_86 DataFieldName="TropHeight_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_86 OBJECT=DataField_87 DataFieldName="TropHeight_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_87 OBJECT=DataField_88 DataFieldName="TropHeight_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_88 OBJECT=DataField_89 DataFieldName="TropHeight_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_89 OBJECT=DataField_90 DataFieldName="GPHeight_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_90 OBJECT=DataField_91 DataFieldName="GPHeight_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_91 OBJECT=DataField_92 DataFieldName="GPHeight_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_92 OBJECT=DataField_93 DataFieldName="GPHeight_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_93 OBJECT=DataField_94 DataFieldName="GPHeight_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_94 OBJECT=DataField_95 DataFieldName="CloudFrc_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_95 OBJECT=DataField_96 DataFieldName="CloudFrc_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_96 OBJECT=DataField_97 DataFieldName="CloudFrc_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_97 OBJECT=DataField_98 DataFieldName="CloudFrc_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_98 OBJECT=DataField_99 DataFieldName="CloudFrc_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_99 OBJECT=DataField_100 DataFieldName="CloudFrc_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_100 OBJECT=DataField_101 DataFieldName="CloudTopPres_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_101 OBJECT=DataField_102 DataFieldName="CloudTopPres_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_102 OBJECT=DataField_103 DataFieldName="CloudTopPres_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_103 OBJECT=DataField_104 DataFieldName="CloudTopPres_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_104 OBJECT=DataField_105 DataFieldName="CloudTopPres_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_105 OBJECT=DataField_106 DataFieldName="CloudTopPres_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_106 OBJECT=DataField_107 DataFieldName="CloudTopTemp_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_107 OBJECT=DataField_108 DataFieldName="CloudTopTemp_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_108 OBJECT=DataField_109 DataFieldName="CloudTopTemp_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_109 OBJECT=DataField_110 DataFieldName="CloudTopTemp_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_110 OBJECT=DataField_111 DataFieldName="CloudTopTemp_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_111 OBJECT=DataField_112 DataFieldName="CloudTopTemp_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_112 OBJECT=DataField_113 DataFieldName="FineCloudFrc_D" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_113 OBJECT=DataField_114 DataFieldName="FineCloudFrc_D_ct" DataType=DFNT_INT16 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_114 OBJECT=DataField_115 DataFieldName="FineCloudFrc_D_sdev" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_115 OBJECT=DataField_116 DataFieldName="FineCloudFrc_D_min" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_116 OBJECT=DataField_117 DataFieldName="FineCloudFrc_D_max" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_117 OBJECT=DataField_118 DataFieldName="CoarseCloudFrc_D" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_118 OBJECT=DataField_119 DataFieldName="CoarseCloudFrc_D_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_119 OBJECT=DataField_120 DataFieldName="CoarseCloudFrc_D_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_120 OBJECT=DataField_121 DataFieldName="CoarseCloudFrc_D_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_121 OBJECT=DataField_122 DataFieldName="CoarseCloudFrc_D_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_122 OBJECT=DataField_123 DataFieldName="CoarseCloudPres_D" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_123 OBJECT=DataField_124 DataFieldName="CoarseCloudPres_D_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_124 OBJECT=DataField_125 DataFieldName="CoarseCloudPres_D_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_125 OBJECT=DataField_126 DataFieldName="CoarseCloudPres_D_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName="CO_VMR_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName="CO_VMR_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName="CO_VMR_A_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName="TotCH4_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName="TotCH4_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName="TotCH4_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName="TotCH4_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName="TotCH4_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName="CH4_VMR_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName="CH4_VMR_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName="CH4_VMR_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName="CH4_VMR_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName="CH4_VMR_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName="CH4_VMR_A_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName="OLR_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName="OLR_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName="OLR_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName="OLR_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName="OLR_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName="OLR_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName="ClrOLR_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName="ClrOLR_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName="ClrOLR_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName="ClrOLR_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName="ClrOLR_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName="ClrOLR_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_1 + GROUP=GRID_2 + GridName="descending" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName="StdPressureLev" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName="H2OPressureLev" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName="H2OPressureLay" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName="CoarseCloudLayer" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName="FineCloudLayer" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName="EmisFreqIR" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName="TotalCounts_D" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName="SurfPres_Forecast_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName="SurfPres_Forecast_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName="SurfPres_Forecast_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName="SurfPres_Forecast_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName="SurfPres_Forecast_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName="SurfSkinTemp_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName="SurfSkinTemp_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName="SurfSkinTemp_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName="SurfSkinTemp_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName="SurfSkinTemp_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName="SurfSkinTemp_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName="EmisIR_D" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName="EmisIR_D_ct" + DataType=DFNT_INT16 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName="EmisIR_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName="EmisIR_D_min" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName="EmisIR_D_max" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName="EmisIR_D_err" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName="Temperature_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName="Temperature_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName="Temperature_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName="Temperature_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName="Temperature_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName="Temperature_D_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName="SurfAirTemp_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName="SurfAirTemp_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName="SurfAirTemp_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName="SurfAirTemp_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName="SurfAirTemp_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName="SurfAirTemp_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName="TropPres_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName="TropPres_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName="TropPres_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName="TropPres_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName="TropPres_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName="TropTemp_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName="TropTemp_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName="TropTemp_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName="TropTemp_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName="TropTemp_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName="TotH2OVap_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName="TotH2OVap_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName="TotH2OVap_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName="TotH2OVap_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName="TotH2OVap_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName="TotH2OVap_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName="H2O_MMR_Lyr_D" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName="H2O_MMR_Lyr_D_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName="H2O_MMR_Lyr_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName="H2O_MMR_Lyr_D_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName="H2O_MMR_Lyr_D_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName="H2O_MMR_Lyr_D_err" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName="H2O_MMR_D" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName="H2O_MMR_D_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName="H2O_MMR_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName="H2O_MMR_D_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName="H2O_MMR_D_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName="H2O_MMR_D_err" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName="H2O_MMR_Surf_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName="H2O_MMR_Surf_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName="H2O_MMR_Surf_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName="H2O_MMR_Surf_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName="H2O_MMR_Surf_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName="H2O_MMR_Surf_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName="RelHum_D" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName="RelHum_D_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName="RelHum_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName="RelHum_D_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName="RelHum_D_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName="RelHumSurf_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName="RelHumSurf_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName="RelHumSurf_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName="RelHumSurf_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName="RelHumSurf_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName="RelHum_liquid_D" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName="RelHum_liquid_D_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName="RelHum_liquid_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName="RelHum_liquid_D_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName="RelHum_liquid_D_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName="RelHumSurf_liquid_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName="RelHumSurf_liquid_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName="RelHumSurf_liquid_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName="RelHumSurf_liquid_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName="RelHumSurf_liquid_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName="TropHeight_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName="TropHeight_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName="TropHeight_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName="TropHeight_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName="TropHeight_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName="GPHeight_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName="GPHeight_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName="GPHeight_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName="GPHeight_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName="GPHeight_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName="CloudFrc_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName="CloudFrc_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName="CloudFrc_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName="CloudFrc_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName="CloudFrc_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName="CloudFrc_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName="CloudTopPres_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName="CloudTopPres_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName="CloudTopPres_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName="CloudTopPres_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName="CloudTopPres_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName="CloudTopPres_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName="CloudTopTemp_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName="CloudTopTemp_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName="CloudTopTemp_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName="CloudTopTemp_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName="CloudTopTemp_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName="CloudTopTemp_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName="FineCloudFrc_D" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName="FineCloudFrc_D_ct" + DataType=DFNT_INT16 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName="FineCloudFrc_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName="FineCloudFrc_D_min" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName="FineCloudFrc_D_max" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName="CoarseCloudFrc_D" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName="CoarseCloudFrc_D_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName="CoarseCloudFrc_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName="CoarseCloudFrc_D_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName="CoarseCloudFrc_D_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName="CoarseCloudPres_D" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName="CoarseCloudPres_D_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName="CoarseCloudPres_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName="CoarseCloudPres_D_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + - END_OBJECT=DataField_126 OBJECT=DataField_127 DataFieldName="CoarseCloudPres_D_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_127 OBJECT=DataField_128 DataFieldName="CoarseCloudTemp_D" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_128 OBJECT=DataField_129 DataFieldName="CoarseCloudTemp_D_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_129 OBJECT=DataField_130 DataFieldName="CoarseCloudTemp_D_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_130 OBJECT=DataField_131 DataFieldName="CoarseCloudTemp_D_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_131 OBJECT=DataField_132 DataFieldName="CoarseCloudTemp_D_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_132 OBJECT=DataField_133 DataFieldName="TotO3_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_133 OBJECT=DataField_134 DataFieldName="TotO3_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_134 OBJECT=DataField_135 DataFieldName="TotO3_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_135 OBJECT=DataField_136 DataFieldName="TotO3_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_136 OBJECT=DataField_137 DataFieldName="TotO3_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_137 OBJECT=DataField_138 DataFieldName="TotO3_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_138 OBJECT=DataField_139 DataFieldName="O3_VMR_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_139 OBJECT=DataField_140 DataFieldName="O3_VMR_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_140 OBJECT=DataField_141 DataFieldName="O3_VMR_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_141 OBJECT=DataField_142 DataFieldName="O3_VMR_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_142 OBJECT=DataField_143 DataFieldName="O3_VMR_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_143 OBJECT=DataField_144 DataFieldName="O3_VMR_D_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_144 OBJECT=DataField_145 DataFieldName="TotCO_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_145 OBJECT=DataField_146 DataFieldName="TotCO_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_146 OBJECT=DataField_147 DataFieldName="TotCO_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_147 OBJECT=DataField_148 DataFieldName="TotCO_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_148 OBJECT=DataField_149 DataFieldName="TotCO_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_149 OBJECT=DataField_150 DataFieldName="CO_VMR_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_150 OBJECT=DataField_151 DataFieldName="CO_VMR_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_151 OBJECT=DataField_152 DataFieldName="CO_VMR_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_152 OBJECT=DataField_153 DataFieldName="CO_VMR_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_153 OBJECT=DataField_154 DataFieldName="CO_VMR_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_154 OBJECT=DataField_155 DataFieldName="CO_VMR_D_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_155 OBJECT=DataField_156 DataFieldName="TotCH4_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_156 OBJECT=DataField_157 DataFieldName="TotCH4_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_157 OBJECT=DataField_158 DataFieldName="TotCH4_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_158 OBJECT=DataField_159 DataFieldName="TotCH4_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_159 OBJECT=DataField_160 DataFieldName="TotCH4_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_160 OBJECT=DataField_161 DataFieldName="CH4_VMR_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_161 OBJECT=DataField_162 DataFieldName="CH4_VMR_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_162 OBJECT=DataField_163 DataFieldName="CH4_VMR_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_163 OBJECT=DataField_164 DataFieldName="CH4_VMR_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_164 OBJECT=DataField_165 DataFieldName="CH4_VMR_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_165 OBJECT=DataField_166 DataFieldName="CH4_VMR_D_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_166 OBJECT=DataField_167 DataFieldName="OLR_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_167 OBJECT=DataField_168 DataFieldName="OLR_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_168 OBJECT=DataField_169 DataFieldName="OLR_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_169 OBJECT=DataField_170 DataFieldName="OLR_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_170 OBJECT=DataField_171 DataFieldName="OLR_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_171 OBJECT=DataField_172 DataFieldName="OLR_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_172 OBJECT=DataField_173 DataFieldName="ClrOLR_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_173 OBJECT=DataField_174 DataFieldName="ClrOLR_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_174 OBJECT=DataField_175 DataFieldName="ClrOLR_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_175 OBJECT=DataField_176 DataFieldName="ClrOLR_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_176 OBJECT=DataField_177 DataFieldName="ClrOLR_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_177 OBJECT=DataField_178 DataFieldName="ClrOLR_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_178 END_GROUP=DataField GROUP=MergedFields END_GROUP=MergedFields END_GROUP=GRID_2 GROUP=GRID_3 GridName="ascending_TqJoint" XDim=360 YDim=180 UpperLeftPointMtrs=(-179030000.000000,89030000.000000) LowerRightMtrs=(180030000.000000,-90030000.000000) Projection=GCTP_GEO GROUP=Dimension OBJECT=Dimension_1 DimensionName="StdPressureLev" Size=24 END_OBJECT=Dimension_1 OBJECT=Dimension_2 DimensionName="H2OPressureLev" Size=12 END_OBJECT=Dimension_2 OBJECT=Dimension_3 DimensionName="H2OPressureLay" Size=12 END_OBJECT=Dimension_3 OBJECT=Dimension_4 DimensionName="CoarseCloudLayer" Size=3 END_OBJECT=Dimension_4 OBJECT=Dimension_5 DimensionName="FineCloudLayer" Size=12 END_OBJECT=Dimension_5 OBJECT=Dimension_6 DimensionName="EmisFreqIR" Size=4 END_OBJECT=Dimension_6 END_GROUP=Dimension GROUP=DataField OBJECT=DataField_1 DataFieldName="TotalCounts_TqJ_A" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_1 OBJECT=DataField_2 DataFieldName="SurfPres_Forecast_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_2 OBJECT=DataField_3 DataFieldName="SurfPres_Forecast_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_3 OBJECT=DataField_4 DataFieldName="SurfPres_Forecast_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_4 OBJECT=DataField_5 DataFieldName="SurfPres_Forecast_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_5 OBJECT=DataField_6 DataFieldName="SurfPres_Forecast_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_6 OBJECT=DataField_7 DataFieldName="SurfSkinTemp_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_7 OBJECT=DataField_8 DataFieldName="SurfSkinTemp_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_8 OBJECT=DataField_9 DataFieldName="SurfSkinTemp_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_9 OBJECT=DataField_10 DataFieldName="SurfSkinTemp_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_10 OBJECT=DataField_11 DataFieldName="SurfSkinTemp_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_11 OBJECT=DataField_12 DataFieldName="SurfSkinTemp_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_12 OBJECT=DataField_13 DataFieldName="EmisIR_TqJ_A" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_13 OBJECT=DataField_14 DataFieldName="EmisIR_TqJ_A_ct" DataType=DFNT_INT16 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_14 OBJECT=DataField_15 DataFieldName="EmisIR_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_15 OBJECT=DataField_16 DataFieldName="EmisIR_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_16 OBJECT=DataField_17 DataFieldName="EmisIR_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_17 OBJECT=DataField_18 DataFieldName="EmisIR_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_18 OBJECT=DataField_19 DataFieldName="Temperature_TqJ_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_19 OBJECT=DataField_20 DataFieldName="Temperature_TqJ_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_20 OBJECT=DataField_21 DataFieldName="Temperature_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_21 OBJECT=DataField_22 DataFieldName="Temperature_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_22 OBJECT=DataField_23 DataFieldName="Temperature_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_23 OBJECT=DataField_24 DataFieldName="Temperature_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_24 OBJECT=DataField_25 DataFieldName="SurfAirTemp_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_25 OBJECT=DataField_26 DataFieldName="SurfAirTemp_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_26 OBJECT=DataField_27 DataFieldName="SurfAirTemp_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_27 OBJECT=DataField_28 DataFieldName="SurfAirTemp_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_28 OBJECT=DataField_29 DataFieldName="SurfAirTemp_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_29 OBJECT=DataField_30 DataFieldName="SurfAirTemp_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_30 OBJECT=DataField_31 DataFieldName="TropPres_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_31 OBJECT=DataField_32 DataFieldName="TropPres_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_32 OBJECT=DataField_33 DataFieldName="TropPres_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_33 OBJECT=DataField_34 DataFieldName="TropPres_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_34 OBJECT=DataField_35 DataFieldName="TropPres_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_35 OBJECT=DataField_36 DataFieldName="TropTemp_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_36 OBJECT=DataField_37 DataFieldName="TropTemp_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_37 OBJECT=DataField_38 DataFieldName="TropTemp_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_38 OBJECT=DataField_39 DataFieldName="TropTemp_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_39 OBJECT=DataField_40 DataFieldName="TropTemp_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_40 OBJECT=DataField_41 DataFieldName="TotH2OVap_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_41 OBJECT=DataField_42 DataFieldName="TotH2OVap_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_42 OBJECT=DataField_43 DataFieldName="TotH2OVap_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_43 OBJECT=DataField_44 DataFieldName="TotH2OVap_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_44 OBJECT=DataField_45 DataFieldName="TotH2OVap_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_45 OBJECT=DataField_46 DataFieldName="TotH2OVap_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_46 OBJECT=DataField_47 DataFieldName="H2O_MMR_Lyr_TqJ_A" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_47 OBJECT=DataField_48 DataFieldName="H2O_MMR_Lyr_TqJ_A_ct" DataType=DFNT_INT16 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_48 OBJECT=DataField_49 DataFieldName="H2O_MMR_Lyr_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_49 OBJECT=DataField_50 DataFieldName="H2O_MMR_Lyr_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_50 OBJECT=DataField_51 DataFieldName="H2O_MMR_Lyr_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_51 OBJECT=DataField_52 DataFieldName="H2O_MMR_Lyr_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_52 OBJECT=DataField_53 DataFieldName="H2O_MMR_TqJ_A" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_53 OBJECT=DataField_54 DataFieldName="H2O_MMR_TqJ_A_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_54 OBJECT=DataField_55 DataFieldName="H2O_MMR_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_55 OBJECT=DataField_56 DataFieldName="H2O_MMR_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_56 OBJECT=DataField_57 DataFieldName="H2O_MMR_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_57 OBJECT=DataField_58 DataFieldName="H2O_MMR_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_58 OBJECT=DataField_59 DataFieldName="H2O_MMR_Surf_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_59 OBJECT=DataField_60 DataFieldName="H2O_MMR_Surf_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_60 OBJECT=DataField_61 DataFieldName="H2O_MMR_Surf_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_61 OBJECT=DataField_62 DataFieldName="H2O_MMR_Surf_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_62 OBJECT=DataField_63 DataFieldName="H2O_MMR_Surf_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_63 OBJECT=DataField_64 DataFieldName="H2O_MMR_Surf_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_64 OBJECT=DataField_65 DataFieldName="RelHum_TqJ_A" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_65 OBJECT=DataField_66 DataFieldName="RelHum_TqJ_A_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_66 OBJECT=DataField_67 DataFieldName="RelHum_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_67 OBJECT=DataField_68 DataFieldName="RelHum_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_68 OBJECT=DataField_69 DataFieldName="RelHum_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_69 OBJECT=DataField_70 DataFieldName="RelHumSurf_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_70 OBJECT=DataField_71 DataFieldName="RelHumSurf_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_71 OBJECT=DataField_72 DataFieldName="RelHumSurf_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_72 OBJECT=DataField_73 DataFieldName="RelHumSurf_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_73 OBJECT=DataField_74 DataFieldName="RelHumSurf_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_74 OBJECT=DataField_75 DataFieldName="RelHum_liquid_TqJ_A" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_75 OBJECT=DataField_76 DataFieldName="RelHum_liquid_TqJ_A_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_76 OBJECT=DataField_77 DataFieldName="RelHum_liquid_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_77 OBJECT=DataField_78 DataFieldName="RelHum_liquid_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_78 OBJECT=DataField_79 DataFieldName="RelHum_liquid_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_79 OBJECT=DataField_80 DataFieldName="RelHumSurf_liquid_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_80 OBJECT=DataField_81 DataFieldName="RelHumSurf_liquid_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_81 OBJECT=DataField_82 DataFieldName="RelHumSurf_liquid_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_82 OBJECT=DataField_83 DataFieldName="RelHumSurf_liquid_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_83 OBJECT=DataField_84 DataFieldName="RelHumSurf_liquid_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_84 OBJECT=DataField_85 DataFieldName="TropHeight_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_85 OBJECT=DataField_86 DataFieldName="TropHeight_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_86 OBJECT=DataField_87 DataFieldName="TropHeight_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_87 OBJECT=DataField_88 DataFieldName="TropHeight_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_88 OBJECT=DataField_89 DataFieldName="TropHeight_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_89 OBJECT=DataField_90 DataFieldName="GPHeight_TqJ_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_90 OBJECT=DataField_91 DataFieldName="GPHeight_TqJ_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_91 OBJECT=DataField_92 DataFieldName="GPHeight_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_92 OBJECT=DataField_93 DataFieldName="GPHeight_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_93 OBJECT=DataField_94 DataFieldName="GPHeight_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_94 OBJECT=DataField_95 DataFieldName="CloudFrc_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_95 OBJECT=DataField_96 DataFieldName="CloudFrc_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_96 OBJECT=DataField_97 DataFieldName="CloudFrc_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_97 OBJECT=DataField_98 DataFieldName="CloudFrc_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_98 OBJECT=DataField_99 DataFieldName="CloudFrc_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLA + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName="CoarseCloudPres_D_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName="CoarseCloudTemp_D" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName="CoarseCloudTemp_D_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName="CoarseCloudTemp_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName="CoarseCloudTemp_D_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName="CoarseCloudTemp_D_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName="TotO3_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName="TotO3_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName="TotO3_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName="TotO3_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName="TotO3_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName="TotO3_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName="O3_VMR_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName="O3_VMR_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName="O3_VMR_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName="O3_VMR_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName="O3_VMR_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName="O3_VMR_D_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName="TotCO_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName="TotCO_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName="TotCO_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName="TotCO_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName="TotCO_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName="CO_VMR_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName="CO_VMR_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName="CO_VMR_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName="CO_VMR_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName="CO_VMR_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName="CO_VMR_D_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName="TotCH4_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName="TotCH4_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName="TotCH4_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName="TotCH4_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName="TotCH4_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName="CH4_VMR_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName="CH4_VMR_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName="CH4_VMR_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName="CH4_VMR_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName="CH4_VMR_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName="CH4_VMR_D_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName="OLR_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName="OLR_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName="OLR_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName="OLR_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName="OLR_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName="OLR_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName="ClrOLR_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName="ClrOLR_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName="ClrOLR_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName="ClrOLR_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName="ClrOLR_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName="ClrOLR_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_2 + GROUP=GRID_3 + GridName="ascending_TqJoint" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName="StdPressureLev" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName="H2OPressureLev" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName="H2OPressureLay" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName="CoarseCloudLayer" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName="FineCloudLayer" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName="EmisFreqIR" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName="TotalCounts_TqJ_A" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName="SurfPres_Forecast_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName="SurfPres_Forecast_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName="SurfPres_Forecast_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName="SurfPres_Forecast_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName="SurfPres_Forecast_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName="SurfSkinTemp_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName="SurfSkinTemp_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName="SurfSkinTemp_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName="SurfSkinTemp_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName="SurfSkinTemp_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName="SurfSkinTemp_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName="EmisIR_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName="EmisIR_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName="EmisIR_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName="EmisIR_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName="EmisIR_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName="EmisIR_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName="Temperature_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName="Temperature_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName="Temperature_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName="Temperature_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName="Temperature_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName="Temperature_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName="SurfAirTemp_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName="SurfAirTemp_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName="SurfAirTemp_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName="SurfAirTemp_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName="SurfAirTemp_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName="SurfAirTemp_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName="TropPres_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName="TropPres_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName="TropPres_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName="TropPres_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName="TropPres_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName="TropTemp_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName="TropTemp_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName="TropTemp_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName="TropTemp_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName="TropTemp_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName="TotH2OVap_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName="TotH2OVap_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName="TotH2OVap_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName="TotH2OVap_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName="TotH2OVap_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName="TotH2OVap_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName="H2O_MMR_Lyr_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName="H2O_MMR_Lyr_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName="H2O_MMR_Lyr_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName="H2O_MMR_Lyr_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName="H2O_MMR_Lyr_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName="H2O_MMR_Lyr_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName="H2O_MMR_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName="H2O_MMR_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName="H2O_MMR_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName="H2O_MMR_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName="H2O_MMR_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName="H2O_MMR_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName="H2O_MMR_Surf_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName="H2O_MMR_Surf_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName="H2O_MMR_Surf_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName="H2O_MMR_Surf_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName="H2O_MMR_Surf_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName="H2O_MMR_Surf_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName="RelHum_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName="RelHum_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName="RelHum_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName="RelHum_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName="RelHum_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName="RelHumSurf_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName="RelHumSurf_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName="RelHumSurf_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName="RelHumSurf_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName="RelHumSurf_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName="RelHum_liquid_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName="RelHum_liquid_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName="RelHum_liquid_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName="RelHum_liquid_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName="RelHum_liquid_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName="RelHumSurf_liquid_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName="RelHumSurf_liquid_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName="RelHumSurf_liquid_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName="RelHumSurf_liquid_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName="RelHumSurf_liquid_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName="TropHeight_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName="TropHeight_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName="TropHeight_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName="TropHeight_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName="TropHeight_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName="GPHeight_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName="GPHeight_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName="GPHeight_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName="GPHeight_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName="GPHeight_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName="CloudFrc_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName="CloudFrc_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName="CloudFrc_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName="CloudFrc_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName="CloudFrc_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLA - TE DeflateLevel=5 END_OBJECT=DataField_99 OBJECT=DataField_100 DataFieldName="CloudFrc_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_100 OBJECT=DataField_101 DataFieldName="CloudTopPres_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_101 OBJECT=DataField_102 DataFieldName="CloudTopPres_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_102 OBJECT=DataField_103 DataFieldName="CloudTopPres_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_103 OBJECT=DataField_104 DataFieldName="CloudTopPres_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_104 OBJECT=DataField_105 DataFieldName="CloudTopPres_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_105 OBJECT=DataField_106 DataFieldName="CloudTopPres_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_106 OBJECT=DataField_107 DataFieldName="CloudTopTemp_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_107 OBJECT=DataField_108 DataFieldName="CloudTopTemp_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_108 OBJECT=DataField_109 DataFieldName="CloudTopTemp_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_109 OBJECT=DataField_110 DataFieldName="CloudTopTemp_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_110 OBJECT=DataField_111 DataFieldName="CloudTopTemp_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_111 OBJECT=DataField_112 DataFieldName="CloudTopTemp_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_112 OBJECT=DataField_113 DataFieldName="FineCloudFrc_TqJ_A" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_113 OBJECT=DataField_114 DataFieldName="FineCloudFrc_TqJ_A_ct" DataType=DFNT_INT16 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_114 OBJECT=DataField_115 DataFieldName="FineCloudFrc_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_115 OBJECT=DataField_116 DataFieldName="FineCloudFrc_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_116 OBJECT=DataField_117 DataFieldName="FineCloudFrc_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_117 OBJECT=DataField_118 DataFieldName="CoarseCloudFrc_TqJ_A" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_118 OBJECT=DataField_119 DataFieldName="CoarseCloudFrc_TqJ_A_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_119 OBJECT=DataField_120 DataFieldName="CoarseCloudFrc_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_120 OBJECT=DataField_121 DataFieldName="CoarseCloudFrc_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_121 OBJECT=DataField_122 DataFieldName="CoarseCloudFrc_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_122 OBJECT=DataField_123 DataFieldName="CoarseCloudPres_TqJ_A" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_123 OBJECT=DataField_124 DataFieldName="CoarseCloudPres_TqJ_A_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_124 OBJECT=DataField_125 DataFieldName="CoarseCloudPres_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_125 OBJECT=DataField_126 DataFieldName="CoarseCloudPres_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_126 OBJECT=DataField_127 DataFieldName="CoarseCloudPres_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_127 OBJECT=DataField_128 DataFieldName="CoarseCloudTemp_TqJ_A" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_128 OBJECT=DataField_129 DataFieldName="CoarseCloudTemp_TqJ_A_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_129 OBJECT=DataField_130 DataFieldName="CoarseCloudTemp_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_130 OBJECT=DataField_131 DataFieldName="CoarseCloudTemp_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_131 OBJECT=DataField_132 DataFieldName="CoarseCloudTemp_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_132 OBJECT=DataField_133 DataFieldName="TotO3_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_133 OBJECT=DataField_134 DataFieldName="TotO3_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_134 OBJECT=DataField_135 DataFieldName="TotO3_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_135 OBJECT=DataField_136 DataFieldName="TotO3_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_136 OBJECT=DataField_137 DataFieldName="TotO3_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_137 OBJECT=DataField_138 DataFieldName="TotO3_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_138 OBJECT=DataField_139 DataFieldName="O3_VMR_TqJ_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_139 OBJECT=DataField_140 DataFieldName="O3_VMR_TqJ_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_140 OBJECT=DataField_141 DataFieldName="O3_VMR_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_141 OBJECT=DataField_142 DataFieldName="O3_VMR_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_142 OBJECT=DataField_143 DataFieldName="O3_VMR_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_143 OBJECT=DataField_144 DataFieldName="O3_VMR_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_144 OBJECT=DataField_145 DataFieldName="TotCO_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_145 OBJECT=DataField_146 DataFieldName="TotCO_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_146 OBJECT=DataField_147 DataFieldName="TotCO_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_147 OBJECT=DataField_148 DataFieldName="TotCO_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_148 OBJECT=DataField_149 DataFieldName="TotCO_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_149 OBJECT=DataField_150 DataFieldName="CO_VMR_TqJ_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_150 OBJECT=DataField_151 DataFieldName="CO_VMR_TqJ_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_151 OBJECT=DataField_152 DataFieldName="CO_VMR_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_152 OBJECT=DataField_153 DataFieldName="CO_VMR_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_153 OBJECT=DataField_154 DataFieldName="CO_VMR_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_154 OBJECT=DataField_155 DataFieldName="CO_VMR_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_155 OBJECT=DataField_156 DataFieldName="TotCH4_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_156 OBJECT=DataField_157 DataFieldName="TotCH4_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_157 OBJECT=DataField_158 DataFieldName="TotCH4_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_158 OBJECT=DataField_159 DataFieldName="TotCH4_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_159 OBJECT=DataField_160 DataFieldName="TotCH4_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_160 OBJECT=DataField_161 DataFieldName="CH4_VMR_TqJ_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_161 OBJECT=DataField_162 DataFieldName="CH4_VMR_TqJ_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_162 OBJECT=DataField_163 DataFieldName="CH4_VMR_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_163 OBJECT=DataField_164 DataFieldName="CH4_VMR_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_164 OBJECT=DataField_165 DataFieldName="CH4_VMR_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_165 OBJECT=DataField_166 DataFieldName="CH4_VMR_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_166 OBJECT=DataField_167 DataFieldName="OLR_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_167 OBJECT=DataField_168 DataFieldName="OLR_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_168 OBJECT=DataField_169 DataFieldName="OLR_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_169 OBJECT=DataField_170 DataFieldName="OLR_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_170 OBJECT=DataField_171 DataFieldName="OLR_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_171 OBJECT=DataField_172 DataFieldName="OLR_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_172 OBJECT=DataField_173 DataFieldName="ClrOLR_TqJ_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_173 OBJECT=DataField_174 DataFieldName="ClrOLR_TqJ_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_174 OBJECT=DataField_175 DataFieldName="ClrOLR_TqJ_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_175 OBJECT=DataField_176 DataFieldName="ClrOLR_TqJ_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_176 OBJECT=DataField_177 DataFieldName="ClrOLR_TqJ_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_177 OBJECT=DataField_178 DataFieldName="ClrOLR_TqJ_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_178 END_GROUP=DataField GROUP=MergedFields END_GROUP=MergedFields END_GROUP=GRID_3 GROUP=GRID_4 GridName="descending_TqJoint" XDim=360 YDim=180 UpperLeftPointMtrs=(-179030000.000000,89030000.000000) LowerRightMtrs=(180030000.000000,-90030000.000000) Projection=GCTP_GEO GROUP=Dimension OBJECT=Dimension_1 DimensionName="StdPressureLev" Size=24 END_OBJECT=Dimension_1 OBJECT=Dimension_2 DimensionName="H2OPressureLev" Size=12 END_OBJECT=Dimension_2 OBJECT=Dimension_3 DimensionName="H2OPressureLay" Size=12 END_OBJECT=Dimension_3 OBJECT=Dimension_4 DimensionName="CoarseCloudLayer" Size=3 END_OBJECT=Dimension_4 OBJECT=Dimension_5 DimensionName="FineCloudLayer" Size=12 END_OBJECT=Dimension_5 OBJECT=Dimension_6 DimensionName="EmisFreqIR" Size=4 END_OBJECT=Dimension_6 END_GROUP=Dimension GROUP=DataField OBJECT=DataField_1 DataFieldName="TotalCounts_TqJ_D" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_1 OBJECT=DataField_2 DataFieldName="SurfPres_Forecast_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_2 OBJECT=DataField_3 DataFieldName="SurfPres_Forecast_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_3 OBJECT=DataField_4 DataFieldName="SurfPres_Forecast_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_4 OBJECT=DataField_5 DataFieldName="SurfPres_Forecast_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_5 OBJECT=DataField_6 DataFieldName="SurfPres_Forecast_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_6 OBJECT=DataField_7 DataFieldName="SurfSkinTemp_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_7 OBJECT=DataField_8 DataFieldName="SurfSkinTemp_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_8 OBJECT=DataField_9 DataFieldName="SurfSkinTemp_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_9 OBJECT=DataField_10 DataFieldName="SurfSkinTemp_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_10 OBJECT=DataField_11 DataFieldName="SurfSkinTemp_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_11 OBJECT=DataField_12 DataFieldName="SurfSkinTemp_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_12 OBJECT=DataField_13 DataFieldName="EmisIR_TqJ_D" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_13 OBJECT=DataField_14 DataFieldName="EmisIR_TqJ_D_ct" DataType=DFNT_INT16 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_14 OBJECT=DataField_15 DataFieldName="EmisIR_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_15 OBJECT=DataField_16 DataFieldName="EmisIR_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_16 OBJECT=DataField_17 DataFieldName="EmisIR_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_17 OBJECT=DataField_18 DataFieldName="EmisIR_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("EmisFreqIR","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_18 OBJECT=DataField_19 DataFieldName="Temperature_TqJ_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_19 OBJECT=DataField_20 DataFieldName="Temperature_TqJ_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_20 OBJECT=DataField_21 DataFieldName="Temperature_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_21 OBJECT=DataField_22 DataFieldName="Temperature_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_22 OBJECT=DataField_23 DataFieldName="Temperature_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_23 OBJECT=DataField_24 DataFieldName="Temperature_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_24 OBJECT=DataField_25 DataFieldName="SurfAirTemp_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_25 OBJECT=DataField_26 DataFieldName="SurfAirTemp_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_26 OBJECT=DataField_27 DataFieldName="SurfAirTemp_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_27 OBJECT=DataField_28 DataFieldName="SurfAirTemp_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_28 OBJECT=DataField_29 DataFieldName="SurfAirTemp_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_29 OBJECT=DataField_30 DataFieldName="SurfAirTemp_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_30 OBJECT=DataField_31 DataFieldName="TropPres_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_31 OBJECT=DataField_32 DataFieldName="TropPres_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_32 OBJECT=DataField_33 DataFieldName="TropPres_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_33 OBJECT=DataField_34 DataFieldName="TropPres_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_34 OBJECT=DataField_35 DataFieldName="TropPres_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_35 OBJECT=DataField_36 DataFieldName="TropTemp_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_36 OBJECT=DataField_37 DataFieldName="TropTemp_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_37 OBJECT=DataField_38 DataFieldName="TropTemp_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_38 OBJECT=DataField_39 DataFieldName="TropTemp_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_39 OBJECT=DataField_40 DataFieldName="TropTemp_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_40 OBJECT=DataField_41 DataFieldName="TotH2OVap_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_41 OBJECT=DataField_42 DataFieldName="TotH2OVap_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_42 OBJECT=DataField_43 DataFieldName="TotH2OVap_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_43 OBJECT=DataField_44 DataFieldName="TotH2OVap_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_44 OBJECT=DataField_45 DataFieldName="TotH2OVap_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_45 OBJECT=DataField_46 DataFieldName="TotH2OVap_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_46 OBJECT=DataField_47 DataFieldName="H2O_MMR_Lyr_TqJ_D" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_47 OBJECT=DataField_48 DataFieldName="H2O_MMR_Lyr_TqJ_D_ct" DataType=DFNT_INT16 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_48 OBJECT=DataField_49 DataFieldName="H2O_MMR_Lyr_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_49 OBJECT=DataField_50 DataFieldName="H2O_MMR_Lyr_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_50 OBJECT=DataField_51 DataFieldName="H2O_MMR_Lyr_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_51 OBJECT=DataField_52 DataFieldName="H2O_MMR_Lyr_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("H2OPressureLay","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_52 OBJECT=DataField_53 DataFieldName="H2O_MMR_TqJ_D" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_53 OBJECT=DataField_54 DataFieldName="H2O_MMR_TqJ_D_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_54 OBJECT=DataField_55 DataFieldName="H2O_MMR_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_55 OBJECT=DataField_56 DataFieldName="H2O_MMR_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_56 OBJECT=DataField_57 DataFieldName="H2O_MMR_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_57 OBJECT=DataField_58 DataFieldName="H2O_MMR_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_58 OBJECT=DataField_59 DataFieldName="H2O_MMR_Surf_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_59 OBJECT=DataField_60 DataFieldName="H2O_MMR_Surf_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_60 OBJECT=DataField_61 DataFieldName="H2O_MMR_Surf_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_61 OBJECT=DataField_62 DataFieldName="H2O_MMR_Surf_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_62 OBJECT=DataField_63 DataFieldName="H2O_MMR_Surf_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_63 OBJECT=DataField_64 DataFieldName="H2O_MMR_Surf_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_64 OBJECT=DataField_65 DataFieldName="RelHum_TqJ_D" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_65 OBJECT=DataField_66 DataFieldName="RelHum_TqJ_D_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_66 OBJECT=DataField_67 DataFieldName="RelHum_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_67 OBJECT=DataField_68 DataFieldName="RelHum_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_68 OBJECT=DataField_69 DataFieldName="RelHum_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_69 OBJECT=DataField_70 DataFieldName="RelHumSurf_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDF + TE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName="CloudFrc_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName="CloudTopPres_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName="CloudTopPres_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName="CloudTopPres_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName="CloudTopPres_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName="CloudTopPres_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName="CloudTopPres_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName="CloudTopTemp_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName="CloudTopTemp_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName="CloudTopTemp_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName="CloudTopTemp_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName="CloudTopTemp_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName="CloudTopTemp_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName="FineCloudFrc_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName="FineCloudFrc_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName="FineCloudFrc_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName="FineCloudFrc_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName="FineCloudFrc_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName="CoarseCloudFrc_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName="CoarseCloudFrc_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName="CoarseCloudFrc_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName="CoarseCloudFrc_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName="CoarseCloudFrc_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName="CoarseCloudPres_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName="CoarseCloudPres_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName="CoarseCloudPres_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName="CoarseCloudPres_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName="CoarseCloudPres_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName="CoarseCloudTemp_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName="CoarseCloudTemp_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName="CoarseCloudTemp_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName="CoarseCloudTemp_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName="CoarseCloudTemp_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName="TotO3_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName="TotO3_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName="TotO3_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName="TotO3_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName="TotO3_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName="TotO3_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName="O3_VMR_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName="O3_VMR_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName="O3_VMR_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName="O3_VMR_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName="O3_VMR_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName="O3_VMR_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName="TotCO_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName="TotCO_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName="TotCO_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName="TotCO_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName="TotCO_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName="CO_VMR_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName="CO_VMR_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName="CO_VMR_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName="CO_VMR_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName="CO_VMR_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName="CO_VMR_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName="TotCH4_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName="TotCH4_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName="TotCH4_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName="TotCH4_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName="TotCH4_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName="CH4_VMR_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName="CH4_VMR_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName="CH4_VMR_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName="CH4_VMR_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName="CH4_VMR_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName="CH4_VMR_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName="OLR_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName="OLR_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName="OLR_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName="OLR_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName="OLR_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName="OLR_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName="ClrOLR_TqJ_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName="ClrOLR_TqJ_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName="ClrOLR_TqJ_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName="ClrOLR_TqJ_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName="ClrOLR_TqJ_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName="ClrOLR_TqJ_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_3 + GROUP=GRID_4 + GridName="descending_TqJoint" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName="StdPressureLev" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName="H2OPressureLev" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName="H2OPressureLay" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName="CoarseCloudLayer" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName="FineCloudLayer" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName="EmisFreqIR" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName="TotalCounts_TqJ_D" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName="SurfPres_Forecast_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName="SurfPres_Forecast_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName="SurfPres_Forecast_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName="SurfPres_Forecast_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName="SurfPres_Forecast_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName="SurfSkinTemp_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName="SurfSkinTemp_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName="SurfSkinTemp_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName="SurfSkinTemp_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName="SurfSkinTemp_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName="SurfSkinTemp_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName="EmisIR_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName="EmisIR_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName="EmisIR_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName="EmisIR_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName="EmisIR_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName="EmisIR_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqIR","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName="Temperature_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName="Temperature_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName="Temperature_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName="Temperature_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName="Temperature_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName="Temperature_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName="SurfAirTemp_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName="SurfAirTemp_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName="SurfAirTemp_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName="SurfAirTemp_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName="SurfAirTemp_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName="SurfAirTemp_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName="TropPres_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName="TropPres_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName="TropPres_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName="TropPres_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName="TropPres_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName="TropTemp_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName="TropTemp_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName="TropTemp_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName="TropTemp_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName="TropTemp_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName="TotH2OVap_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName="TotH2OVap_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName="TotH2OVap_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName="TotH2OVap_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName="TotH2OVap_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName="TotH2OVap_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName="H2O_MMR_Lyr_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName="H2O_MMR_Lyr_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName="H2O_MMR_Lyr_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName="H2O_MMR_Lyr_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName="H2O_MMR_Lyr_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName="H2O_MMR_Lyr_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLay","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName="H2O_MMR_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName="H2O_MMR_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName="H2O_MMR_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName="H2O_MMR_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName="H2O_MMR_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName="H2O_MMR_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName="H2O_MMR_Surf_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName="H2O_MMR_Surf_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName="H2O_MMR_Surf_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName="H2O_MMR_Surf_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName="H2O_MMR_Surf_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName="H2O_MMR_Surf_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName="RelHum_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName="RelHum_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName="RelHum_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName="RelHum_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName="RelHum_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName="RelHumSurf_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDF - E_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_70 OBJECT=DataField_71 DataFieldName="RelHumSurf_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_71 OBJECT=DataField_72 DataFieldName="RelHumSurf_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_72 OBJECT=DataField_73 DataFieldName="RelHumSurf_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_73 OBJECT=DataField_74 DataFieldName="RelHumSurf_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_74 OBJECT=DataField_75 DataFieldName="RelHum_liquid_TqJ_D" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_75 OBJECT=DataField_76 DataFieldName="RelHum_liquid_TqJ_D_ct" DataType=DFNT_INT16 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_76 OBJECT=DataField_77 DataFieldName="RelHum_liquid_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_77 OBJECT=DataField_78 DataFieldName="RelHum_liquid_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_78 OBJECT=DataField_79 DataFieldName="RelHum_liquid_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("H2OPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_79 OBJECT=DataField_80 DataFieldName="RelHumSurf_liquid_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_80 OBJECT=DataField_81 DataFieldName="RelHumSurf_liquid_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_81 OBJECT=DataField_82 DataFieldName="RelHumSurf_liquid_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_82 OBJECT=DataField_83 DataFieldName="RelHumSurf_liquid_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_83 OBJECT=DataField_84 DataFieldName="RelHumSurf_liquid_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_84 OBJECT=DataField_85 DataFieldName="TropHeight_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_85 OBJECT=DataField_86 DataFieldName="TropHeight_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_86 OBJECT=DataField_87 DataFieldName="TropHeight_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_87 OBJECT=DataField_88 DataFieldName="TropHeight_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_88 OBJECT=DataField_89 DataFieldName="TropHeight_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_89 OBJECT=DataField_90 DataFieldName="GPHeight_TqJ_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_90 OBJECT=DataField_91 DataFieldName="GPHeight_TqJ_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_91 OBJECT=DataField_92 DataFieldName="GPHeight_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_92 OBJECT=DataField_93 DataFieldName="GPHeight_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_93 OBJECT=DataField_94 DataFieldName="GPHeight_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_94 OBJECT=DataField_95 DataFieldName="CloudFrc_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_95 OBJECT=DataField_96 DataFieldName="CloudFrc_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_96 OBJECT=DataField_97 DataFieldName="CloudFrc_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_97 OBJECT=DataField_98 DataFieldName="CloudFrc_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_98 OBJECT=DataField_99 DataFieldName="CloudFrc_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_99 OBJECT=DataField_100 DataFieldName="CloudFrc_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_100 OBJECT=DataField_101 DataFieldName="CloudTopPres_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_101 OBJECT=DataField_102 DataFieldName="CloudTopPres_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_102 OBJECT=DataField_103 DataFieldName="CloudTopPres_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_103 OBJECT=DataField_104 DataFieldName="CloudTopPres_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_104 OBJECT=DataField_105 DataFieldName="CloudTopPres_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_105 OBJECT=DataField_106 DataFieldName="CloudTopPres_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_106 OBJECT=DataField_107 DataFieldName="CloudTopTemp_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_107 OBJECT=DataField_108 DataFieldName="CloudTopTemp_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_108 OBJECT=DataField_109 DataFieldName="CloudTopTemp_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_109 OBJECT=DataField_110 DataFieldName="CloudTopTemp_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_110 OBJECT=DataField_111 DataFieldName="CloudTopTemp_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_111 OBJECT=DataField_112 DataFieldName="CloudTopTemp_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_112 OBJECT=DataField_113 DataFieldName="FineCloudFrc_TqJ_D" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_113 OBJECT=DataField_114 DataFieldName="FineCloudFrc_TqJ_D_ct" DataType=DFNT_INT16 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_114 OBJECT=DataField_115 DataFieldName="FineCloudFrc_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_115 OBJECT=DataField_116 DataFieldName="FineCloudFrc_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_116 OBJECT=DataField_117 DataFieldName="FineCloudFrc_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("FineCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_117 OBJECT=DataField_118 DataFieldName="CoarseCloudFrc_TqJ_D" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_118 OBJECT=DataField_119 DataFieldName="CoarseCloudFrc_TqJ_D_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_119 OBJECT=DataField_120 DataFieldName="CoarseCloudFrc_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_120 OBJECT=DataField_121 DataFieldName="CoarseCloudFrc_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_121 OBJECT=DataField_122 DataFieldName="CoarseCloudFrc_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_122 OBJECT=DataField_123 DataFieldName="CoarseCloudPres_TqJ_D" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_123 OBJECT=DataField_124 DataFieldName="CoarseCloudPres_TqJ_D_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_124 OBJECT=DataField_125 DataFieldName="CoarseCloudPres_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_125 OBJECT=DataField_126 DataFieldName="CoarseCloudPres_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_126 OBJECT=DataField_127 DataFieldName="CoarseCloudPres_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_127 OBJECT=DataField_128 DataFieldName="CoarseCloudTemp_TqJ_D" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_128 OBJECT=DataField_129 DataFieldName="CoarseCloudTemp_TqJ_D_ct" DataType=DFNT_INT16 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_129 OBJECT=DataField_130 DataFieldName="CoarseCloudTemp_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_130 OBJECT=DataField_131 DataFieldName="CoarseCloudTemp_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_131 OBJECT=DataField_132 DataFieldName="CoarseCloudTemp_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("CoarseCloudLayer","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_132 OBJECT=DataField_133 DataFieldName="TotO3_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_133 OBJECT=DataField_134 DataFieldName="TotO3_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_134 OBJECT=DataField_135 DataFieldName="TotO3_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_135 OBJECT=DataField_136 DataFieldName="TotO3_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_136 OBJECT=DataField_137 DataFieldName="TotO3_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_137 OBJECT=DataField_138 DataFieldName="TotO3_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_138 OBJECT=DataField_139 DataFieldName="O3_VMR_TqJ_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_139 OBJECT=DataField_140 DataFieldName="O3_VMR_TqJ_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_140 OBJECT=DataField_141 DataFieldName="O3_VMR_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_141 OBJECT=DataField_142 DataFieldName="O3_VMR_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_142 OBJECT=DataField_143 DataFieldName="O3_VMR_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_143 OBJECT=DataField_144 DataFieldName="O3_VMR_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_144 OBJECT=DataField_145 DataFieldName="TotCO_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_145 OBJECT=DataField_146 DataFieldName="TotCO_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_146 OBJECT=DataField_147 DataFieldName="TotCO_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_147 OBJECT=DataField_148 DataFieldName="TotCO_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_148 OBJECT=DataField_149 DataFieldName="TotCO_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_149 OBJECT=DataField_150 DataFieldName="CO_VMR_TqJ_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_150 OBJECT=DataField_151 DataFieldName="CO_VMR_TqJ_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_151 OBJECT=DataField_152 DataFieldName="CO_VMR_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_152 OBJECT=DataField_153 DataFieldName="CO_VMR_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_153 OBJECT=DataField_154 DataFieldName="CO_VMR_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_154 OBJECT=DataField_155 DataFieldName="CO_VMR_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_155 OBJECT=DataField_156 DataFieldName="TotCH4_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_156 OBJECT=DataField_157 DataFieldName="TotCH4_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_157 OBJECT=DataField_158 DataFieldName="TotCH4_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_158 OBJECT=DataField_159 DataFieldName="TotCH4_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_159 OBJECT=DataField_160 DataFieldName="TotCH4_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_160 OBJECT=DataField_161 DataFieldName="CH4_VMR_TqJ_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_161 OBJECT=DataField_162 DataFieldName="CH4_VMR_TqJ_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_162 OBJECT=DataField_163 DataFieldName="CH4_VMR_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_163 OBJECT=DataField_164 DataFieldName="CH4_VMR_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_164 OBJECT=DataField_165 DataFieldName="CH4_VMR_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_165 OBJECT=DataField_166 DataFieldName="CH4_VMR_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_166 OBJECT=DataField_167 DataFieldName="OLR_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_167 OBJECT=DataField_168 DataFieldName="OLR_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_168 OBJECT=DataField_169 DataFieldName="OLR_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_169 OBJECT=DataField_170 DataFieldName="OLR_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_170 OBJECT=DataField_171 DataFieldName="OLR_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_171 OBJECT=DataField_172 DataFieldName="OLR_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_172 OBJECT=DataField_173 DataFieldName="ClrOLR_TqJ_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_173 OBJECT=DataField_174 DataFieldName="ClrOLR_TqJ_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_174 OBJECT=DataField_175 DataFieldName="ClrOLR_TqJ_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_175 OBJECT=DataField_176 DataFieldName="ClrOLR_TqJ_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_176 OBJECT=DataField_177 DataFieldName="ClrOLR_TqJ_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_177 OBJECT=DataField_178 DataFieldName="ClrOLR_TqJ_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_178 END_GROUP=DataField GROUP=MergedFields END_GROUP=MergedFields END_GROUP=GRID_4 GROUP=GRID_5 GridName="ascending_MW_only" XDim=360 YDim=180 UpperLeftPointMtrs=(-179030000.000000,89030000.000000) LowerRightMtrs=(180030000.000000,-90030000.000000) Projection=GCTP_GEO GROUP=Dimension OBJECT=Dimension_1 DimensionName="StdPressureLev" Size=24 END_OBJECT=Dimension_1 OBJECT=Dimension_2 DimensionName="H2OPressureLev" Size=12 END_OBJECT=Dimension_2 OBJECT=Dimension_3 DimensionName="H2OPressureLay" Size=12 END_OBJECT=Dimension_3 OBJECT=Dimension_4 DimensionName="CoarseCloudLayer" Size=3 END_OBJECT=Dimension_4 OBJECT=Dimension_5 DimensionName="FineCloudLayer" Size=12 END_OBJECT=Dimension_5 OBJECT=Dimension_6 DimensionName="EmisFreqMW" Size=3 END_OBJECT=Dimension_6 END_GROUP=Dimension GROUP=DataField OBJECT=DataField_1 DataFieldName="TotalCounts_MW_A" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_1 OBJECT=DataField_2 DataFieldName="Emis_MW_A" DataType=DFNT_FLOAT32 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_2 OBJECT=DataField_3 DataFieldName="Emis_MW_A_ct" DataType=DFNT_INT16 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_3 OBJECT=DataField_4 DataFieldName="Emis_MW_A_sdev" DataType=DFNT_FLOAT32 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_4 OBJECT=DataField_5 DataFieldName="Emis_MW_A_min" DataType=DFNT_FLOAT32 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_5 OBJECT=DataField_6 DataFieldName="Emis_MW_A_max" DataType=DFNT_FLOAT32 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_6 OBJECT=DataField_7 DataFieldName="Temperature_MW_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_7 OBJECT=DataField_8 DataFieldName="Temperature_MW_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_8 OBJECT=DataField_9 DataFieldName="Temperature_MW_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_9 OBJECT=DataField_10 DataFieldName="Temperature_MW_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_10 OBJECT=DataField_11 DataFieldName="Temperature_MW_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_11 OBJECT=DataField_12 DataFieldName="TotH2OVap_MW_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_12 OBJECT=DataField_13 DataFieldName="TotH2OVap_MW_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_13 OBJECT=DataField_14 DataFieldName="TotH2OVap_MW_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_14 OBJECT=DataField_15 DataFieldName="TotH2OVap_MW_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_15 OBJECT=DataField_16 DataFieldName="TotH2OVap_MW_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_16 OBJECT=DataField_17 DataFieldName="GPHeight_MW_A" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_17 OBJECT=DataField_18 DataFieldName="GPHeight_MW_A_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_18 OBJECT=DataField_19 DataFieldName="GPHeight_MW_A_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_19 OBJECT=DataField_20 DataFieldName="GPHeight_MW_A_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_20 OBJECT=DataField_21 DataFieldName="GPHeight_MW_A_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_21 OBJECT=DataField_22 DataFieldName="TotCldLiqH2O_MW_A" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_22 OBJECT=DataField_23 DataFieldName="TotCldLiqH2O_MW_A_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_23 OBJECT=DataField_24 DataFieldName="TotCldLiqH2O_MW_A_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_24 OBJECT=DataField_25 DataFieldName="TotCldLiqH2O_MW_A_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_25 OBJECT=DataField_26 DataFieldName="TotCldLiqH2O_MW_A_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_26 OBJECT=DataField_27 DataFieldName="TotCldLiqH2O_MW_A_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_27 END_GROUP=DataField GROUP=MergedFields END_GROUP=MergedFields END_GROUP=GRID_5 GROUP=GRID_6 GridName="descending_MW_only" XDim=360 YDim=180 UpperLeftPointMtrs=(-179030000.000000,89030000.000000) LowerRightMtrs=(180030000.000000,-90030000.000000) Projection=GCTP_GEO GROUP=Dimension OBJECT=Dimension_1 DimensionName="StdPressureLev" Size=24 END_OBJECT=Dimension_1 OBJECT=Dimension_2 DimensionName="H2OPressureLev" Size=12 END_OBJECT=Dimension_2 OBJECT=Dimension_3 DimensionName="H2OPressureLay" Size=12 END_OBJECT=Dimension_3 OBJECT=Dimension_4 DimensionName="CoarseCloudLayer" Size=3 END_OBJECT=Dimension_4 OBJECT=Dimension_5 DimensionName="FineCloudLayer" Size=12 END_OBJECT=Dimension_5 OBJECT=Dimension_6 DimensionName="EmisFreqMW" Size=3 END_OBJECT=Dimension_6 END_GROUP=Dimension GROUP=DataField OBJECT=DataField_1 DataFieldName="TotalCounts_MW_D" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_1 OBJECT=DataField_2 DataFieldName="Emis_MW_D" DataType=DFNT_FLOAT32 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_2 OBJECT=DataField_3 DataFieldName="Emis_MW_D_ct" DataType=DFNT_INT16 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_3 OBJECT=DataField_4 DataFieldName="Emis_MW_D_sdev" DataType=DFNT_FLOAT32 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_4 OBJECT=DataField_5 DataFieldName="Emis_MW_D_min" DataType=DFNT_FLOAT32 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_5 OBJECT=DataField_6 DataFieldName="Emis_MW_D_max" DataType=DFNT_FLOAT32 DimList=("EmisFreqMW","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_6 OBJECT=DataField_7 DataFieldName="Temperature_MW_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_7 OBJECT=DataField_8 DataFieldName="Temperature_MW_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_8 OBJECT=DataField_9 DataFieldName="Temperature_MW_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_9 OBJECT=DataField_10 DataFieldName="Tempe + E_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName="RelHumSurf_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName="RelHumSurf_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName="RelHumSurf_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName="RelHumSurf_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName="RelHum_liquid_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName="RelHum_liquid_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName="RelHum_liquid_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName="RelHum_liquid_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName="RelHum_liquid_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("H2OPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName="RelHumSurf_liquid_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName="RelHumSurf_liquid_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName="RelHumSurf_liquid_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName="RelHumSurf_liquid_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName="RelHumSurf_liquid_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName="TropHeight_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName="TropHeight_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName="TropHeight_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName="TropHeight_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName="TropHeight_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName="GPHeight_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName="GPHeight_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName="GPHeight_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName="GPHeight_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName="GPHeight_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName="CloudFrc_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName="CloudFrc_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName="CloudFrc_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName="CloudFrc_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName="CloudFrc_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName="CloudFrc_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName="CloudTopPres_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName="CloudTopPres_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName="CloudTopPres_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName="CloudTopPres_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName="CloudTopPres_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName="CloudTopPres_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName="CloudTopTemp_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName="CloudTopTemp_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName="CloudTopTemp_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName="CloudTopTemp_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName="CloudTopTemp_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName="CloudTopTemp_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName="FineCloudFrc_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName="FineCloudFrc_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName="FineCloudFrc_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName="FineCloudFrc_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName="FineCloudFrc_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("FineCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName="CoarseCloudFrc_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName="CoarseCloudFrc_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName="CoarseCloudFrc_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName="CoarseCloudFrc_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName="CoarseCloudFrc_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName="CoarseCloudPres_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName="CoarseCloudPres_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName="CoarseCloudPres_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName="CoarseCloudPres_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName="CoarseCloudPres_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName="CoarseCloudTemp_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName="CoarseCloudTemp_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName="CoarseCloudTemp_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName="CoarseCloudTemp_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName="CoarseCloudTemp_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("CoarseCloudLayer","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName="TotO3_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName="TotO3_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName="TotO3_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName="TotO3_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName="TotO3_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName="TotO3_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName="O3_VMR_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName="O3_VMR_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName="O3_VMR_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName="O3_VMR_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName="O3_VMR_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName="O3_VMR_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName="TotCO_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName="TotCO_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName="TotCO_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName="TotCO_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName="TotCO_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName="CO_VMR_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName="CO_VMR_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName="CO_VMR_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName="CO_VMR_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName="CO_VMR_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName="CO_VMR_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName="TotCH4_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName="TotCH4_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName="TotCH4_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName="TotCH4_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName="TotCH4_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName="CH4_VMR_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName="CH4_VMR_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName="CH4_VMR_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName="CH4_VMR_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName="CH4_VMR_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName="CH4_VMR_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName="OLR_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName="OLR_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName="OLR_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName="OLR_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName="OLR_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName="OLR_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName="ClrOLR_TqJ_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName="ClrOLR_TqJ_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName="ClrOLR_TqJ_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName="ClrOLR_TqJ_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName="ClrOLR_TqJ_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName="ClrOLR_TqJ_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_4 + GROUP=GRID_5 + GridName="ascending_MW_only" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName="StdPressureLev" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName="H2OPressureLev" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName="H2OPressureLay" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName="CoarseCloudLayer" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName="FineCloudLayer" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName="EmisFreqMW" + Size=3 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName="TotalCounts_MW_A" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName="Emis_MW_A" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName="Emis_MW_A_ct" + DataType=DFNT_INT16 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName="Emis_MW_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName="Emis_MW_A_min" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName="Emis_MW_A_max" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName="Temperature_MW_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName="Temperature_MW_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName="Temperature_MW_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName="Temperature_MW_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName="Temperature_MW_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName="TotH2OVap_MW_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName="TotH2OVap_MW_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName="TotH2OVap_MW_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName="TotH2OVap_MW_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName="TotH2OVap_MW_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName="GPHeight_MW_A" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName="GPHeight_MW_A_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName="GPHeight_MW_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName="GPHeight_MW_A_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName="GPHeight_MW_A_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName="TotCldLiqH2O_MW_A" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName="TotCldLiqH2O_MW_A_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName="TotCldLiqH2O_MW_A_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName="TotCldLiqH2O_MW_A_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName="TotCldLiqH2O_MW_A_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName="TotCldLiqH2O_MW_A_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_5 + GROUP=GRID_6 + GridName="descending_MW_only" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName="StdPressureLev" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName="H2OPressureLev" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName="H2OPressureLay" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName="CoarseCloudLayer" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName="FineCloudLayer" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName="EmisFreqMW" + Size=3 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName="TotalCounts_MW_D" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName="Emis_MW_D" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName="Emis_MW_D_ct" + DataType=DFNT_INT16 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName="Emis_MW_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName="Emis_MW_D_min" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName="Emis_MW_D_max" + DataType=DFNT_FLOAT32 + DimList=("EmisFreqMW","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName="Temperature_MW_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName="Temperature_MW_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName="Temperature_MW_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName="Tempe - rature_MW_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_10 OBJECT=DataField_11 DataFieldName="Temperature_MW_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_11 OBJECT=DataField_12 DataFieldName="TotH2OVap_MW_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_12 OBJECT=DataField_13 DataFieldName="TotH2OVap_MW_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_13 OBJECT=DataField_14 DataFieldName="TotH2OVap_MW_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_14 OBJECT=DataField_15 DataFieldName="TotH2OVap_MW_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_15 OBJECT=DataField_16 DataFieldName="TotH2OVap_MW_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_16 OBJECT=DataField_17 DataFieldName="GPHeight_MW_D" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_17 OBJECT=DataField_18 DataFieldName="GPHeight_MW_D_ct" DataType=DFNT_INT16 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_18 OBJECT=DataField_19 DataFieldName="GPHeight_MW_D_sdev" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_19 OBJECT=DataField_20 DataFieldName="GPHeight_MW_D_min" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_20 OBJECT=DataField_21 DataFieldName="GPHeight_MW_D_max" DataType=DFNT_FLOAT32 DimList=("StdPressureLev","YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_21 OBJECT=DataField_22 DataFieldName="TotCldLiqH2O_MW_D" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_22 OBJECT=DataField_23 DataFieldName="TotCldLiqH2O_MW_D_ct" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_23 OBJECT=DataField_24 DataFieldName="TotCldLiqH2O_MW_D_sdev" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_24 OBJECT=DataField_25 DataFieldName="TotCldLiqH2O_MW_D_min" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_25 OBJECT=DataField_26 DataFieldName="TotCldLiqH2O_MW_D_max" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_26 OBJECT=DataField_27 DataFieldName="TotCldLiqH2O_MW_D_err" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_27 END_GROUP=DataField GROUP=MergedFields END_GROUP=MergedFields END_GROUP=GRID_6 GROUP=GRID_7 GridName="location" XDim=360 YDim=180 UpperLeftPointMtrs=(-179030000.000000,89030000.000000) LowerRightMtrs=(180030000.000000,-90030000.000000) Projection=GCTP_GEO GROUP=Dimension END_GROUP=Dimension GROUP=DataField OBJECT=DataField_1 DataFieldName="Latitude" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_1 OBJECT=DataField_2 DataFieldName="Longitude" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_2 OBJECT=DataField_3 DataFieldName="LandSeaMask" DataType=DFNT_INT16 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_3 OBJECT=DataField_4 DataFieldName="Topography" DataType=DFNT_FLOAT32 DimList=("YDim","XDim") CompressionType=HDFE_COMP_DEFLATE DeflateLevel=5 END_OBJECT=DataField_4 END_GROUP=DataField GROUP=MergedFields END_GROUP=MergedFields END_GROUP=GRID_7END_GROUP=GridStructureGROUP=PointStructureEND_GROUP=PointStructureEND + rature_MW_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName="Temperature_MW_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName="TotH2OVap_MW_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName="TotH2OVap_MW_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName="TotH2OVap_MW_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName="TotH2OVap_MW_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName="TotH2OVap_MW_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName="GPHeight_MW_D" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName="GPHeight_MW_D_ct" + DataType=DFNT_INT16 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName="GPHeight_MW_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName="GPHeight_MW_D_min" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName="GPHeight_MW_D_max" + DataType=DFNT_FLOAT32 + DimList=("StdPressureLev","YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName="TotCldLiqH2O_MW_D" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName="TotCldLiqH2O_MW_D_ct" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName="TotCldLiqH2O_MW_D_sdev" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName="TotCldLiqH2O_MW_D_min" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName="TotCldLiqH2O_MW_D_max" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName="TotCldLiqH2O_MW_D_err" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_6 + GROUP=GRID_7 + GridName="location" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName="Latitude" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName="Longitude" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName="LandSeaMask" + DataType=DFNT_INT16 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName="Topography" + DataType=DFNT_FLOAT32 + DimList=("YDim","XDim") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_7 +END_GROUP=GridStructure +GROUP=PointStructure +END_GROUP=PointStructure +END + 10.5067/AQUA/AIRS/DATA303 @@ -8245,13 +13884,2850 @@ http://dx.doi.org/ - GROUP = INVENTORYMETADATA GROUPTYPE = MASTERGROUP GROUP = ECSDATAGRANULE OBJECT = LOCALGRANULEID NUM_VAL = 1 VALUE = "AIRS.2015.09.21.L3.RetStd_IR001.v6.0.31.0.G15281122640.hdf" END_OBJECT = LOCALGRANULEID OBJECT = PRODUCTIONDATETIME NUM_VAL = 1 VALUE = "2015-10-08T16:26:44.000Z" END_OBJECT = PRODUCTIONDATETIME OBJECT = LOCALVERSIONID NUM_VAL = 1 VALUE = "Unspecified" END_OBJECT = LOCALVERSIONID END_GROUP = ECSDATAGRANULE GROUP = MEASUREDPARAMETER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "1" GROUP = QAFLAGS CLASS = "1" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "1" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "1" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "1" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "1" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "1" NUM_VAL = 1 VALUE = "Surface Skin Temperature" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "2" GROUP = QAFLAGS CLASS = "2" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "2" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "2" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "2" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "2" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "2" NUM_VAL = 1 VALUE = "Surface Air Temperature" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "3" GROUP = QAFLAGS CLASS = "3" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "3" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "3" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "3" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "3" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "3" NUM_VAL = 1 VALUE = "Atmospheric Temperature" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "4" GROUP = QAFLAGS CLASS = "4" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "4" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "4" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "4" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "4" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "4" NUM_VAL = 1 VALUE = "Water Vapor Mass Mixing Ratio" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "5" GROUP = QAFLAGS CLASS = "5" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "5" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "5" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "5" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "5" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "5" NUM_VAL = 1 VALUE = "Total Precipitable Water Vapor" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "6" GROUP = QAFLAGS CLASS = "6" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "6" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "6" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "6" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "6" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "6" NUM_VAL = 1 VALUE = "Ozone Volume Mixing Ratio" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "7" GROUP = QAFLAGS CLASS = "7" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "7" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "7" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "7" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "7" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "7" NUM_VAL = 1 VALUE = "Total Ozone Burden" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "8" GROUP = QAFLAGS CLASS = "8" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "8" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "8" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "8" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "8" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "8" NUM_VAL = 1 VALUE = "Spectral IR Surface Emissivities" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "9" GROUP = QAFLAGS CLASS = "9" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "9" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "9" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "9" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "9" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "9" NUM_VAL = 1 VALUE = "Spectral IR Surf Bidirect Reflectivity" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "10" GROUP = QAFLAGS CLASS = "10" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "10" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "10" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "10" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "10" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "10" NUM_VAL = 1 VALUE = "MW Surface Brightness" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "11" GROUP = QAFLAGS CLASS = "11" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "11" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "11" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "11" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "11" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "11" NUM_VAL = 1 VALUE = "MW Emissivity" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "12" GROUP = QAFLAGS CLASS = "12" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "12" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "12" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "12" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "12" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "12" NUM_VAL = 1 VALUE = "Total Cloud Water" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "13" GROUP = QAFLAGS CLASS = "13" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "13" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "13" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "13" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "13" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "13" NUM_VAL = 1 VALUE = "Cloud Top Temperature" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "14" GROUP = QAFLAGS CLASS = "14" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "14" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "14" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "14" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "14" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "14" NUM_VAL = 1 VALUE = "Cloud Top Pressure" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "15" GROUP = QAFLAGS CLASS = "15" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "15" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "15" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "15" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "15" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "15" NUM_VAL = 1 VALUE = "Effective Cloud Fraction" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "16" GROUP = QAFLAGS CLASS = "16" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "16" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "16" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "16" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "16" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "16" NUM_VAL = 1 VALUE = "Geopotential Heights" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER OBJECT = MEASUREDPARAMETERCONTAINER CLASS = "17" GROUP = QAFLAGS CLASS = "17" OBJECT = AUTOMATICQUALITYFLAGEXPLANATION NUM_VAL = 1 CLASS = "17" VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION OBJECT = AUTOMATICQUALITYFLAG NUM_VAL = 1 CLASS = "17" VALUE = "Passed" END_OBJECT = AUTOMATICQUALITYFLAG END_GROUP = QAFLAGS GROUP = QASTATS CLASS = "17" OBJECT = QAPERCENTMISSINGDATA NUM_VAL = 1 CLASS = "17" VALUE = 0 END_OBJECT = QAPERCENTMISSINGDATA END_GROUP = QASTATS OBJECT = PARAMETERNAME CLASS = "17" NUM_VAL = 1 VALUE = "Geopotential Height of Surface" END_OBJECT = PARAMETERNAME END_OBJECT = MEASUREDPARAMETERCONTAINER END_GROUP = MEASUREDPARAMETER GROUP = COLLECTIONDESCRIPTIONCLASS OBJECT = VERSIONID NUM_VAL = 1 VALUE = 6 END_OBJECT = VERSIONID OBJECT = SHORTNAME NUM_VAL = 1 VALUE = "AIRS3STD" END_OBJECT = SHORTNAME END_GROUP = COLLECTIONDESCRIPTIONCLASS GROUP = INPUTGRANULE OBJECT = INPUTPOINTER NUM_VAL = 650 VALUE = ("L3h.land_sea_mask_1x1.v2.0.0.anc", "ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.055.L2.RetStd_IR.v6.0.31.0.G15263162608.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.056.L2.RetStd_IR.v6.0.31.0.G15263161857.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.057.L2.RetStd_IR.v6.0.31.0.G15263162616.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.058.L2.RetStd_IR.v6.0.31.0.G15263162458.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.059.L2.RetStd_IR.v6.0.31.0.G15263161800.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.060.L2.RetStd_IR.v6.0.31.0.G15263162729.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.061.L2.RetStd_IR.v6.0.31.0.G15263163911.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.062.L2.RetStd_IR.v6.0.31.0.G15263163132.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.063.L2.RetStd_IR.v6.0.31.0.G15263164255.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.064.L2.RetStd_IR.v6.0.31.0.G15263164338.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.065.L2.RetStd_IR.v6.0.31.0.G15263163544.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.066.L2.RetStd_IR.v6.0.31.0.G15263164213.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.067.L2.RetStd_IR.v6.0.31.0.G15263163338.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.068.L2.RetStd_IR.v6.0.31.0.G15263163404.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.069.L2.RetStd_IR.v6.0.31.0.G15263164059.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.070.L2.RetStd_IR.v6.0.31.0.G15263163928.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.071.L2.RetStd_IR.v6.0.31.0.G15263165529.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.072.L2.RetStd_IR.v6.0.31.0.G15263165446.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.073.L2.RetStd_IR.v6.0.31.0.G15263165537.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.074.L2.RetStd_IR.v6.0.31.0.G15263165636.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.075.L2.RetStd_IR.v6.0.31.0.G15263165715.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.076.L2.RetStd_IR.v6.0.31.0.G15263165738.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.077.L2.RetStd_IR.v6.0.31.0.G15263165605.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.078.L2.RetStd_IR.v6.0.31.0.G15263164634.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.079.L2.RetStd_IR.v6.0.31.0.G15263164723.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.080.L2.RetStd_IR.v6.0.31.0.G15263165851.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.081.L2.RetStd_IR.v6.0.31.0.G15263170554.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.082.L2.RetStd_IR.v6.0.31.0.G15263171248.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.083.L2.RetStd_IR.v6.0.31.0.G15263171159.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.084.L2.RetStd_IR.v6.0.31.0.G15263170952.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.085.L2.RetStd_IR.v6.0.31.0.G15263170426.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.086.L2.RetStd_IR.v6.0.31.0.G15263171108.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.087.L2.RetStd_IR.v6.0.31.0.G15263170807.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.088.L2.RetStd_IR.v6.0.31.0.G15263170314.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.089.L2.RetStd_IR.v6.0.31.0.G15263170928.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.090.L2.RetStd_IR.v6.0.31.0.G15263170449.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.091.L2.RetStd_IR.v6.0.31.0.G15263171947.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.092.L2.RetStd_IR.v6.0.31.0.G15263172612.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.093.L2.RetStd_IR.v6.0.31.0.G15263172002.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.094.L2.RetStd_IR.v6.0.31.0.G15263172302.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.095.L2.RetStd_IR.v6.0.31.0.G15263171935.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.096.L2.RetStd_IR.v6.0.31.0.G15263172633.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.097.L2.RetStd_IR.v6.0.31.0.G15263172038.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.098.L2.RetStd_IR.v6.0.31.0.G15263172555.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.099.L2.RetStd_IR.v6.0.31.0.G15264140454.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.100.L2.RetStd_IR.v6.0.31.0.G15264140947.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.101.L2.RetStd_IR.v6.0.31.0.G15264140931.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.102.L2.RetStd_IR.v6.0.31.0.G15264141022.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.103.L2.RetStd_IR.v6.0.31.0.G15264140649.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.104.L2.RetStd_IR.v6.0.31.0.G15264150851.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.105.L2.RetStd_IR.v6.0.31.0.G15264152314.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.106.L2.RetStd_IR.v6.0.31.0.G15264121656.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.107.L2.RetStd_IR.v6.0.31.0.G15264121515.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.108.L2.RetStd_IR.v6.0.31.0.G15264121538.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.109.L2.RetStd_IR.v6.0.31.0.G15264121635.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.110.L2.RetStd_IR.v6.0.31.0.G15264121444.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.111.L2.RetStd_IR.v6.0.31.0.G15264110959.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.112.L2.RetStd_IR.v6.0.31.0.G15264111443.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.113.L2.RetStd_IR.v6.0.31.0.G15264111813.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.114.L2.RetStd_IR.v6.0.31.0.G15264111830.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.115.L2.RetStd_IR.v6.0.31.0.G15264111625.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.116.L2.RetStd_IR.v6.0.31.0.G15264111845.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.117.L2.RetStd_IR.v6.0.31.0.G15264111705.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.118.L2.RetStd_IR.v6.0.31.0.G15264111823.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.119.L2.RetStd_IR.v6.0.31.0.G15264140806.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.120.L2.RetStd_IR.v6.0.31.0.G15264140243.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.121.L2.RetStd_IR.v6.0.31.0.G15264152348.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.122.L2.RetStd_IR.v6.0.31.0.G15264151230.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.123.L2.RetStd_IR.v6.0.31.0.G15264151136.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.124.L2.RetStd_IR.v6.0.31.0.G15264151240.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.125.L2.RetStd_IR.v6.0.31.0.G15264152439.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.126.L2.RetStd_IR.v6.0.31.0.G15264121621.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.127.L2.RetStd_IR.v6.0.31.0.G15264121202.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.128.L2.RetStd_IR.v6.0.31.0.G15264111319.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.129.L2.RetStd_IR.v6.0.31.0.G15264111643.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.130.L2.RetStd_IR.v6.0.31.0.G15264113517.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.131.L2.RetStd_IR.v6.0.31.0.G15264113614.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.132.L2.RetStd_IR.v6.0.31.0.G15264113506.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.133.L2.RetStd_IR.v6.0.31.0.G15264113518.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.134.L2.RetStd_IR.v6.0.31.0.G15264113449.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.135.L2.RetStd_IR.v6.0.31.0.G15264113326.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.136.L2.RetStd_IR.v6.0.31.0.G15264113242.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.137.L2.RetStd_IR.v6.0.31.0.G15264151152.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.138.L2.RetStd_IR.v6.0.31.0.G15264151306.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.139.L2.RetStd_IR.v6.0.31.0.G15264151253.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.140.L2.RetStd_IR.v6.0.31.0.G15264153726.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.141.L2.RetStd_IR.v6.0.31.0.G15264153417.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.142.L2.RetStd_IR.v6.0.31.0.G15264152741.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.143.L2.RetStd_IR.v6.0.31.0.G15264153225.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.144.L2.RetStd_IR.v6.0.31.0.G15264140145.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.145.L2.RetStd_IR.v6.0.31.0.G15264140717.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.146.L2.RetStd_IR.v6.0.31.0.G15264141114.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.147.L2.RetStd_IR.v6.0.31.0.G15264142809.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.148.L2.RetStd_IR.v6.0.31.0.G15264142745.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.149.L2.RetStd_IR.v6.0.31.0.G15264142733.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.150.L2.RetStd_IR.v6.0.31.0.G15264142738.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.151.L2.RetStd_IR.v6.0.31.0.G15264142636.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.152.L2.RetStd_IR.v6.0.31.0.G15264142403.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.153.L2.RetStd_IR.v6.0.31.0.G15264142345.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.154.L2.RetStd_IR.v6.0.31.0.G15264153842.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.155.L2.RetStd_IR.v6.0.31.0.G15264153527.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.156.L2.RetStd_IR.v6.0.31.0.G15264153511.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.157.L2.RetStd_IR.v6.0.31.0.G15264153503.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.158.L2.RetStd_IR.v6.0.31.0.G15264153446.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.159.L2.RetStd_IR.v6.0.31.0.G15264153805.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.160.L2.RetStd_IR.v6.0.31.0.G15264153235.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.161.L2.RetStd_IR.v6.0.31.0.G15264142120.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.162.L2.RetStd_IR.v6.0.31.0.G15264142645.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.163.L2.RetStd_IR.v6.0.31.0.G15264142737.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.164.L2.RetStd_IR.v6.0.31.0.G15264144519.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.165.L2.RetStd_IR.v6.0.31.0.G15264144449.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.166.L2.RetStd_IR.v6.0.31.0.G15264144412.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.167.L2.RetStd_IR.v6.0.31.0.G15264144427.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.168.L2.RetStd_IR.v6.0.31.0.G15264144337.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.169.L2.RetStd_IR.v6.0.31.0.G15264143438.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.170.L2.RetStd_IR.v6.0.31.0.G15264154512.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.171.L2.RetStd_IR.v6.0.31.0.G15264154539.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.172.L2.RetStd_IR.v6.0.31.0.G15264154617.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.173.L2.RetStd_IR.v6.0.31.0.G15264154558.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.174.L2.RetStd_IR.v6.0.31.0.G15264155529.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.175.L2.RetStd_IR.v6.0.31.0.G15264155900.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.176.L2.RetStd_IR.v6.0.31.0.G15264160235.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.177.L2.RetStd_IR.v6.0.31.0.G15264153353.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.178.L2.RetStd_IR.v6.0.31.0.G15264153735.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.179.L2.RetStd_IR.v6.0.31.0.G15264150440.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.180.L2.RetStd_IR.v6.0.31.0.G15264145441.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.181.L2.RetStd_IR.v6.0.31.0.G15264145506.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.182.L2.RetStd_IR.v6.0.31.0.G15264150515.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.183.L2.RetStd_IR.v6.0.31.0.G15264154526.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.184.L2.RetStd_IR.v6.0.31.0.G15264154655.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.185.L2.RetStd_IR.v6.0.31.0.G15264154558.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.186.L2.RetStd_IR.v6.0.31.0.G15264155623.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.187.L2.RetStd_IR.v6.0.31.0.G15264160155.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.188.L2.RetStd_IR.v6.0.31.0.G15264161851.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.189.L2.RetStd_IR.v6.0.31.0.G15264161745.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.190.L2.RetStd_IR.v6.0.31.0.G15264161930.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.191.L2.RetStd_IR.v6.0.31.0.G15264161941.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.192.L2.RetStd_IR.v6.0.31.0.G15264162017.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.193.L2.RetStd_IR.v6.0.31.0.G15264161351.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.194.L2.RetStd_IR.v6.0.31.0.G15264160251.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.195.L2.RetStd_IR.v6.0.31.0.G15264155217.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.196.L2.RetStd_IR.v6.0.31.0.G15264160132.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.197.L2.RetStd_IR.v6.0.31.0.G15264160432.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.198.L2.RetStd_IR.v6.0.31.0.G15264155251.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.199.L2.RetStd_IR.v6.0.31.0.G15264161936.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.200.L2.RetStd_IR.v6.0.31.0.G15264161251.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.201.L2.RetStd_IR.v6.0.31.0.G15264161339.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.202.L2.RetStd_IR.v6.0.31.0.G15264161446.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.203.L2.RetStd_IR.v6.0.31.0.G15264162350.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.204.L2.RetStd_IR.v6.0.31.0.G15264162906.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.205.L2.RetStd_IR.v6.0.31.0.G15264163137.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.206.L2.RetStd_IR.v6.0.31.0.G15264163257.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.207.L2.RetStd_IR.v6.0.31.0.G15264163356.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.208.L2.RetStd_IR.v6.0.31.0.G15264163446.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.209.L2.RetStd_IR.v6.0.31.0.G15264162413.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.210.L2.RetStd_IR.v6.0.31.0.G15264162836.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.211.L2.RetStd_IR.v6.0.31.0.G15264163410.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.212.L2.RetStd_IR.v6.0.31.0.G15264162845.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.213.L2.RetStd_IR.v6.0.31.0.G15264163822.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.214.L2.RetStd_IR.v6.0.31.0.G15264164321.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.215.L2.RetStd_IR.v6.0.31.0.G15264164607.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.216.L2.RetStd_IR.v6.0.31.0.G15264164458.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.217.L2.RetStd_IR.v6.0.31.0.G15264164500.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.218.L2.RetStd_IR.v6.0.31.0.G15264164419.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.219.L2.RetStd_IR.v6.0.31.0.G15264164231.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.220.L2.RetStd_IR.v6.0.31.0.G15264164218.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.221.L2.RetStd_IR.v6.0.31.0.G15264163812.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.222.L2.RetStd_IR.v6.0.31.0.G15264164523.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.223.L2.RetStd_IR.v6.0.31.0.G15264165920.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.224.L2.RetStd_IR.v6.0.31.0.G15264170051.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.225.L2.RetStd_IR.v6.0.31.0.G15264165821.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.226.L2.RetStd_IR.v6.0.31.0.G15264165335.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.227.L2.RetStd_IR.v6.0.31.0.G15264165011.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.228.L2.RetStd_IR.v6.0.31.0.G15264165302.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.229.L2.RetStd_IR.v6.0.31.0.G15264170032.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.230.L2.RetStd_IR.v6.0.31.0.G15264170025.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.231.L2.RetStd_IR.v6.0.31.0.G15264165213.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.232.L2.RetStd_IR.v6.0.31.0.G15264170029.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.233.L2.RetStd_IR.v6.0.31.0.G15264170847.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.234.L2.RetStd_IR.v6.0.31.0.G15264171427.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.235.L2.RetStd_IR.v6.0.31.0.G15264171427.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.236.L2.RetStd_IR.v6.0.31.0.G15264170946.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.237.L2.RetStd_IR.v6.0.31.0.G15264171033.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.238.L2.RetStd_IR.v6.0.31.0.G15264171804.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.239.L2.RetStd_IR.v6.0.31.0.G15264171759.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.240.L2.RetStd_IR.v6.0.31.0.G15264171839.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.001.L2.RetStd_IR.v6.0.31.0.G15264172109.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.002.L2.RetStd_IR.v6.0.31.0.G15264171717.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.003.L2.RetStd_IR.v6.0.31.0.G15264171858.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.004.L2.RetStd_IR.v6.0.31.0.G15264172827.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.005.L2.RetStd_IR.v6.0.31.0.G15264174641.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.006.L2.RetStd_IR.v6.0.31.0.G15264173735.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.007.L2.RetStd_IR.v6.0.31.0.G15264174512.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.008.L2.RetStd_IR.v6.0.31.0.G15264174542.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.009.L2.RetStd_IR.v6.0.31.0.G15264174543.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.010.L2.RetStd_IR.v6.0.31.0.G15264174433.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.011.L2.RetStd_IR.v6.0.31.0.G15264174333.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.012.L2.RetStd_IR.v6.0.31.0.G15264184344.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.013.L2.RetStd_IR.v6.0.31.0.G15264184222.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.014.L2.RetStd_IR.v6.0.31.0.G15264183647.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.015.L2.RetStd_IR.v6.0.31.0.G15264184359.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.016.L2.RetStd_IR.v6.0.31.0.G15264184512.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.017.L2.RetStd_IR.v6.0.31.0.G15264184505.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.018.L2.RetStd_IR.v6.0.31.0.G15264183746.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.019.L2.RetStd_IR.v6.0.31.0.G15264184011.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.020.L2.RetStd_IR.v6.0.31.0.G15264173541.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.021.L2.RetStd_IR.v6.0.31.0.G15264174602.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.022.L2.RetStd_IR.v6.0.31.0.G15264173819.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.023.L2.RetStd_IR.v6.0.31.0.G15264175348.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.024.L2.RetStd_IR.v6.0.31.0.G15264180052.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.025.L2.RetStd_IR.v6.0.31.0.G15264175944.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.026.L2.RetStd_IR.v6.0.31.0.G15264144430.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.027.L2.RetStd_IR.v6.0.31.0.G15264143514.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.028.L2.RetStd_IR.v6.0.31.0.G15264150149.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.029.L2.RetStd_IR.v6.0.31.0.G15264183823.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.030.L2.RetStd_IR.v6.0.31.0.G15264184412.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.031.L2.RetStd_IR.v6.0.31.0.G15264190055.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.032.L2.RetStd_IR.v6.0.31.0.G15264185951.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.033.L2.RetStd_IR.v6.0.31.0.G15264190028.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.034.L2.RetStd_IR.v6.0.31.0.G15264190102.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.035.L2.RetStd_IR.v6.0.31.0.G15264185653.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.036.L2.RetStd_IR.v6.0.31.0.G15264175609.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.037.L2.RetStd_IR.v6.0.31.0.G15264175919.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.038.L2.RetStd_IR.v6.0.31.0.G15264180110.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.039.L2.RetStd_IR.v6.0.31.0.G15264175301.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.040.L2.RetStd_IR.v6.0.31.0.G15264180030.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.041.L2.RetStd_IR.v6.0.31.0.G15264180035.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS + +GROUP = INVENTORYMETADATA + GROUPTYPE = MASTERGROUP + + GROUP = ECSDATAGRANULE + + OBJECT = LOCALGRANULEID + NUM_VAL = 1 + VALUE = "AIRS.2015.09.21.L3.RetStd_IR001.v6.0.31.0.G15281122640.hdf" + END_OBJECT = LOCALGRANULEID + + OBJECT = PRODUCTIONDATETIME + NUM_VAL = 1 + VALUE = "2015-10-08T16:26:44.000Z" + END_OBJECT = PRODUCTIONDATETIME + + OBJECT = LOCALVERSIONID + NUM_VAL = 1 + VALUE = "Unspecified" + END_OBJECT = LOCALVERSIONID + + END_GROUP = ECSDATAGRANULE + + GROUP = MEASUREDPARAMETER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "1" + + GROUP = QAFLAGS + CLASS = "1" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "1" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "1" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "1" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "1" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "1" + NUM_VAL = 1 + VALUE = "Surface Skin Temperature" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "2" + + GROUP = QAFLAGS + CLASS = "2" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "2" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "2" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "2" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "2" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "2" + NUM_VAL = 1 + VALUE = "Surface Air Temperature" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "3" + + GROUP = QAFLAGS + CLASS = "3" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "3" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "3" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "3" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "3" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "3" + NUM_VAL = 1 + VALUE = "Atmospheric Temperature" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "4" + + GROUP = QAFLAGS + CLASS = "4" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "4" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "4" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "4" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "4" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "4" + NUM_VAL = 1 + VALUE = "Water Vapor Mass Mixing Ratio" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "5" + + GROUP = QAFLAGS + CLASS = "5" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "5" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "5" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "5" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "5" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "5" + NUM_VAL = 1 + VALUE = "Total Precipitable Water Vapor" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "6" + + GROUP = QAFLAGS + CLASS = "6" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "6" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "6" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "6" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "6" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "6" + NUM_VAL = 1 + VALUE = "Ozone Volume Mixing Ratio" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "7" + + GROUP = QAFLAGS + CLASS = "7" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "7" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "7" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "7" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "7" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "7" + NUM_VAL = 1 + VALUE = "Total Ozone Burden" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "8" + + GROUP = QAFLAGS + CLASS = "8" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "8" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "8" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "8" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "8" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "8" + NUM_VAL = 1 + VALUE = "Spectral IR Surface Emissivities" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "9" + + GROUP = QAFLAGS + CLASS = "9" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "9" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "9" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "9" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "9" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "9" + NUM_VAL = 1 + VALUE = "Spectral IR Surf Bidirect Reflectivity" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "10" + + GROUP = QAFLAGS + CLASS = "10" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "10" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "10" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "10" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "10" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "10" + NUM_VAL = 1 + VALUE = "MW Surface Brightness" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "11" + + GROUP = QAFLAGS + CLASS = "11" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "11" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "11" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "11" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "11" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "11" + NUM_VAL = 1 + VALUE = "MW Emissivity" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "12" + + GROUP = QAFLAGS + CLASS = "12" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "12" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "12" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "12" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "12" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "12" + NUM_VAL = 1 + VALUE = "Total Cloud Water" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "13" + + GROUP = QAFLAGS + CLASS = "13" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "13" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "13" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "13" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "13" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "13" + NUM_VAL = 1 + VALUE = "Cloud Top Temperature" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "14" + + GROUP = QAFLAGS + CLASS = "14" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "14" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "14" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "14" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "14" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "14" + NUM_VAL = 1 + VALUE = "Cloud Top Pressure" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "15" + + GROUP = QAFLAGS + CLASS = "15" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "15" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "15" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "15" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "15" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "15" + NUM_VAL = 1 + VALUE = "Effective Cloud Fraction" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "16" + + GROUP = QAFLAGS + CLASS = "16" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "16" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "16" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "16" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "16" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "16" + NUM_VAL = 1 + VALUE = "Geopotential Heights" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = "17" + + GROUP = QAFLAGS + CLASS = "17" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = "17" + VALUE = "Based on percentage of product that is good. Suspect used where true quality is not known." + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = "17" + VALUE = "Passed" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = "17" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = "17" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = "17" + NUM_VAL = 1 + VALUE = "Geopotential Height of Surface" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + END_GROUP = MEASUREDPARAMETER + + GROUP = COLLECTIONDESCRIPTIONCLASS + + OBJECT = VERSIONID + NUM_VAL = 1 + VALUE = 6 + END_OBJECT = VERSIONID + + OBJECT = SHORTNAME + NUM_VAL = 1 + VALUE = "AIRS3STD" + END_OBJECT = SHORTNAME + + END_GROUP = COLLECTIONDESCRIPTIONCLASS + + GROUP = INPUTGRANULE + + OBJECT = INPUTPOINTER + NUM_VAL = 650 + VALUE = ("L3h.land_sea_mask_1x1.v2.0.0.anc", "ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.055.L2.RetStd_IR.v6.0.31.0.G15263162608.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.056.L2.RetStd_IR.v6.0.31.0.G15263161857.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.057.L2.RetStd_IR.v6.0.31.0.G15263162616.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.058.L2.RetStd_IR.v6.0.31.0.G15263162458.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.059.L2.RetStd_IR.v6.0.31.0.G15263161800.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.060.L2.RetStd_IR.v6.0.31.0.G15263162729.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.061.L2.RetStd_IR.v6.0.31.0.G15263163911.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.062.L2.RetStd_IR.v6.0.31.0.G15263163132.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.063.L2.RetStd_IR.v6.0.31.0.G15263164255.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.064.L2.RetStd_IR.v6.0.31.0.G15263164338.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.065.L2.RetStd_IR.v6.0.31.0.G15263163544.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.066.L2.RetStd_IR.v6.0.31.0.G15263164213.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.067.L2.RetStd_IR.v6.0.31.0.G15263163338.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.068.L2.RetStd_IR.v6.0.31.0.G15263163404.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.069.L2.RetStd_IR.v6.0.31.0.G15263164059.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.070.L2.RetStd_IR.v6.0.31.0.G15263163928.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.071.L2.RetStd_IR.v6.0.31.0.G15263165529.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.072.L2.RetStd_IR.v6.0.31.0.G15263165446.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.073.L2.RetStd_IR.v6.0.31.0.G15263165537.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.074.L2.RetStd_IR.v6.0.31.0.G15263165636.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.075.L2.RetStd_IR.v6.0.31.0.G15263165715.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.076.L2.RetStd_IR.v6.0.31.0.G15263165738.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.077.L2.RetStd_IR.v6.0.31.0.G15263165605.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.078.L2.RetStd_IR.v6.0.31.0.G15263164634.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.079.L2.RetStd_IR.v6.0.31.0.G15263164723.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.080.L2.RetStd_IR.v6.0.31.0.G15263165851.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.081.L2.RetStd_IR.v6.0.31.0.G15263170554.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.082.L2.RetStd_IR.v6.0.31.0.G15263171248.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.083.L2.RetStd_IR.v6.0.31.0.G15263171159.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.084.L2.RetStd_IR.v6.0.31.0.G15263170952.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.085.L2.RetStd_IR.v6.0.31.0.G15263170426.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.086.L2.RetStd_IR.v6.0.31.0.G15263171108.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.087.L2.RetStd_IR.v6.0.31.0.G15263170807.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.088.L2.RetStd_IR.v6.0.31.0.G15263170314.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.089.L2.RetStd_IR.v6.0.31.0.G15263170928.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.090.L2.RetStd_IR.v6.0.31.0.G15263170449.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.091.L2.RetStd_IR.v6.0.31.0.G15263171947.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.092.L2.RetStd_IR.v6.0.31.0.G15263172612.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.093.L2.RetStd_IR.v6.0.31.0.G15263172002.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.094.L2.RetStd_IR.v6.0.31.0.G15263172302.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.095.L2.RetStd_IR.v6.0.31.0.G15263171935.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.096.L2.RetStd_IR.v6.0.31.0.G15263172633.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.097.L2.RetStd_IR.v6.0.31.0.G15263172038.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.098.L2.RetStd_IR.v6.0.31.0.G15263172555.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.099.L2.RetStd_IR.v6.0.31.0.G15264140454.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.100.L2.RetStd_IR.v6.0.31.0.G15264140947.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.101.L2.RetStd_IR.v6.0.31.0.G15264140931.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.102.L2.RetStd_IR.v6.0.31.0.G15264141022.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.103.L2.RetStd_IR.v6.0.31.0.G15264140649.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.104.L2.RetStd_IR.v6.0.31.0.G15264150851.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.105.L2.RetStd_IR.v6.0.31.0.G15264152314.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.106.L2.RetStd_IR.v6.0.31.0.G15264121656.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.107.L2.RetStd_IR.v6.0.31.0.G15264121515.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.108.L2.RetStd_IR.v6.0.31.0.G15264121538.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.109.L2.RetStd_IR.v6.0.31.0.G15264121635.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.110.L2.RetStd_IR.v6.0.31.0.G15264121444.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.111.L2.RetStd_IR.v6.0.31.0.G15264110959.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.112.L2.RetStd_IR.v6.0.31.0.G15264111443.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.113.L2.RetStd_IR.v6.0.31.0.G15264111813.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.114.L2.RetStd_IR.v6.0.31.0.G15264111830.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.115.L2.RetStd_IR.v6.0.31.0.G15264111625.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.116.L2.RetStd_IR.v6.0.31.0.G15264111845.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.117.L2.RetStd_IR.v6.0.31.0.G15264111705.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.118.L2.RetStd_IR.v6.0.31.0.G15264111823.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.119.L2.RetStd_IR.v6.0.31.0.G15264140806.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.120.L2.RetStd_IR.v6.0.31.0.G15264140243.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.121.L2.RetStd_IR.v6.0.31.0.G15264152348.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.122.L2.RetStd_IR.v6.0.31.0.G15264151230.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.123.L2.RetStd_IR.v6.0.31.0.G15264151136.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.124.L2.RetStd_IR.v6.0.31.0.G15264151240.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.125.L2.RetStd_IR.v6.0.31.0.G15264152439.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.126.L2.RetStd_IR.v6.0.31.0.G15264121621.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.127.L2.RetStd_IR.v6.0.31.0.G15264121202.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.128.L2.RetStd_IR.v6.0.31.0.G15264111319.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.129.L2.RetStd_IR.v6.0.31.0.G15264111643.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.130.L2.RetStd_IR.v6.0.31.0.G15264113517.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.131.L2.RetStd_IR.v6.0.31.0.G15264113614.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.132.L2.RetStd_IR.v6.0.31.0.G15264113506.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.133.L2.RetStd_IR.v6.0.31.0.G15264113518.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.134.L2.RetStd_IR.v6.0.31.0.G15264113449.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.135.L2.RetStd_IR.v6.0.31.0.G15264113326.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.136.L2.RetStd_IR.v6.0.31.0.G15264113242.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.137.L2.RetStd_IR.v6.0.31.0.G15264151152.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.138.L2.RetStd_IR.v6.0.31.0.G15264151306.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.139.L2.RetStd_IR.v6.0.31.0.G15264151253.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.140.L2.RetStd_IR.v6.0.31.0.G15264153726.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.141.L2.RetStd_IR.v6.0.31.0.G15264153417.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.142.L2.RetStd_IR.v6.0.31.0.G15264152741.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.143.L2.RetStd_IR.v6.0.31.0.G15264153225.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.144.L2.RetStd_IR.v6.0.31.0.G15264140145.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.145.L2.RetStd_IR.v6.0.31.0.G15264140717.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.146.L2.RetStd_IR.v6.0.31.0.G15264141114.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.147.L2.RetStd_IR.v6.0.31.0.G15264142809.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.148.L2.RetStd_IR.v6.0.31.0.G15264142745.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.149.L2.RetStd_IR.v6.0.31.0.G15264142733.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.150.L2.RetStd_IR.v6.0.31.0.G15264142738.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.151.L2.RetStd_IR.v6.0.31.0.G15264142636.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.152.L2.RetStd_IR.v6.0.31.0.G15264142403.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.153.L2.RetStd_IR.v6.0.31.0.G15264142345.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.154.L2.RetStd_IR.v6.0.31.0.G15264153842.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.155.L2.RetStd_IR.v6.0.31.0.G15264153527.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.156.L2.RetStd_IR.v6.0.31.0.G15264153511.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.157.L2.RetStd_IR.v6.0.31.0.G15264153503.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.158.L2.RetStd_IR.v6.0.31.0.G15264153446.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.159.L2.RetStd_IR.v6.0.31.0.G15264153805.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.160.L2.RetStd_IR.v6.0.31.0.G15264153235.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.161.L2.RetStd_IR.v6.0.31.0.G15264142120.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.162.L2.RetStd_IR.v6.0.31.0.G15264142645.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.163.L2.RetStd_IR.v6.0.31.0.G15264142737.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.164.L2.RetStd_IR.v6.0.31.0.G15264144519.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.165.L2.RetStd_IR.v6.0.31.0.G15264144449.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.166.L2.RetStd_IR.v6.0.31.0.G15264144412.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.167.L2.RetStd_IR.v6.0.31.0.G15264144427.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.168.L2.RetStd_IR.v6.0.31.0.G15264144337.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.169.L2.RetStd_IR.v6.0.31.0.G15264143438.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.170.L2.RetStd_IR.v6.0.31.0.G15264154512.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.171.L2.RetStd_IR.v6.0.31.0.G15264154539.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.172.L2.RetStd_IR.v6.0.31.0.G15264154617.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.173.L2.RetStd_IR.v6.0.31.0.G15264154558.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.174.L2.RetStd_IR.v6.0.31.0.G15264155529.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.175.L2.RetStd_IR.v6.0.31.0.G15264155900.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.176.L2.RetStd_IR.v6.0.31.0.G15264160235.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.177.L2.RetStd_IR.v6.0.31.0.G15264153353.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.178.L2.RetStd_IR.v6.0.31.0.G15264153735.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.179.L2.RetStd_IR.v6.0.31.0.G15264150440.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.180.L2.RetStd_IR.v6.0.31.0.G15264145441.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.181.L2.RetStd_IR.v6.0.31.0.G15264145506.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.182.L2.RetStd_IR.v6.0.31.0.G15264150515.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.183.L2.RetStd_IR.v6.0.31.0.G15264154526.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.184.L2.RetStd_IR.v6.0.31.0.G15264154655.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.185.L2.RetStd_IR.v6.0.31.0.G15264154558.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.186.L2.RetStd_IR.v6.0.31.0.G15264155623.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.187.L2.RetStd_IR.v6.0.31.0.G15264160155.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.188.L2.RetStd_IR.v6.0.31.0.G15264161851.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.189.L2.RetStd_IR.v6.0.31.0.G15264161745.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.190.L2.RetStd_IR.v6.0.31.0.G15264161930.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.191.L2.RetStd_IR.v6.0.31.0.G15264161941.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.192.L2.RetStd_IR.v6.0.31.0.G15264162017.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.193.L2.RetStd_IR.v6.0.31.0.G15264161351.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.194.L2.RetStd_IR.v6.0.31.0.G15264160251.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.195.L2.RetStd_IR.v6.0.31.0.G15264155217.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.196.L2.RetStd_IR.v6.0.31.0.G15264160132.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.197.L2.RetStd_IR.v6.0.31.0.G15264160432.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.198.L2.RetStd_IR.v6.0.31.0.G15264155251.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.199.L2.RetStd_IR.v6.0.31.0.G15264161936.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.200.L2.RetStd_IR.v6.0.31.0.G15264161251.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.201.L2.RetStd_IR.v6.0.31.0.G15264161339.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.202.L2.RetStd_IR.v6.0.31.0.G15264161446.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.203.L2.RetStd_IR.v6.0.31.0.G15264162350.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.204.L2.RetStd_IR.v6.0.31.0.G15264162906.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.205.L2.RetStd_IR.v6.0.31.0.G15264163137.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.206.L2.RetStd_IR.v6.0.31.0.G15264163257.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.207.L2.RetStd_IR.v6.0.31.0.G15264163356.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.208.L2.RetStd_IR.v6.0.31.0.G15264163446.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.209.L2.RetStd_IR.v6.0.31.0.G15264162413.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.210.L2.RetStd_IR.v6.0.31.0.G15264162836.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.211.L2.RetStd_IR.v6.0.31.0.G15264163410.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.212.L2.RetStd_IR.v6.0.31.0.G15264162845.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.213.L2.RetStd_IR.v6.0.31.0.G15264163822.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.214.L2.RetStd_IR.v6.0.31.0.G15264164321.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.215.L2.RetStd_IR.v6.0.31.0.G15264164607.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.216.L2.RetStd_IR.v6.0.31.0.G15264164458.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.217.L2.RetStd_IR.v6.0.31.0.G15264164500.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.218.L2.RetStd_IR.v6.0.31.0.G15264164419.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.219.L2.RetStd_IR.v6.0.31.0.G15264164231.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.220.L2.RetStd_IR.v6.0.31.0.G15264164218.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.221.L2.RetStd_IR.v6.0.31.0.G15264163812.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.222.L2.RetStd_IR.v6.0.31.0.G15264164523.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.223.L2.RetStd_IR.v6.0.31.0.G15264165920.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.224.L2.RetStd_IR.v6.0.31.0.G15264170051.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.225.L2.RetStd_IR.v6.0.31.0.G15264165821.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.226.L2.RetStd_IR.v6.0.31.0.G15264165335.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.227.L2.RetStd_IR.v6.0.31.0.G15264165011.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.228.L2.RetStd_IR.v6.0.31.0.G15264165302.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.229.L2.RetStd_IR.v6.0.31.0.G15264170032.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.230.L2.RetStd_IR.v6.0.31.0.G15264170025.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.231.L2.RetStd_IR.v6.0.31.0.G15264165213.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.232.L2.RetStd_IR.v6.0.31.0.G15264170029.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.233.L2.RetStd_IR.v6.0.31.0.G15264170847.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.234.L2.RetStd_IR.v6.0.31.0.G15264171427.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.235.L2.RetStd_IR.v6.0.31.0.G15264171427.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.236.L2.RetStd_IR.v6.0.31.0.G15264170946.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.237.L2.RetStd_IR.v6.0.31.0.G15264171033.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.238.L2.RetStd_IR.v6.0.31.0.G15264171804.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.239.L2.RetStd_IR.v6.0.31.0.G15264171759.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/263/AIRS.2015.09.20.240.L2.RetStd_IR.v6.0.31.0.G15264171839.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.001.L2.RetStd_IR.v6.0.31.0.G15264172109.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.002.L2.RetStd_IR.v6.0.31.0.G15264171717.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.003.L2.RetStd_IR.v6.0.31.0.G15264171858.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.004.L2.RetStd_IR.v6.0.31.0.G15264172827.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.005.L2.RetStd_IR.v6.0.31.0.G15264174641.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.006.L2.RetStd_IR.v6.0.31.0.G15264173735.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.007.L2.RetStd_IR.v6.0.31.0.G15264174512.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.008.L2.RetStd_IR.v6.0.31.0.G15264174542.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.009.L2.RetStd_IR.v6.0.31.0.G15264174543.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.010.L2.RetStd_IR.v6.0.31.0.G15264174433.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.011.L2.RetStd_IR.v6.0.31.0.G15264174333.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.012.L2.RetStd_IR.v6.0.31.0.G15264184344.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.013.L2.RetStd_IR.v6.0.31.0.G15264184222.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.014.L2.RetStd_IR.v6.0.31.0.G15264183647.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.015.L2.RetStd_IR.v6.0.31.0.G15264184359.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.016.L2.RetStd_IR.v6.0.31.0.G15264184512.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.017.L2.RetStd_IR.v6.0.31.0.G15264184505.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.018.L2.RetStd_IR.v6.0.31.0.G15264183746.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.019.L2.RetStd_IR.v6.0.31.0.G15264184011.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.020.L2.RetStd_IR.v6.0.31.0.G15264173541.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.021.L2.RetStd_IR.v6.0.31.0.G15264174602.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.022.L2.RetStd_IR.v6.0.31.0.G15264173819.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.023.L2.RetStd_IR.v6.0.31.0.G15264175348.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.024.L2.RetStd_IR.v6.0.31.0.G15264180052.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.025.L2.RetStd_IR.v6.0.31.0.G15264175944.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.026.L2.RetStd_IR.v6.0.31.0.G15264144430.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.027.L2.RetStd_IR.v6.0.31.0.G15264143514.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.028.L2.RetStd_IR.v6.0.31.0.G15264150149.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.029.L2.RetStd_IR.v6.0.31.0.G15264183823.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.030.L2.RetStd_IR.v6.0.31.0.G15264184412.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.031.L2.RetStd_IR.v6.0.31.0.G15264190055.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.032.L2.RetStd_IR.v6.0.31.0.G15264185951.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.033.L2.RetStd_IR.v6.0.31.0.G15264190028.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.034.L2.RetStd_IR.v6.0.31.0.G15264190102.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.035.L2.RetStd_IR.v6.0.31.0.G15264185653.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.036.L2.RetStd_IR.v6.0.31.0.G15264175609.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.037.L2.RetStd_IR.v6.0.31.0.G15264175919.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.038.L2.RetStd_IR.v6.0.31.0.G15264180110.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.039.L2.RetStd_IR.v6.0.31.0.G15264175301.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.040.L2.RetStd_IR.v6.0.31.0.G15264180030.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.041.L2.RetStd_IR.v6.0.31.0.G15264180035.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS - /Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.042.L2.RetStd_IR.v6.0.31.0.G15264175235.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.043.L2.RetStd_IR.v6.0.31.0.G15264181322.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.044.L2.RetStd_IR.v6.0.31.0.G15264180728.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.045.L2.RetStd_IR.v6.0.31.0.G15264185855.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.046.L2.RetStd_IR.v6.0.31.0.G15264185345.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.047.L2.RetStd_IR.v6.0.31.0.G15264185829.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.048.L2.RetStd_IR.v6.0.31.0.G15264185248.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.049.L2.RetStd_IR.v6.0.31.0.G15264185848.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.050.L2.RetStd_IR.v6.0.31.0.G15264190828.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.051.L2.RetStd_IR.v6.0.31.0.G15264191537.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.052.L2.RetStd_IR.v6.0.31.0.G15264191130.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.053.L2.RetStd_IR.v6.0.31.0.G15264181047.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.054.L2.RetStd_IR.v6.0.31.0.G15264181645.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.055.L2.RetStd_IR.v6.0.31.0.G15264180748.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.056.L2.RetStd_IR.v6.0.31.0.G15264181450.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.057.L2.RetStd_IR.v6.0.31.0.G15264181549.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.058.L2.RetStd_IR.v6.0.31.0.G15264180715.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.059.L2.RetStd_IR.v6.0.31.0.G15264181317.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.060.L2.RetStd_IR.v6.0.31.0.G15264181307.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.061.L2.RetStd_IR.v6.0.31.0.G15264182700.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.062.L2.RetStd_IR.v6.0.31.0.G15264191458.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.063.L2.RetStd_IR.v6.0.31.0.G15264191414.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.064.L2.RetStd_IR.v6.0.31.0.G15264190842.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.065.L2.RetStd_IR.v6.0.31.0.G15264190756.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.066.L2.RetStd_IR.v6.0.31.0.G15264191602.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.067.L2.RetStd_IR.v6.0.31.0.G15264191701.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.068.L2.RetStd_IR.v6.0.31.0.G15264191330.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.069.L2.RetStd_IR.v6.0.31.0.G15264192114.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.070.L2.RetStd_IR.v6.0.31.0.G15264192919.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.071.L2.RetStd_IR.v6.0.31.0.G15264193215.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.072.L2.RetStd_IR.v6.0.31.0.G15264193315.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.073.L2.RetStd_IR.v6.0.31.0.G15264192519.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.074.L2.RetStd_IR.v6.0.31.0.G15264192953.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.075.L2.RetStd_IR.v6.0.31.0.G15264192810.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.076.L2.RetStd_IR.v6.0.31.0.G15264192356.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.077.L2.RetStd_IR.v6.0.31.0.G15264193012.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.078.L2.RetStd_IR.v6.0.31.0.G15264194401.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.079.L2.RetStd_IR.v6.0.31.0.G15264194147.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.080.L2.RetStd_IR.v6.0.31.0.G15264194330.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.081.L2.RetStd_IR.v6.0.31.0.G15264194424.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.082.L2.RetStd_IR.v6.0.31.0.G15264194602.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.083.L2.RetStd_IR.v6.0.31.0.G15264194658.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.084.L2.RetStd_IR.v6.0.31.0.G15264194507.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.085.L2.RetStd_IR.v6.0.31.0.G15264194215.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.086.L2.RetStd_IR.v6.0.31.0.G15264192610.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.087.L2.RetStd_IR.v6.0.31.0.G15264194745.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.088.L2.RetStd_IR.v6.0.31.0.G15264194600.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.089.L2.RetStd_IR.v6.0.31.0.G15264195937.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.090.L2.RetStd_IR.v6.0.31.0.G15264195943.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.091.L2.RetStd_IR.v6.0.31.0.G15264195952.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.092.L2.RetStd_IR.v6.0.31.0.G15264195847.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.093.L2.RetStd_IR.v6.0.31.0.G15264195935.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.094.L2.RetStd_IR.v6.0.31.0.G15264195655.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.095.L2.RetStd_IR.v6.0.31.0.G15264195724.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.096.L2.RetStd_IR.v6.0.31.0.G15264195705.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.097.L2.RetStd_IR.v6.0.31.0.G15264195406.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.098.L2.RetStd_IR.v6.0.31.0.G15264195907.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.099.L2.RetStd_IR.v6.0.31.0.G15265122103.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.100.L2.RetStd_IR.v6.0.31.0.G15265122157.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.101.L2.RetStd_IR.v6.0.31.0.G15265121924.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.102.L2.RetStd_IR.v6.0.31.0.G15265111839.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.103.L2.RetStd_IR.v6.0.31.0.G15265112337.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.104.L2.RetStd_IR.v6.0.31.0.G15265112625.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.105.L2.RetStd_IR.v6.0.31.0.G15265112548.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.106.L2.RetStd_IR.v6.0.31.0.G15265112402.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.107.L2.RetStd_IR.v6.0.31.0.G15265112548.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.108.L2.RetStd_IR.v6.0.31.0.G15265112358.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.109.L2.RetStd_IR.v6.0.31.0.G15265112406.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.110.L2.RetStd_IR.v6.0.31.0.G15265112229.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.111.L2.RetStd_IR.v6.0.31.0.G15265121923.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.112.L2.RetStd_IR.v6.0.31.0.G15265122023.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.113.L2.RetStd_IR.v6.0.31.0.G15265122058.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.114.L2.RetStd_IR.v6.0.31.0.G15265122621.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.115.L2.RetStd_IR.v6.0.31.0.G15265122628.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.116.L2.RetStd_IR.v6.0.31.0.G15265122914.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.117.L2.RetStd_IR.v6.0.31.0.G15265122833.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.118.L2.RetStd_IR.v6.0.31.0.G15265112002.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.119.L2.RetStd_IR.v6.0.31.0.G15265112715.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.120.L2.RetStd_IR.v6.0.31.0.G15265114012.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.121.L2.RetStd_IR.v6.0.31.0.G15265114005.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.122.L2.RetStd_IR.v6.0.31.0.G15265113045.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.123.L2.RetStd_IR.v6.0.31.0.G15265113708.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.124.L2.RetStd_IR.v6.0.31.0.G15265113053.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.125.L2.RetStd_IR.v6.0.31.0.G15265113904.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.126.L2.RetStd_IR.v6.0.31.0.G15265113818.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.127.L2.RetStd_IR.v6.0.31.0.G15265113431.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.128.L2.RetStd_IR.v6.0.31.0.G15265124513.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.129.L2.RetStd_IR.v6.0.31.0.G15265124615.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.130.L2.RetStd_IR.v6.0.31.0.G15265124627.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.131.L2.RetStd_IR.v6.0.31.0.G15265124751.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.132.L2.RetStd_IR.v6.0.31.0.G15265124821.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.133.L2.RetStd_IR.v6.0.31.0.G15265123621.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.134.L2.RetStd_IR.v6.0.31.0.G15265124410.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.135.L2.RetStd_IR.v6.0.31.0.G15265112603.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.136.L2.RetStd_IR.v6.0.31.0.G15265114729.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.137.L2.RetStd_IR.v6.0.31.0.G15265115655.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.138.L2.RetStd_IR.v6.0.31.0.G15265115918.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.139.L2.RetStd_IR.v6.0.31.0.G15265115634.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.140.L2.RetStd_IR.v6.0.31.0.G15265114821.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.141.L2.RetStd_IR.v6.0.31.0.G15265115655.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.142.L2.RetStd_IR.v6.0.31.0.G15265115605.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.143.L2.RetStd_IR.v6.0.31.0.G15265114630.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.144.L2.RetStd_IR.v6.0.31.0.G15265124552.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.145.L2.RetStd_IR.v6.0.31.0.G15268100548.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.146.L2.RetStd_IR.v6.0.31.0.G15265123518.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.147.L2.RetStd_IR.v6.0.31.0.G15265124730.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.148.L2.RetStd_IR.v6.0.31.0.G15265125233.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.149.L2.RetStd_IR.v6.0.31.0.G15265132839.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.150.L2.RetStd_IR.v6.0.31.0.G15265132951.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.151.L2.RetStd_IR.v6.0.31.0.G15265125702.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.152.L2.RetStd_IR.v6.0.31.0.G15265130109.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.153.L2.RetStd_IR.v6.0.31.0.G15265130637.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.154.L2.RetStd_IR.v6.0.31.0.G15265130557.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.155.L2.RetStd_IR.v6.0.31.0.G15265130548.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.156.L2.RetStd_IR.v6.0.31.0.G15265130453.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.157.L2.RetStd_IR.v6.0.31.0.G15265130503.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.158.L2.RetStd_IR.v6.0.31.0.G15265130632.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.159.L2.RetStd_IR.v6.0.31.0.G15265130215.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.160.L2.RetStd_IR.v6.0.31.0.G15265131227.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.161.L2.RetStd_IR.v6.0.31.0.G15265134106.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.162.L2.RetStd_IR.v6.0.31.0.G15265133634.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.163.L2.RetStd_IR.v6.0.31.0.G15265133048.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.164.L2.RetStd_IR.v6.0.31.0.G15265133311.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.165.L2.RetStd_IR.v6.0.31.0.G15265133222.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.166.L2.RetStd_IR.v6.0.31.0.G15265134256.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.167.L2.RetStd_IR.v6.0.31.0.G15265133620.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.168.L2.RetStd_IR.v6.0.31.0.G15265130901.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.169.L2.RetStd_IR.v6.0.31.0.G15265131423.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.170.L2.RetStd_IR.v6.0.31.0.G15265131652.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.171.L2.RetStd_IR.v6.0.31.0.G15265131710.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.172.L2.RetStd_IR.v6.0.31.0.G15265131558.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.173.L2.RetStd_IR.v6.0.31.0.G15265130627.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.174.L2.RetStd_IR.v6.0.31.0.G15265131514.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.175.L2.RetStd_IR.v6.0.31.0.G15265131408.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.176.L2.RetStd_IR.v6.0.31.0.G15265131341.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.177.L2.RetStd_IR.v6.0.31.0.G15265133930.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.178.L2.RetStd_IR.v6.0.31.0.G15265134042.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.179.L2.RetStd_IR.v6.0.31.0.G15265135001.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.180.L2.RetStd_IR.v6.0.31.0.G15265134100.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.181.L2.RetStd_IR.v6.0.31.0.G15265135242.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.182.L2.RetStd_IR.v6.0.31.0.G15265135003.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.183.L2.RetStd_IR.v6.0.31.0.G15265134137.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.184.L2.RetStd_IR.v6.0.31.0.G15265135639.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.185.L2.RetStd_IR.v6.0.31.0.G15265140214.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.186.L2.RetStd_IR.v6.0.31.0.G15265134324.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.187.L2.RetStd_IR.v6.0.31.0.G15265134903.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.188.L2.RetStd_IR.v6.0.31.0.G15265140220.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.189.L2.RetStd_IR.v6.0.31.0.G15265135446.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.190.L2.RetStd_IR.v6.0.31.0.G15265140154.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.191.L2.RetStd_IR.v6.0.31.0.G15265140137.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.192.L2.RetStd_IR.v6.0.31.0.G15265135729.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.193.L2.RetStd_IR.v6.0.31.0.G15265140009.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.194.L2.RetStd_IR.v6.0.31.0.G15265140006.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.195.L2.RetStd_IR.v6.0.31.0.G15265135730.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.196.L2.RetStd_IR.v6.0.31.0.G15265140158.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.197.L2.RetStd_IR.v6.0.31.0.G15265140249.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.198.L2.RetStd_IR.v6.0.31.0.G15265141634.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.199.L2.RetStd_IR.v6.0.31.0.G15265141412.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.200.L2.RetStd_IR.v6.0.31.0.G15265140639.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.201.L2.RetStd_IR.v6.0.31.0.G15265140727.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.202.L2.RetStd_IR.v6.0.31.0.G15265141847.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.203.L2.RetStd_IR.v6.0.31.0.G15265141310.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.204.L2.RetStd_IR.v6.0.31.0.G15265141838.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.205.L2.RetStd_IR.v6.0.31.0.G15265141140.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.206.L2.RetStd_IR.v6.0.31.0.G15265141928.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.207.L2.RetStd_IR.v6.0.31.0.G15265141733.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.208.L2.RetStd_IR.v6.0.31.0.G15265143533.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.209.L2.RetStd_IR.v6.0.31.0.G15265142927.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.210.L2.RetStd_IR.v6.0.31.0.G15265143641.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.211.L2.RetStd_IR.v6.0.31.0.G15265143242.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.212.L2.RetStd_IR.v6.0.31.0.G15265143817.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.213.L2.RetStd_IR.v6.0.31.0.G15265143711.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.214.L2.RetStd_IR.v6.0.31.0.G15265143913.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.215.L2.RetStd_IR.v6.0.31.0.G15265144027.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.216.L2.RetStd_IR.v6.0.31.0.G15265142904.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.217.L2.RetStd_IR.v6.0.31.0.G15265142441.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.218.L2.RetStd_IR.v6.0.31.0.G15265144138.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.219.L2.RetStd_IR.v6.0.31.0.G15265144437.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.220.L2.RetStd_IR.v6.0.31.0.G15265143509.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.221.L2.RetStd_IR.v6.0.31.0.G15265143501.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.222.L2.RetStd_IR.v6.0.31.0.G15265144343.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.223.L2.RetStd_IR.v6.0.31.0.G15265143623.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.224.L2.RetStd_IR.v6.0.31.0.G15265144224.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.225.L2.RetStd_IR.v6.0.31.0.G15265144157.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.226.L2.RetStd_IR.v6.0.31.0.G15265144046.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.227.L2.RetStd_IR.v6.0.31.0.G15265143534.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.228.L2.RetStd_IR.v6.0.31.0.G15265145624.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.229.L2.RetStd_IR.v6.0.31.0.G15265145704.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.230.L2.RetStd_IR.v6.0.31.0.G15265145733.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.231.L2.RetStd_IR.v6.0.31.0.G15265145918.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.232.L2.RetStd_IR.v6.0.31.0.G15265145714.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.233.L2.RetStd_IR.v6.0.31.0.G15265144646.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.234.L2.RetStd_IR.v6.0.31.0.G15265145355.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.235.L2.RetStd_IR.v6.0.31.0.G15265145015.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.236.L2.RetStd_IR.v6.0.31.0.G15265150105.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.237.L2.RetStd_IR.v6.0.31.0.G15265145756.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.238.L2.RetStd_IR.v6.0.31.0.G15265151340.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.239.L2.RetStd_IR.v6.0.31.0.G15265151312.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.240.L2.RetStd_IR.v6.0.31.0.G15265150613.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.001.L2.RetStd_IR.v6.0.31.0.G15265151233.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.002.L2.RetStd_IR.v6.0.31.0.G15265150509.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.003.L2.RetStd_IR.v6.0.31.0.G15265150439.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.004.L2.RetStd_IR.v6.0.31.0.G15265151021.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.005.L2.RetStd_IR.v6.0.31.0.G15265151015.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.006.L2.RetStd_IR.v6.0.31.0.G15265151149.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.007.L2.RetStd_IR.v6.0.31.0.G15265151438.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.008.L2.RetStd_IR.v6.0.31.0.G15265152813.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.009.L2.RetStd_IR.v6.0.31.0.G15265152549.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.010.L2.RetStd_IR.v6.0.31.0.G15265152300.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.011.L2.RetStd_IR.v6.0.31.0.G15265152716.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.012.L2.RetStd_IR.v6.0.31.0.G15265152942.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.013.L2.RetStd_IR.v6.0.31.0.G15265152150.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.014.L2.RetStd_IR.v6.0.31.0.G15265153015.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.015.L2.RetStd_IR.v6.0.31.0.G15265152821.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.016.L2.RetStd_IR.v6.0.31.0.G15265152208.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.017.L2.RetStd_IR.v6.0.31.0.G15265152836.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.018.L2.RetStd_IR.v6.0.31.0.G15265154047.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.019.L2.RetStd_IR.v6.0.31.0.G15265154058.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.020.L2.RetStd_IR.v6.0.31.0.G15265154011.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.021.L2.RetStd_IR.v6.0.31.0.G15265153229.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.022.L2.RetStd_IR.v6.0.31.0.G15265153309.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.023.L2.RetStd_IR.v6.0.31.0.G15265154230.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.024.L2.RetStd_IR.v6.0.31.0.G15265154200.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.025.L2.RetStd_IR.v6.0.31.0.G15265154123.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.026.L2.RetStd_IR.v6.0.31.0.G15265153110.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.027.L2.RetStd_IR.v6.0.31.0.G15265153848.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.028.L2.RetStd_IR.v6.0.31.0.G15265155847.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.029.L2.RetStd_IR.v6.0.31.0.G15265155942.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.030.L2.RetStd_IR.v6.0.31.0.G15265155931.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.031.L2.RetStd_IR.v6.0.31.0.G15265155841.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.032.L2.RetStd_IR.v6.0.31.0.G15265155854.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.033.L2.RetStd_IR.v6.0.31.0.G15265154952.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.034.L2.RetStd_IR.v6.0.31.0.G15265155653.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.035.L2.RetStd_IR.v6.0.31.0.G15265155712.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.036.L2.RetStd_IR.v6.0.31.0.G15265155811.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.037.L2.RetStd_IR.v6.0.31.0.G15265154936.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.038.L2.RetStd_IR.v6.0.31.0.G15265155941.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.039.L2.RetStd_IR.v6.0.31.0.G15265155051.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.040.L2.RetStd_IR.v6.0.31.0.G15265160033.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.041.L2.RetStd_IR.v6.0.31.0.G15265160111.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.042.L2.RetStd_IR.v6.0.31.0.G15265155756.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.043.L2.RetStd_IR.v6.0.31.0.G15265154837.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.044.L2.RetStd_IR.v6.0.31.0.G15265155914.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.045.L2.RetStd_IR.v6.0.31.0.G15265155351.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.046.L2.RetStd_IR.v6.0.31.0.G15265160104.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.047.L2.RetStd_IR.v6.0.31.0.G15265155444.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.048.L2.RetStd_IR.v6.0.31.0.G15265161620.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.049.L2.RetStd_IR.v6.0.31.0.G15265160915.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.050.L2.RetStd_IR.v6.0.31.0.G15265161409.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.051.L2.RetStd_IR.v6.0.31.0.G15265160954.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.052.L2.RetStd_IR.v6.0.31.0.G15265161513.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.053.L2.RetStd_IR.v6.0.31.0.G15265161811.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.054.L2.RetStd_IR.v6.0.31.0.G15265162006.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.055.L2.RetStd_IR.v6.0.31.0.G15265162047.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.056.L2.RetStd_IR.v6.0.31.0.G15265161311.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.057.L2.RetStd_IR.v6.0.31.0.G15265161405.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.058.L2.RetStd_IR.v6.0.31.0.G15265163005.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.059.L2.RetStd_IR.v6.0.31.0.G15265162638.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.060.L2.RetStd_IR.v6.0.31.0.G15265162622.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.061.L2.RetStd_IR.v6.0.31.0.G15265162421.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.062.L2.RetStd_IR.v6.0.31.0.G15265162542.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.063.L2.RetStd_IR.v6.0.31.0.G15265163257.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.064.L2.RetStd_IR.v6.0.31.0.G15265163309.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.065.L2.RetStd_IR.v6.0.31.0.G15265162517.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.066.L2.RetStd_IR.v6.0.31.0.G15265163219.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.067.L2.RetStd_IR.v6.0.31.0.G15265163400.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.068.L2.RetStd_IR.v6.0.31.0.G15265164234.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.069.L2.RetStd_IR.v6.0.31.0.G15265164345.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.070.L2.RetStd_IR.v6.0.31.0.G15265164221.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.071.L2.RetStd_IR.v6.0.31.0.G15265164428.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.072.L2.RetStd_IR.v6.0.31.0.G15265164450.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.073.L2.RetStd_IR.v6.0.31.0.G15265164606.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.074.L2.RetStd_IR.v6.0.31.0.G15265164555.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.075.L2.RetStd_IR.v6.0.31.0.G15265164249.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.076.L2.RetStd_IR.v6.0.31.0.G15265164047.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.077.L2.RetStd_IR.v6.0.31.0.G15265163547.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.078.L2.RetStd_IR.v6.0.31.0.G15265165338.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.079.L2.RetStd_IR.v6.0.31.0.G15265165344.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.080.L2.RetStd_IR.v6.0.31.0.G15265165244.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.081.L2.RetStd_IR.v6.0.31.0.G15265165221.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.082.L2.RetStd_IR.v6.0.31.0.G15265165057.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.083.L2.RetStd_IR.v6.0.31.0.G15265165901.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.084.L2.RetStd_IR.v6.0.31.0.G15265170015.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.085.L2.RetStd_IR.v6.0.31.0.G15265165631.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.086.L2.RetStd_IR.v6.0.31.0.G15265165844.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.087.L2.RetStd_IR.v6.0.31.0.G15265165850.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.088.L2.RetStd_IR.v6.0.31.0.G15265171431.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.089.L2.RetStd_IR.v6.0.31.0.G15265171348.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.090.L2.RetStd_IR.v6.0.31.0.G15265171421.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.091.L2.RetStd_IR.v6.0.31.0.G15265171454.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.092.L2.RetStd_IR.v6.0.31.0.G15265170534.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.093.L2.RetStd_IR.v6.0.31.0.G15265170808.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.094.L2.RetStd_IR.v6.0.31.0.G15265171451.hdf", " ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.095.L2.RetStd_IR.v6.0.31.0.G15265171544.hdf") END_OBJECT = INPUTPOINTER END_GROUP = INPUTGRANULE GROUP = SPATIALDOMAINCONTAINER GROUP = HORIZONTALSPATIALDOMAINCONTAINER GROUP = BOUNDINGRECTANGLE OBJECT = EASTBOUNDINGCOORDINATE NUM_VAL = 1 VALUE = 180.0 END_OBJECT = EASTBOUNDINGCOORDINATE OBJECT = WESTBOUNDINGCOORDINATE NUM_VAL = 1 VALUE = -180.0 END_OBJECT = WESTBOUNDINGCOORDINATE OBJECT = SOUTHBOUNDINGCOORDINATE NUM_VAL = 1 VALUE = -90.0 END_OBJECT = SOUTHBOUNDINGCOORDINATE OBJECT = NORTHBOUNDINGCOORDINATE NUM_VAL = 1 VALUE = 90.0 END_OBJECT = NORTHBOUNDINGCOORDINATE END_GROUP = BOUNDINGRECTANGLE END_GROUP = HORIZONTALSPATIALDOMAINCONTAINER GROUP = GRANULELOCALITY OBJECT = LOCALITYVALUE NUM_VAL = 1 VALUE = "Global" END_OBJECT = LOCALITYVALUE END_GROUP = GRANULELOCALITY END_GROUP = SPATIALDOMAINCONTAINER GROUP = RANGEDATETIME OBJECT = RANGEENDINGDATE NUM_VAL = 1 VALUE = "2015-09-22" END_OBJECT = RANGEENDINGDATE OBJECT = RANGEENDINGTIME NUM_VAL = 1 VALUE = "00:00:00.000000Z" END_OBJECT = RANGEENDINGTIME OBJECT = RANGEBEGINNINGDATE NUM_VAL = 1 VALUE = "2015-09-21" END_OBJECT = RANGEBEGINNINGDATE OBJECT = RANGEBEGINNINGTIME NUM_VAL = 1 VALUE = "00:00:00.000000Z" END_OBJECT = RANGEBEGINNINGTIME END_GROUP = RANGEDATETIME GROUP = PGEVERSIONCLASS OBJECT = PGEVERSION NUM_VAL = 1 VALUE = "6.0.31.0" END_OBJECT = PGEVERSION END_GROUP = PGEVERSIONCLASS GROUP = ASSOCIATEDPLATFORMINSTRUMENTSENSOR OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "1" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "1" NUM_VAL = 1 VALUE = "HSB Channel 1" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "1" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "1" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "1" NUM_VAL = 1 VALUE = "HSB" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "2" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "2" NUM_VAL = 1 VALUE = "HSB Channel 2" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "2" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "2" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "2" NUM_VAL = 1 VALUE = "HSB" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "3" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "3" NUM_VAL = 1 VALUE = "HSB Channel 3" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "3" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "3" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "3" NUM_VAL = 1 VALUE = "HSB" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "4" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "4" NUM_VAL = 1 VALUE = "HSB Channel 4" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "4" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "4" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "4" NUM_VAL = 1 VALUE = "HSB" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "5" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "5" NUM_VAL = 1 VALUE = "HSB Channel 5" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "5" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "5" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "5" NUM_VAL = 1 VALUE = "HSB" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "6" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "6" NUM_VAL = 1 VALUE = "AMSU-A Channel 3" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "6" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "6" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "6" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "7" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "7" NUM_VAL = 1 VALUE = "AMSU-A Channel 4" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "7" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "7" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "7" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "8" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "8" NUM_VAL = 1 VALUE = "AMSU-A Channel 5" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "8" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "8" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "8" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "9" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "9" NUM_VAL = 1 VALUE = "AMSU-A Channel 6" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "9" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "9" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "9" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "10" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "10" NUM_VAL = 1 VALUE = "AMSU-A Channel 7" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "10" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE - - - CLASS = "10" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "10" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "11" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "11" NUM_VAL = 1 VALUE = "AMSU-A Channel 8" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "11" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "11" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "11" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "12" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "12" NUM_VAL = 1 VALUE = "AMSU-A Channel 9" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "12" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "12" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "12" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "13" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "13" NUM_VAL = 1 VALUE = "AMSU-A Channel 10" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "13" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "13" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "13" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "14" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "14" NUM_VAL = 1 VALUE = "AMSU-A Channel 11" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "14" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "14" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "14" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "15" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "15" NUM_VAL = 1 VALUE = "AMSU-A Channel 12" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "15" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "15" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "15" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "16" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "16" NUM_VAL = 1 VALUE = "AMSU-A Channel 13" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "16" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "16" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "16" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "17" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "17" NUM_VAL = 1 VALUE = "AMSU-A Channel 14" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "17" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "17" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "17" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "18" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "18" NUM_VAL = 1 VALUE = "AMSU-A Channel 15" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "18" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "18" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "18" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "19" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "19" NUM_VAL = 1 VALUE = "AMSU-A Channel 1" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "19" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "19" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "19" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "20" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "20" NUM_VAL = 1 VALUE = "AMSU-A Channel 2" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "20" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "20" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "20" NUM_VAL = 1 VALUE = "AMSU-A" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "21" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "21" NUM_VAL = 1 VALUE = "M1a Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "21" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "21" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "21" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "22" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "22" NUM_VAL = 1 VALUE = "M1b Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "22" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "22" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "22" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "23" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "23" NUM_VAL = 1 VALUE = "M2a Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "23" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "23" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "23" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "24" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "24" NUM_VAL = 1 VALUE = "M2b Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "24" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "24" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "24" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "25" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "25" NUM_VAL = 1 VALUE = "M3 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "25" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "25" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "25" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "26" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "26" NUM_VAL = 1 VALUE = "M4a Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "26" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "26" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "26" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "27" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "27" NUM_VAL = 1 VALUE = "M4b Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "27" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "27" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "27" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "28" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "28" NUM_VAL = 1 VALUE = "M4c Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "28" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "28" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "28" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "29" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "29" NUM_VAL = 1 VALUE = "M4d Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "29" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "29" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "29" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "30" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "30" NUM_VAL = 1 VALUE = "M5 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "30" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "30" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "30" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "31" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "31" NUM_VAL = 1 VALUE = "M6 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "31" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "31" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "31" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "32" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "32" NUM_VAL = 1 VALUE = "M7 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "32" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "32" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "32" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "33" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "33" NUM_VAL = 1 VALUE = "M8 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "33" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "33" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "33" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "34" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "34" NUM_VAL = 1 VALUE = "M9 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "34" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "34" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "34" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "35" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "35" NUM_VAL = 1 VALUE = "M10 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "35" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "35" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "35" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "36" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "36" NUM_VAL = 1 VALUE = "M11 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "36" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "36" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "36" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "37" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "37" NUM_VAL = 1 VALUE = "M12 Detector Array" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "37" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "37" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "37" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "38" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "38" NUM_VAL = 1 VALUE = "VNIR Channel 1" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "38" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "38" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "38" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "39" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "39" NUM_VAL = 1 VALUE = "VNIR Channel 2" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "39" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "39" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "39" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "40" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "40" NUM_VAL = 1 VALUE = "VNIR Channel 3" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "40" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "40" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "40" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER CLASS = "41" OBJECT = ASSOCIATEDSENSORSHORTNAME CLASS = "41" NUM_VAL = 1 VALUE = "VNIR Channel 4" END_OBJECT = ASSOCIATEDSENSORSHORTNAME OBJECT = ASSOCIATEDPLATFORMSHORTNAME CLASS = "41" NUM_VAL = 1 VALUE = "Aqua" END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME OBJECT = OPERATIONMODE CLASS = "41" NUM_VAL = 1 VALUE = "Normal" END_OBJECT = OPERATIONMODE OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME CLASS = "41" NUM_VAL = 1 VALUE = "AIRS" END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER END_GROUP = ASSOCIATEDPLATFORMINSTRUMENTSENSOR GROUP = ADDITIONALATTRIBUTES OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "1" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "1" NUM_VAL = 1 VALUE = "NumBadData" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "1" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "1" VALUE = "32" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "2" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "2" NUM_VAL = 1 VALUE = "NumSpecialData" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "2" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "2" VALUE = "0" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "3" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "3" NUM_VAL = 1 VALUE = "NumProcessData" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "3" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "3" VALUE = "1406666" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "4" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "4" NUM_VAL = 1 VALUE = "NumMissingData" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "4" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "4" VALUE = "2" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "5" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "5" NUM_VAL = 1 VALUE = "NumTotalData" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "5" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "5" VALUE = "1406700" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "6" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "6" NUM_VAL = 1 VALUE = "NumFpe" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "6" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "6" VALUE = "0" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "7" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "7" NUM_VAL = 1 VALUE = "ProductGenerationFacility" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "7" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "7" VALUE = "G" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "8" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "8" NUM_VAL = 1 VALUE = "InputGranuleCount" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "8" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "8" VALUE = "521" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "9" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "9" NUM_VAL = 1 VALUE = "NumDaysPlanned" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "9" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "9" VALUE = "1" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "10" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "10" NUM_VAL = 1 VALUE = "NumDaysInCycle" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "10" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "10" VALUE = "1" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "11" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "11" NUM_VAL = 1 VALUE = "StartDayInAquaRepeat" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "11" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "11" VALUE = "8" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "12" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "12" NUM_VAL = 1 VALUE = "AIRSRunTag" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "12" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "12" VALUE = "15281122640" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "13" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "13" NUM_VAL = 1 VALUE = "ProductGenerationHostInformation" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "13" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "13" VALUE = "ac14.gesdisc.eosdis.nasa.gov Linux 2.6.32-573.1.1.el6.x86_64 #1_SMP_Sat_Jul_25_17:05:50_UTC_2015 x86_64" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "14" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "14" NUM_VAL = 1 VALUE = "identifier_product_doi" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "14" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "14" VALUE = "10.5067/AQUA/AIRS/DATA303" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER OBJECT = ADDITIONALATTRIBUTESCONTAINER CLASS = "15" OBJECT = ADDITIONALATTRIBUTENAME CLASS = "15" NUM_VAL = 1 VALUE = "identifier_product_doi_authority" END_OBJECT = ADDITIONALATTRIBUTENAME GROUP = INFORMATIONCONTENT CLASS = "15" OBJECT = PARAMETERVALUE NUM_VAL = 1 CLASS = "15" VALUE = "http://dx.doi.org/" END_OBJECT = PARAMETERVALUE END_GROUP = INFORMATIONCONTENT END_OBJECT = ADDITIONALATTRIBUTESCONTAINER END_GROUP = ADDITIONALATTRIBUTESEND_GROUP = INVENTORYMETADATAEND + /Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.042.L2.RetStd_IR.v6.0.31.0.G15264175235.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.043.L2.RetStd_IR.v6.0.31.0.G15264181322.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.044.L2.RetStd_IR.v6.0.31.0.G15264180728.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.045.L2.RetStd_IR.v6.0.31.0.G15264185855.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.046.L2.RetStd_IR.v6.0.31.0.G15264185345.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.047.L2.RetStd_IR.v6.0.31.0.G15264185829.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.048.L2.RetStd_IR.v6.0.31.0.G15264185248.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.049.L2.RetStd_IR.v6.0.31.0.G15264185848.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.050.L2.RetStd_IR.v6.0.31.0.G15264190828.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.051.L2.RetStd_IR.v6.0.31.0.G15264191537.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.052.L2.RetStd_IR.v6.0.31.0.G15264191130.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.053.L2.RetStd_IR.v6.0.31.0.G15264181047.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.054.L2.RetStd_IR.v6.0.31.0.G15264181645.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.055.L2.RetStd_IR.v6.0.31.0.G15264180748.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.056.L2.RetStd_IR.v6.0.31.0.G15264181450.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.057.L2.RetStd_IR.v6.0.31.0.G15264181549.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.058.L2.RetStd_IR.v6.0.31.0.G15264180715.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.059.L2.RetStd_IR.v6.0.31.0.G15264181317.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.060.L2.RetStd_IR.v6.0.31.0.G15264181307.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.061.L2.RetStd_IR.v6.0.31.0.G15264182700.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.062.L2.RetStd_IR.v6.0.31.0.G15264191458.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.063.L2.RetStd_IR.v6.0.31.0.G15264191414.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.064.L2.RetStd_IR.v6.0.31.0.G15264190842.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.065.L2.RetStd_IR.v6.0.31.0.G15264190756.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.066.L2.RetStd_IR.v6.0.31.0.G15264191602.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.067.L2.RetStd_IR.v6.0.31.0.G15264191701.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.068.L2.RetStd_IR.v6.0.31.0.G15264191330.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.069.L2.RetStd_IR.v6.0.31.0.G15264192114.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.070.L2.RetStd_IR.v6.0.31.0.G15264192919.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.071.L2.RetStd_IR.v6.0.31.0.G15264193215.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.072.L2.RetStd_IR.v6.0.31.0.G15264193315.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.073.L2.RetStd_IR.v6.0.31.0.G15264192519.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.074.L2.RetStd_IR.v6.0.31.0.G15264192953.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.075.L2.RetStd_IR.v6.0.31.0.G15264192810.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.076.L2.RetStd_IR.v6.0.31.0.G15264192356.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.077.L2.RetStd_IR.v6.0.31.0.G15264193012.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.078.L2.RetStd_IR.v6.0.31.0.G15264194401.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.079.L2.RetStd_IR.v6.0.31.0.G15264194147.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.080.L2.RetStd_IR.v6.0.31.0.G15264194330.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.081.L2.RetStd_IR.v6.0.31.0.G15264194424.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.082.L2.RetStd_IR.v6.0.31.0.G15264194602.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.083.L2.RetStd_IR.v6.0.31.0.G15264194658.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.084.L2.RetStd_IR.v6.0.31.0.G15264194507.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.085.L2.RetStd_IR.v6.0.31.0.G15264194215.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.086.L2.RetStd_IR.v6.0.31.0.G15264192610.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.087.L2.RetStd_IR.v6.0.31.0.G15264194745.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.088.L2.RetStd_IR.v6.0.31.0.G15264194600.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.089.L2.RetStd_IR.v6.0.31.0.G15264195937.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.090.L2.RetStd_IR.v6.0.31.0.G15264195943.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.091.L2.RetStd_IR.v6.0.31.0.G15264195952.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.092.L2.RetStd_IR.v6.0.31.0.G15264195847.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.093.L2.RetStd_IR.v6.0.31.0.G15264195935.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.094.L2.RetStd_IR.v6.0.31.0.G15264195655.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.095.L2.RetStd_IR.v6.0.31.0.G15264195724.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.096.L2.RetStd_IR.v6.0.31.0.G15264195705.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.097.L2.RetStd_IR.v6.0.31.0.G15264195406.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.098.L2.RetStd_IR.v6.0.31.0.G15264195907.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.099.L2.RetStd_IR.v6.0.31.0.G15265122103.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.100.L2.RetStd_IR.v6.0.31.0.G15265122157.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.101.L2.RetStd_IR.v6.0.31.0.G15265121924.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.102.L2.RetStd_IR.v6.0.31.0.G15265111839.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.103.L2.RetStd_IR.v6.0.31.0.G15265112337.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.104.L2.RetStd_IR.v6.0.31.0.G15265112625.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.105.L2.RetStd_IR.v6.0.31.0.G15265112548.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.106.L2.RetStd_IR.v6.0.31.0.G15265112402.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.107.L2.RetStd_IR.v6.0.31.0.G15265112548.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.108.L2.RetStd_IR.v6.0.31.0.G15265112358.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.109.L2.RetStd_IR.v6.0.31.0.G15265112406.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.110.L2.RetStd_IR.v6.0.31.0.G15265112229.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.111.L2.RetStd_IR.v6.0.31.0.G15265121923.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.112.L2.RetStd_IR.v6.0.31.0.G15265122023.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.113.L2.RetStd_IR.v6.0.31.0.G15265122058.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.114.L2.RetStd_IR.v6.0.31.0.G15265122621.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.115.L2.RetStd_IR.v6.0.31.0.G15265122628.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.116.L2.RetStd_IR.v6.0.31.0.G15265122914.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.117.L2.RetStd_IR.v6.0.31.0.G15265122833.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.118.L2.RetStd_IR.v6.0.31.0.G15265112002.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.119.L2.RetStd_IR.v6.0.31.0.G15265112715.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.120.L2.RetStd_IR.v6.0.31.0.G15265114012.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.121.L2.RetStd_IR.v6.0.31.0.G15265114005.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.122.L2.RetStd_IR.v6.0.31.0.G15265113045.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.123.L2.RetStd_IR.v6.0.31.0.G15265113708.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.124.L2.RetStd_IR.v6.0.31.0.G15265113053.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.125.L2.RetStd_IR.v6.0.31.0.G15265113904.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.126.L2.RetStd_IR.v6.0.31.0.G15265113818.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.127.L2.RetStd_IR.v6.0.31.0.G15265113431.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.128.L2.RetStd_IR.v6.0.31.0.G15265124513.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.129.L2.RetStd_IR.v6.0.31.0.G15265124615.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.130.L2.RetStd_IR.v6.0.31.0.G15265124627.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.131.L2.RetStd_IR.v6.0.31.0.G15265124751.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.132.L2.RetStd_IR.v6.0.31.0.G15265124821.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.133.L2.RetStd_IR.v6.0.31.0.G15265123621.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.134.L2.RetStd_IR.v6.0.31.0.G15265124410.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.135.L2.RetStd_IR.v6.0.31.0.G15265112603.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.136.L2.RetStd_IR.v6.0.31.0.G15265114729.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.137.L2.RetStd_IR.v6.0.31.0.G15265115655.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.138.L2.RetStd_IR.v6.0.31.0.G15265115918.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.139.L2.RetStd_IR.v6.0.31.0.G15265115634.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.140.L2.RetStd_IR.v6.0.31.0.G15265114821.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.141.L2.RetStd_IR.v6.0.31.0.G15265115655.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.142.L2.RetStd_IR.v6.0.31.0.G15265115605.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.143.L2.RetStd_IR.v6.0.31.0.G15265114630.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.144.L2.RetStd_IR.v6.0.31.0.G15265124552.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.145.L2.RetStd_IR.v6.0.31.0.G15268100548.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.146.L2.RetStd_IR.v6.0.31.0.G15265123518.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.147.L2.RetStd_IR.v6.0.31.0.G15265124730.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.148.L2.RetStd_IR.v6.0.31.0.G15265125233.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.149.L2.RetStd_IR.v6.0.31.0.G15265132839.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.150.L2.RetStd_IR.v6.0.31.0.G15265132951.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.151.L2.RetStd_IR.v6.0.31.0.G15265125702.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.152.L2.RetStd_IR.v6.0.31.0.G15265130109.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.153.L2.RetStd_IR.v6.0.31.0.G15265130637.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.154.L2.RetStd_IR.v6.0.31.0.G15265130557.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.155.L2.RetStd_IR.v6.0.31.0.G15265130548.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.156.L2.RetStd_IR.v6.0.31.0.G15265130453.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.157.L2.RetStd_IR.v6.0.31.0.G15265130503.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.158.L2.RetStd_IR.v6.0.31.0.G15265130632.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.159.L2.RetStd_IR.v6.0.31.0.G15265130215.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.160.L2.RetStd_IR.v6.0.31.0.G15265131227.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.161.L2.RetStd_IR.v6.0.31.0.G15265134106.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.162.L2.RetStd_IR.v6.0.31.0.G15265133634.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.163.L2.RetStd_IR.v6.0.31.0.G15265133048.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.164.L2.RetStd_IR.v6.0.31.0.G15265133311.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.165.L2.RetStd_IR.v6.0.31.0.G15265133222.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.166.L2.RetStd_IR.v6.0.31.0.G15265134256.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.167.L2.RetStd_IR.v6.0.31.0.G15265133620.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.168.L2.RetStd_IR.v6.0.31.0.G15265130901.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.169.L2.RetStd_IR.v6.0.31.0.G15265131423.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.170.L2.RetStd_IR.v6.0.31.0.G15265131652.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.171.L2.RetStd_IR.v6.0.31.0.G15265131710.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.172.L2.RetStd_IR.v6.0.31.0.G15265131558.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.173.L2.RetStd_IR.v6.0.31.0.G15265130627.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.174.L2.RetStd_IR.v6.0.31.0.G15265131514.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.175.L2.RetStd_IR.v6.0.31.0.G15265131408.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.176.L2.RetStd_IR.v6.0.31.0.G15265131341.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.177.L2.RetStd_IR.v6.0.31.0.G15265133930.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.178.L2.RetStd_IR.v6.0.31.0.G15265134042.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.179.L2.RetStd_IR.v6.0.31.0.G15265135001.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.180.L2.RetStd_IR.v6.0.31.0.G15265134100.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.181.L2.RetStd_IR.v6.0.31.0.G15265135242.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.182.L2.RetStd_IR.v6.0.31.0.G15265135003.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.183.L2.RetStd_IR.v6.0.31.0.G15265134137.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.184.L2.RetStd_IR.v6.0.31.0.G15265135639.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.185.L2.RetStd_IR.v6.0.31.0.G15265140214.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.186.L2.RetStd_IR.v6.0.31.0.G15265134324.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.187.L2.RetStd_IR.v6.0.31.0.G15265134903.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.188.L2.RetStd_IR.v6.0.31.0.G15265140220.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.189.L2.RetStd_IR.v6.0.31.0.G15265135446.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.190.L2.RetStd_IR.v6.0.31.0.G15265140154.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.191.L2.RetStd_IR.v6.0.31.0.G15265140137.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.192.L2.RetStd_IR.v6.0.31.0.G15265135729.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.193.L2.RetStd_IR.v6.0.31.0.G15265140009.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.194.L2.RetStd_IR.v6.0.31.0.G15265140006.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.195.L2.RetStd_IR.v6.0.31.0.G15265135730.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.196.L2.RetStd_IR.v6.0.31.0.G15265140158.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.197.L2.RetStd_IR.v6.0.31.0.G15265140249.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.198.L2.RetStd_IR.v6.0.31.0.G15265141634.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.199.L2.RetStd_IR.v6.0.31.0.G15265141412.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.200.L2.RetStd_IR.v6.0.31.0.G15265140639.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.201.L2.RetStd_IR.v6.0.31.0.G15265140727.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.202.L2.RetStd_IR.v6.0.31.0.G15265141847.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.203.L2.RetStd_IR.v6.0.31.0.G15265141310.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.204.L2.RetStd_IR.v6.0.31.0.G15265141838.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.205.L2.RetStd_IR.v6.0.31.0.G15265141140.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.206.L2.RetStd_IR.v6.0.31.0.G15265141928.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.207.L2.RetStd_IR.v6.0.31.0.G15265141733.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.208.L2.RetStd_IR.v6.0.31.0.G15265143533.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.209.L2.RetStd_IR.v6.0.31.0.G15265142927.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.210.L2.RetStd_IR.v6.0.31.0.G15265143641.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.211.L2.RetStd_IR.v6.0.31.0.G15265143242.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.212.L2.RetStd_IR.v6.0.31.0.G15265143817.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.213.L2.RetStd_IR.v6.0.31.0.G15265143711.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.214.L2.RetStd_IR.v6.0.31.0.G15265143913.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.215.L2.RetStd_IR.v6.0.31.0.G15265144027.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.216.L2.RetStd_IR.v6.0.31.0.G15265142904.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.217.L2.RetStd_IR.v6.0.31.0.G15265142441.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.218.L2.RetStd_IR.v6.0.31.0.G15265144138.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.219.L2.RetStd_IR.v6.0.31.0.G15265144437.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.220.L2.RetStd_IR.v6.0.31.0.G15265143509.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.221.L2.RetStd_IR.v6.0.31.0.G15265143501.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.222.L2.RetStd_IR.v6.0.31.0.G15265144343.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.223.L2.RetStd_IR.v6.0.31.0.G15265143623.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.224.L2.RetStd_IR.v6.0.31.0.G15265144224.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.225.L2.RetStd_IR.v6.0.31.0.G15265144157.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.226.L2.RetStd_IR.v6.0.31.0.G15265144046.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.227.L2.RetStd_IR.v6.0.31.0.G15265143534.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.228.L2.RetStd_IR.v6.0.31.0.G15265145624.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.229.L2.RetStd_IR.v6.0.31.0.G15265145704.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.230.L2.RetStd_IR.v6.0.31.0.G15265145733.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.231.L2.RetStd_IR.v6.0.31.0.G15265145918.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.232.L2.RetStd_IR.v6.0.31.0.G15265145714.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.233.L2.RetStd_IR.v6.0.31.0.G15265144646.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.234.L2.RetStd_IR.v6.0.31.0.G15265145355.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.235.L2.RetStd_IR.v6.0.31.0.G15265145015.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.236.L2.RetStd_IR.v6.0.31.0.G15265150105.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.237.L2.RetStd_IR.v6.0.31.0.G15265145756.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.238.L2.RetStd_IR.v6.0.31.0.G15265151340.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.239.L2.RetStd_IR.v6.0.31.0.G15265151312.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/264/AIRS.2015.09.21.240.L2.RetStd_IR.v6.0.31.0.G15265150613.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.001.L2.RetStd_IR.v6.0.31.0.G15265151233.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.002.L2.RetStd_IR.v6.0.31.0.G15265150509.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.003.L2.RetStd_IR.v6.0.31.0.G15265150439.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.004.L2.RetStd_IR.v6.0.31.0.G15265151021.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.005.L2.RetStd_IR.v6.0.31.0.G15265151015.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.006.L2.RetStd_IR.v6.0.31.0.G15265151149.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.007.L2.RetStd_IR.v6.0.31.0.G15265151438.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.008.L2.RetStd_IR.v6.0.31.0.G15265152813.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.009.L2.RetStd_IR.v6.0.31.0.G15265152549.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.010.L2.RetStd_IR.v6.0.31.0.G15265152300.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.011.L2.RetStd_IR.v6.0.31.0.G15265152716.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.012.L2.RetStd_IR.v6.0.31.0.G15265152942.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.013.L2.RetStd_IR.v6.0.31.0.G15265152150.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.014.L2.RetStd_IR.v6.0.31.0.G15265153015.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.015.L2.RetStd_IR.v6.0.31.0.G15265152821.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.016.L2.RetStd_IR.v6.0.31.0.G15265152208.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.017.L2.RetStd_IR.v6.0.31.0.G15265152836.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.018.L2.RetStd_IR.v6.0.31.0.G15265154047.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.019.L2.RetStd_IR.v6.0.31.0.G15265154058.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.020.L2.RetStd_IR.v6.0.31.0.G15265154011.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.021.L2.RetStd_IR.v6.0.31.0.G15265153229.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.022.L2.RetStd_IR.v6.0.31.0.G15265153309.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.023.L2.RetStd_IR.v6.0.31.0.G15265154230.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.024.L2.RetStd_IR.v6.0.31.0.G15265154200.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.025.L2.RetStd_IR.v6.0.31.0.G15265154123.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.026.L2.RetStd_IR.v6.0.31.0.G15265153110.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.027.L2.RetStd_IR.v6.0.31.0.G15265153848.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.028.L2.RetStd_IR.v6.0.31.0.G15265155847.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.029.L2.RetStd_IR.v6.0.31.0.G15265155942.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.030.L2.RetStd_IR.v6.0.31.0.G15265155931.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.031.L2.RetStd_IR.v6.0.31.0.G15265155841.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.032.L2.RetStd_IR.v6.0.31.0.G15265155854.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.033.L2.RetStd_IR.v6.0.31.0.G15265154952.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.034.L2.RetStd_IR.v6.0.31.0.G15265155653.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.035.L2.RetStd_IR.v6.0.31.0.G15265155712.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.036.L2.RetStd_IR.v6.0.31.0.G15265155811.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.037.L2.RetStd_IR.v6.0.31.0.G15265154936.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.038.L2.RetStd_IR.v6.0.31.0.G15265155941.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.039.L2.RetStd_IR.v6.0.31.0.G15265155051.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.040.L2.RetStd_IR.v6.0.31.0.G15265160033.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.041.L2.RetStd_IR.v6.0.31.0.G15265160111.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.042.L2.RetStd_IR.v6.0.31.0.G15265155756.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.043.L2.RetStd_IR.v6.0.31.0.G15265154837.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.044.L2.RetStd_IR.v6.0.31.0.G15265155914.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.045.L2.RetStd_IR.v6.0.31.0.G15265155351.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.046.L2.RetStd_IR.v6.0.31.0.G15265160104.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.047.L2.RetStd_IR.v6.0.31.0.G15265155444.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.048.L2.RetStd_IR.v6.0.31.0.G15265161620.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.049.L2.RetStd_IR.v6.0.31.0.G15265160915.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.050.L2.RetStd_IR.v6.0.31.0.G15265161409.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.051.L2.RetStd_IR.v6.0.31.0.G15265160954.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.052.L2.RetStd_IR.v6.0.31.0.G15265161513.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.053.L2.RetStd_IR.v6.0.31.0.G15265161811.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.054.L2.RetStd_IR.v6.0.31.0.G15265162006.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.055.L2.RetStd_IR.v6.0.31.0.G15265162047.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.056.L2.RetStd_IR.v6.0.31.0.G15265161311.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.057.L2.RetStd_IR.v6.0.31.0.G15265161405.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.058.L2.RetStd_IR.v6.0.31.0.G15265163005.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.059.L2.RetStd_IR.v6.0.31.0.G15265162638.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.060.L2.RetStd_IR.v6.0.31.0.G15265162622.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.061.L2.RetStd_IR.v6.0.31.0.G15265162421.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.062.L2.RetStd_IR.v6.0.31.0.G15265162542.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.063.L2.RetStd_IR.v6.0.31.0.G15265163257.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.064.L2.RetStd_IR.v6.0.31.0.G15265163309.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.065.L2.RetStd_IR.v6.0.31.0.G15265162517.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.066.L2.RetStd_IR.v6.0.31.0.G15265163219.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.067.L2.RetStd_IR.v6.0.31.0.G15265163400.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.068.L2.RetStd_IR.v6.0.31.0.G15265164234.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.069.L2.RetStd_IR.v6.0.31.0.G15265164345.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.070.L2.RetStd_IR.v6.0.31.0.G15265164221.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.071.L2.RetStd_IR.v6.0.31.0.G15265164428.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.072.L2.RetStd_IR.v6.0.31.0.G15265164450.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.073.L2.RetStd_IR.v6.0.31.0.G15265164606.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.074.L2.RetStd_IR.v6.0.31.0.G15265164555.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.075.L2.RetStd_IR.v6.0.31.0.G15265164249.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.076.L2.RetStd_IR.v6.0.31.0.G15265164047.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.077.L2.RetStd_IR.v6.0.31.0.G15265163547.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.078.L2.RetStd_IR.v6.0.31.0.G15265165338.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.079.L2.RetStd_IR.v6.0.31.0.G15265165344.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.080.L2.RetStd_IR.v6.0.31.0.G15265165244.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.081.L2.RetStd_IR.v6.0.31.0.G15265165221.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.082.L2.RetStd_IR.v6.0.31.0.G15265165057.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.083.L2.RetStd_IR.v6.0.31.0.G15265165901.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.084.L2.RetStd_IR.v6.0.31.0.G15265170015.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.085.L2.RetStd_IR.v6.0.31.0.G15265165631.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.086.L2.RetStd_IR.v6.0.31.0.G15265165844.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.087.L2.RetStd_IR.v6.0.31.0.G15265165850.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.088.L2.RetStd_IR.v6.0.31.0.G15265171431.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.089.L2.RetStd_IR.v6.0.31.0.G15265171348.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.090.L2.RetStd_IR.v6.0.31.0.G15265171421.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.091.L2.RetStd_IR.v6.0.31.0.G15265171454.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.092.L2.RetStd_IR.v6.0.31.0.G15265170534.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.093.L2.RetStd_IR.v6.0.31.0.G15265170808.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.094.L2.RetStd_IR.v6.0.31.0.G15265171451.hdf", " + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/265/AIRS.2015.09.22.095.L2.RetStd_IR.v6.0.31.0.G15265171544.hdf") + END_OBJECT = INPUTPOINTER + + END_GROUP = INPUTGRANULE + + GROUP = SPATIALDOMAINCONTAINER + + GROUP = HORIZONTALSPATIALDOMAINCONTAINER + + GROUP = BOUNDINGRECTANGLE + + OBJECT = EASTBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = 180.0 + END_OBJECT = EASTBOUNDINGCOORDINATE + + OBJECT = WESTBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = -180.0 + END_OBJECT = WESTBOUNDINGCOORDINATE + + OBJECT = SOUTHBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = -90.0 + END_OBJECT = SOUTHBOUNDINGCOORDINATE + + OBJECT = NORTHBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = 90.0 + END_OBJECT = NORTHBOUNDINGCOORDINATE + + END_GROUP = BOUNDINGRECTANGLE + + END_GROUP = HORIZONTALSPATIALDOMAINCONTAINER + + GROUP = GRANULELOCALITY + + OBJECT = LOCALITYVALUE + NUM_VAL = 1 + VALUE = "Global" + END_OBJECT = LOCALITYVALUE + + END_GROUP = GRANULELOCALITY + + END_GROUP = SPATIALDOMAINCONTAINER + + GROUP = RANGEDATETIME + + OBJECT = RANGEENDINGDATE + NUM_VAL = 1 + VALUE = "2015-09-22" + END_OBJECT = RANGEENDINGDATE + + OBJECT = RANGEENDINGTIME + NUM_VAL = 1 + VALUE = "00:00:00.000000Z" + END_OBJECT = RANGEENDINGTIME + + OBJECT = RANGEBEGINNINGDATE + NUM_VAL = 1 + VALUE = "2015-09-21" + END_OBJECT = RANGEBEGINNINGDATE + + OBJECT = RANGEBEGINNINGTIME + NUM_VAL = 1 + VALUE = "00:00:00.000000Z" + END_OBJECT = RANGEBEGINNINGTIME + + END_GROUP = RANGEDATETIME + + GROUP = PGEVERSIONCLASS + + OBJECT = PGEVERSION + NUM_VAL = 1 + VALUE = "6.0.31.0" + END_OBJECT = PGEVERSION + + END_GROUP = PGEVERSIONCLASS + + GROUP = ASSOCIATEDPLATFORMINSTRUMENTSENSOR + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "1" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "1" + NUM_VAL = 1 + VALUE = "HSB Channel 1" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "1" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "1" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "1" + NUM_VAL = 1 + VALUE = "HSB" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "2" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "2" + NUM_VAL = 1 + VALUE = "HSB Channel 2" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "2" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "2" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "2" + NUM_VAL = 1 + VALUE = "HSB" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "3" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "3" + NUM_VAL = 1 + VALUE = "HSB Channel 3" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "3" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "3" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "3" + NUM_VAL = 1 + VALUE = "HSB" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "4" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "4" + NUM_VAL = 1 + VALUE = "HSB Channel 4" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "4" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "4" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "4" + NUM_VAL = 1 + VALUE = "HSB" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "5" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "5" + NUM_VAL = 1 + VALUE = "HSB Channel 5" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "5" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "5" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "5" + NUM_VAL = 1 + VALUE = "HSB" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "6" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "6" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 3" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "6" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "6" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "6" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "7" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "7" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 4" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "7" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "7" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "7" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "8" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "8" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 5" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "8" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "8" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "8" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "9" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "9" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 6" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "9" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "9" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "9" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "10" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "10" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 7" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "10" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + + + + CLASS = "10" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "10" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "11" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "11" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 8" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "11" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "11" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "11" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "12" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "12" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 9" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "12" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "12" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "12" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "13" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "13" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 10" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "13" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "13" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "13" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "14" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "14" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 11" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "14" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "14" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "14" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "15" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "15" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 12" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "15" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "15" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "15" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "16" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "16" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 13" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "16" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "16" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "16" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "17" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "17" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 14" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "17" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "17" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "17" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "18" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "18" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 15" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "18" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "18" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "18" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "19" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "19" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 1" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "19" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "19" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "19" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "20" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "20" + NUM_VAL = 1 + VALUE = "AMSU-A Channel 2" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "20" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "20" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "20" + NUM_VAL = 1 + VALUE = "AMSU-A" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "21" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "21" + NUM_VAL = 1 + VALUE = "M1a Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "21" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "21" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "21" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "22" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "22" + NUM_VAL = 1 + VALUE = "M1b Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "22" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "22" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "22" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "23" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "23" + NUM_VAL = 1 + VALUE = "M2a Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "23" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "23" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "23" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "24" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "24" + NUM_VAL = 1 + VALUE = "M2b Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "24" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "24" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "24" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "25" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "25" + NUM_VAL = 1 + VALUE = "M3 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "25" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "25" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "25" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "26" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "26" + NUM_VAL = 1 + VALUE = "M4a Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "26" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "26" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "26" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "27" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "27" + NUM_VAL = 1 + VALUE = "M4b Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "27" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "27" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "27" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "28" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "28" + NUM_VAL = 1 + VALUE = "M4c Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "28" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "28" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "28" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "29" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "29" + NUM_VAL = 1 + VALUE = "M4d Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "29" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "29" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "29" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "30" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "30" + NUM_VAL = 1 + VALUE = "M5 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "30" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "30" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "30" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "31" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "31" + NUM_VAL = 1 + VALUE = "M6 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "31" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "31" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "31" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "32" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "32" + NUM_VAL = 1 + VALUE = "M7 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "32" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "32" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "32" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "33" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "33" + NUM_VAL = 1 + VALUE = "M8 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "33" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "33" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "33" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "34" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "34" + NUM_VAL = 1 + VALUE = "M9 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "34" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "34" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "34" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "35" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "35" + NUM_VAL = 1 + VALUE = "M10 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "35" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "35" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "35" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "36" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "36" + NUM_VAL = 1 + VALUE = "M11 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "36" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "36" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "36" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "37" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "37" + NUM_VAL = 1 + VALUE = "M12 Detector Array" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "37" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "37" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "37" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "38" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "38" + NUM_VAL = 1 + VALUE = "VNIR Channel 1" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "38" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "38" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "38" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "39" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "39" + NUM_VAL = 1 + VALUE = "VNIR Channel 2" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "39" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "39" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "39" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "40" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "40" + NUM_VAL = 1 + VALUE = "VNIR Channel 3" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "40" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "40" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "40" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = "41" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = "41" + NUM_VAL = 1 + VALUE = "VNIR Channel 4" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = "41" + NUM_VAL = 1 + VALUE = "Aqua" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = "41" + NUM_VAL = 1 + VALUE = "Normal" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = "41" + NUM_VAL = 1 + VALUE = "AIRS" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + END_GROUP = ASSOCIATEDPLATFORMINSTRUMENTSENSOR + + GROUP = ADDITIONALATTRIBUTES + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "1" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "1" + NUM_VAL = 1 + VALUE = "NumBadData" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "1" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "1" + VALUE = "32" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "2" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "2" + NUM_VAL = 1 + VALUE = "NumSpecialData" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "2" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "2" + VALUE = "0" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "3" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "3" + NUM_VAL = 1 + VALUE = "NumProcessData" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "3" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "3" + VALUE = "1406666" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "4" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "4" + NUM_VAL = 1 + VALUE = "NumMissingData" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "4" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "4" + VALUE = "2" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "5" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "5" + NUM_VAL = 1 + VALUE = "NumTotalData" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "5" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "5" + VALUE = "1406700" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "6" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "6" + NUM_VAL = 1 + VALUE = "NumFpe" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "6" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "6" + VALUE = "0" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "7" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "7" + NUM_VAL = 1 + VALUE = "ProductGenerationFacility" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "7" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "7" + VALUE = "G" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "8" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "8" + NUM_VAL = 1 + VALUE = "InputGranuleCount" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "8" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "8" + VALUE = "521" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "9" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "9" + NUM_VAL = 1 + VALUE = "NumDaysPlanned" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "9" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "9" + VALUE = "1" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "10" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "10" + NUM_VAL = 1 + VALUE = "NumDaysInCycle" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "10" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "10" + VALUE = "1" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "11" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "11" + NUM_VAL = 1 + VALUE = "StartDayInAquaRepeat" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "11" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "11" + VALUE = "8" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "12" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "12" + NUM_VAL = 1 + VALUE = "AIRSRunTag" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "12" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "12" + VALUE = "15281122640" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "13" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "13" + NUM_VAL = 1 + VALUE = "ProductGenerationHostInformation" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "13" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "13" + VALUE = "ac14.gesdisc.eosdis.nasa.gov Linux 2.6.32-573.1.1.el6.x86_64 #1_SMP_Sat_Jul_25_17:05:50_UTC_2015 x86_64" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "14" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "14" + NUM_VAL = 1 + VALUE = "identifier_product_doi" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "14" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "14" + VALUE = "10.5067/AQUA/AIRS/DATA303" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = "15" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = "15" + NUM_VAL = 1 + VALUE = "identifier_product_doi_authority" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = "15" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = "15" + VALUE = "http://dx.doi.org/" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + END_GROUP = ADDITIONALATTRIBUTES + +END_GROUP = INVENTORYMETADATA + +END + Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/tests/dmr-testsuite/._test_simple_3_error_1.xml and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/tests/dmr-testsuite/._test_simple_3_error_1.xml differ diff -Nru libdap-3.19.1/tests/dmr-testsuite/test_simple_3_error_1.xml.baseline libdap-3.20.5/tests/dmr-testsuite/test_simple_3_error_1.xml.baseline --- libdap-3.19.1/tests/dmr-testsuite/test_simple_3_error_1.xml.baseline 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/dmr-testsuite/test_simple_3_error_1.xml.baseline 2020-02-17 07:35:45.000000000 +0000 @@ -1,2 +1,2 @@ -Error: At line 1: Expected an integer value for an Enumeration constant, got 'not_an_integer' instead. -At line 1: The document contained unbalanced tags. +Error: At line 7: Expected an integer value for an Enumeration constant, got 'not_an_integer' instead. +At line 13: The document contained unbalanced tags. diff -Nru libdap-3.19.1/tests/dmr-testsuite/test_simple_3_error_2.xml.baseline libdap-3.20.5/tests/dmr-testsuite/test_simple_3_error_2.xml.baseline --- libdap-3.19.1/tests/dmr-testsuite/test_simple_3_error_2.xml.baseline 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/dmr-testsuite/test_simple_3_error_2.xml.baseline 2020-02-17 07:35:45.000000000 +0000 @@ -1,3 +1,3 @@ -Error: At line 1: The Enumeration 'e1' must have an integer type, instead the type 'Float64' was used. -At line 1: Expected an Attribute, Enumeration, Dimension, Group or variable element; found 'Enumeration' instead. -At line 1: The document contained unbalanced tags. +Error: At line 5: The Enumeration 'e1' must have an integer type, instead the type 'Float64' was used. +At line 5: Expected an Attribute, Enumeration, Dimension, Group or variable element; found 'Enumeration' instead. +At line 13: The document contained unbalanced tags. diff -Nru libdap-3.19.1/tests/dmr-testsuite/test_simple_3_error_3.xml.baseline libdap-3.20.5/tests/dmr-testsuite/test_simple_3_error_3.xml.baseline --- libdap-3.19.1/tests/dmr-testsuite/test_simple_3_error_3.xml.baseline 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/dmr-testsuite/test_simple_3_error_3.xml.baseline 2020-02-17 07:35:45.000000000 +0000 @@ -1,2 +1,2 @@ -Error: At line 1: In an Enumeration constant, the value '257' cannot fit in a variable of type 'UInt8'. -At line 1: The document contained unbalanced tags. +Error: At line 7: In an Enumeration constant, the value '257' cannot fit in a variable of type 'UInt8'. +At line 13: The document contained unbalanced tags. diff -Nru libdap-3.19.1/tests/EXPRTest libdap-3.20.5/tests/EXPRTest --- libdap-3.19.1/tests/EXPRTest 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/EXPRTest 2020-02-17 07:35:45.000000000 +0000 @@ -1066,7 +1066,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -libdap 3.19.1 test suite: expr-test test groups: +libdap 3.20.5 test suite: expr-test test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -1107,7 +1107,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (libdap 3.19.1)" && + $as_echo "$as_me (libdap 3.20.5)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1284,11 +1284,11 @@ # Banners and logs. $as_echo "## ------------------------------------ ## -## libdap 3.19.1 test suite: expr-test. ## +## libdap 3.20.5 test suite: expr-test. ## ## ------------------------------------ ##" { $as_echo "## ------------------------------------ ## -## libdap 3.19.1 test suite: expr-test. ## +## libdap 3.20.5 test suite: expr-test. ## ## ------------------------------------ ##" echo @@ -2132,7 +2132,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [libdap 3.19.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [libdap 3.20.5] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru libdap-3.19.1/tests/getdapTest libdap-3.20.5/tests/getdapTest --- libdap-3.19.1/tests/getdapTest 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/getdapTest 2020-02-17 07:35:45.000000000 +0000 @@ -902,7 +902,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -libdap 3.19.1 test suite: getdap test groups: +libdap 3.20.5 test suite: getdap test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -943,7 +943,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (libdap 3.19.1)" && + $as_echo "$as_me (libdap 3.20.5)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1120,11 +1120,11 @@ # Banners and logs. $as_echo "## --------------------------------- ## -## libdap 3.19.1 test suite: getdap. ## +## libdap 3.20.5 test suite: getdap. ## ## --------------------------------- ##" { $as_echo "## --------------------------------- ## -## libdap 3.19.1 test suite: getdap. ## +## libdap 3.20.5 test suite: getdap. ## ## --------------------------------- ##" echo @@ -1968,7 +1968,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [libdap 3.19.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [libdap 3.20.5] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru libdap-3.19.1/tests/Makefile.am libdap-3.20.5/tests/Makefile.am --- libdap-3.19.1/tests/Makefile.am 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/Makefile.am 2020-02-17 07:35:45.000000000 +0000 @@ -4,7 +4,7 @@ # Arrange to build with the backward compatibility mode enabled. AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/GNU -I$(top_srcdir)/d4_ce \ --I$(top_srcdir)/d4_function $(XML2_CFLAGS) $(CURL_CFLAGS) +-I$(top_srcdir)/d4_function $(XML2_CFLAGS) $(CURL_CFLAGS) $(TIRPC_CFLAGS) AM_CXXFLAGS = if COMPILER_IS_GCC @@ -12,10 +12,18 @@ endif CXXFLAGS_DEBUG = -g3 -O0 -Wall -W -Wcast-align -TEST_COV_FLAGS = -ftest-coverage -fprofile-arcs + +# If valgrind is present, add valgrind targets. +# @VALGRIND_CHECK_RULES@ + +if USE_ASAN +ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer +endif if BUILD_DEVELOPER -AM_CXXFLAGS += $(CXXFLAGS_DEBUG) +AM_CXXFLAGS += $(CXX11_FLAG) $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +else +AM_CXXFLAGS += -g -O2 $(CXX11_FLAG) endif check_PROGRAMS = das-test dds-test expr-test @@ -39,7 +47,7 @@ lib_LIBRARIES = libtest-types.a libtest_types_a_SOURCES = $(TESTSRCS) $(TEST_HDR) -libtest_types_a_CXXFLAGS = -fPIC +libtest_types_a_CXXFLAGS = $(AM_CXXFLAGS) -fPIC testheadersdir = $(pkgincludedir)/test testheaders_HEADERS = $(TEST_HDR) diff -Nru libdap-3.19.1/tests/Makefile.in libdap-3.20.5/tests/Makefile.in --- libdap-3.19.1/tests/Makefile.in 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/Makefile.in 2020-02-17 07:35:45.000000000 +0000 @@ -81,10 +81,11 @@ build_triplet = @build@ host_triplet = @host@ @COMPILER_IS_GCC_TRUE@am__append_1 = -Wall -W -Wcast-align -@BUILD_DEVELOPER_TRUE@am__append_2 = $(CXXFLAGS_DEBUG) +@BUILD_DEVELOPER_TRUE@am__append_2 = $(CXX11_FLAG) $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +@BUILD_DEVELOPER_FALSE@am__append_3 = -g -O2 $(CXX11_FLAG) check_PROGRAMS = das-test$(EXEEXT) dds-test$(EXEEXT) \ expr-test$(EXEEXT) $(am__EXEEXT_1) -@DAP4_DEFINED_TRUE@am__append_3 = dmr-test +@DAP4_DEFINED_TRUE@am__append_4 = dmr-test subdir = tests DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/atlocal.in $(top_srcdir)/conf/depcomp \ @@ -144,6 +145,7 @@ $(top_srcdir)/gl/m4/wcrtomb.m4 $(top_srcdir)/gl/m4/wctype_h.m4 \ $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/conf/acinclude.m4 \ $(top_srcdir)/conf/cppunit.m4 \ + $(top_srcdir)/conf/cxx_flags_check.m4 \ $(top_srcdir)/conf/gcov_valgrind.m4 \ $(top_srcdir)/conf/libtool.m4 $(top_srcdir)/conf/ltoptions.m4 \ $(top_srcdir)/conf/ltsugar.m4 $(top_srcdir)/conf/ltversion.m4 \ @@ -357,14 +359,17 @@ CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@ CPPUNIT_CONFIG = @CPPUNIT_CONFIG@ CPPUNIT_LIBS = @CPPUNIT_LIBS@ +CRYPTO_LIBS = @CRYPTO_LIBS@ CURL_CFLAGS = @CURL_CFLAGS@ CURL_LIBS = @CURL_LIBS@ CURL_STATIC_LIBS = @CURL_STATIC_LIBS@ CXX = @CXX@ +CXX11_FLAG = @CXX11_FLAG@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DAP3_2_DDX = @DAP3_2_DDX@ DAPLIB_AGE = @DAPLIB_AGE@ DAPLIB_CURRENT = @DAPLIB_CURRENT@ DAPLIB_REVISION = @DAPLIB_REVISION@ @@ -675,7 +680,6 @@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VALGRIND = @HAVE_VALGRIND@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ @@ -917,6 +921,8 @@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIRPC_CFLAGS = @TIRPC_CFLAGS@ +TIRPC_LIBS = @TIRPC_LIBS@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1000,11 +1006,14 @@ # Arrange to build with the backward compatibility mode enabled. AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/GNU -I$(top_srcdir)/d4_ce \ --I$(top_srcdir)/d4_function $(XML2_CFLAGS) $(CURL_CFLAGS) +-I$(top_srcdir)/d4_function $(XML2_CFLAGS) $(CURL_CFLAGS) $(TIRPC_CFLAGS) -AM_CXXFLAGS = $(am__append_1) $(am__append_2) +AM_CXXFLAGS = $(am__append_1) $(am__append_2) $(am__append_3) CXXFLAGS_DEBUG = -g3 -O0 -Wall -W -Wcast-align -TEST_COV_FLAGS = -ftest-coverage -fprofile-arcs + +# If valgrind is present, add valgrind targets. +# @VALGRIND_CHECK_RULES@ +@USE_ASAN_TRUE@ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer # This will use automake's test envokation code. It's better to use # our own so we can pass in flags for autotest, esp --jobs=N to get @@ -1019,7 +1028,7 @@ # subclassed types in Test*.cc and the TestTypesFactory. lib_LIBRARIES = libtest-types.a libtest_types_a_SOURCES = $(TESTSRCS) $(TEST_HDR) -libtest_types_a_CXXFLAGS = -fPIC +libtest_types_a_CXXFLAGS = $(AM_CXXFLAGS) -fPIC testheadersdir = $(pkgincludedir)/test testheaders_HEADERS = $(TEST_HDR) das_test_SOURCES = das-test.cc diff -Nru libdap-3.19.1/tests/package.m4 libdap-3.20.5/tests/package.m4 --- libdap-3.19.1/tests/package.m4 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/package.m4 2020-02-17 07:35:45.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [libdap]) m4_define([AT_PACKAGE_TARNAME], [libdap]) -m4_define([AT_PACKAGE_VERSION], [3.19.1]) -m4_define([AT_PACKAGE_STRING], [libdap 3.19.1]) +m4_define([AT_PACKAGE_VERSION], [3.20.5]) +m4_define([AT_PACKAGE_STRING], [libdap 3.20.5]) m4_define([AT_PACKAGE_BUGREPORT], [opendap-tech@opendap.org]) diff -Nru libdap-3.19.1/tests/TestArray.cc libdap-3.20.5/tests/TestArray.cc --- libdap-3.19.1/tests/TestArray.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/tests/TestArray.cc 2020-02-17 07:35:45.000000000 +0000 @@ -565,7 +565,6 @@ case dods_null_c: default: throw InternalErr(__FILE__, __LINE__, "Bad data type"); - break; } // set_read_p(true); diff -Nru libdap-3.19.1/UInt16.cc libdap-3.20.5/UInt16.cc --- libdap-3.19.1/UInt16.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/UInt16.cc 2020-02-17 07:35:45.000000000 +0000 @@ -65,6 +65,7 @@ #include "dods-limits.h" #include "debug.h" #include "InternalErr.h" +#include "DapIndent.h" using std::cerr; using std::endl; diff -Nru libdap-3.19.1/UInt32.cc libdap-3.20.5/UInt32.cc --- libdap-3.19.1/UInt32.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/UInt32.cc 2020-02-17 07:35:45.000000000 +0000 @@ -65,6 +65,7 @@ #include "dods-limits.h" #include "debug.h" #include "InternalErr.h" +#include "DapIndent.h" using std::cerr; using std::endl; diff -Nru libdap-3.19.1/UInt64.cc libdap-3.20.5/UInt64.cc --- libdap-3.19.1/UInt64.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/UInt64.cc 2020-02-17 07:35:45.000000000 +0000 @@ -50,6 +50,7 @@ #include "dods-limits.h" #include "debug.h" #include "InternalErr.h" +#include "DapIndent.h" using std::cerr; using std::endl; diff -Nru libdap-3.19.1/unit-tests/ancT.cc libdap-3.20.5/unit-tests/ancT.cc --- libdap-3.19.1/unit-tests/ancT.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/ancT.cc 2020-02-17 07:35:45.000000000 +0000 @@ -42,7 +42,7 @@ #include "GetOpt.h" #include "Ancillary.h" - +#include "DDS.h" #include "debug.h" #include @@ -52,6 +52,7 @@ static bool debug = false; + class ancT: public TestFixture { private: @@ -77,6 +78,7 @@ CPPUNIT_TEST (find_ancillary_file_test); CPPUNIT_TEST (find_group_ancillary_file_test); + CPPUNIT_TEST (read_ancillary_das_file_test); CPPUNIT_TEST_SUITE_END(); @@ -97,6 +99,22 @@ CPPUNIT_ASSERT( Ancillary::find_ancillary_file((string) TEST_SRC_DIR + "/das-testsuite/test.3.Z", "das", "", "") == (string) TEST_SRC_DIR + "/das-testsuite/test.3.Z.das"); + CPPUNIT_ASSERT( + Ancillary::find_ancillary_file((string) TEST_SRC_DIR + "/das-testste/test_1", "das", (string) TEST_SRC_DIR + "/das-testsuite/", "") + == (string) TEST_SRC_DIR + "/das-testsuite/test_1.das"); + Ancillary::find_ancillary_file((string) TEST_SRC_DIR + "/das-testsuite/te1", "das", (string) TEST_SRC_DIR + "/das-testite/", ""); + CPPUNIT_ASSERT( + Ancillary::find_ancillary_file((string) TEST_SRC_DIR + "/das-testsuite/te1", "das", (string) TEST_SRC_DIR + "/das-testite/", "") + == (string) TEST_SRC_DIR + "/das-testsuite/das"); + CPPUNIT_ASSERT( + Ancillary::find_ancillary_file((string) TEST_SRC_DIR + "/das-testste/test1", "das", (string) TEST_SRC_DIR + "/das-testsuite/", "") + == (string) TEST_SRC_DIR + "/das-testsuite/das"); + CPPUNIT_ASSERT( + Ancillary::find_ancillary_file((string) TEST_SRC_DIR + "/das-testste/test1", "das", (string) TEST_SRC_DIR + "/das-testsuite/", "test.1") + == (string) TEST_SRC_DIR + "/das-testsuite/test.1.das"); + CPPUNIT_ASSERT( + Ancillary::find_ancillary_file((string) TEST_SRC_DIR + "/das-testste/test1", "ds", (string) TEST_SRC_DIR + "/das-testsuite/", "") + == ""); } void find_group_ancillary_file_test() @@ -111,6 +129,15 @@ Ancillary::find_group_ancillary_file((string) TEST_SRC_DIR + "/cgi-util-tests/group.hdf", ".htm") == ""); } + void read_ancillary_das_file_test() + { + DAS das; + string dir = ""; + string file = ""; + Ancillary::read_ancillary_das(das, (string) TEST_SRC_DIR + "/das-testsuite/test.1.das", dir, file); + CPPUNIT_ASSERT(das.get_size() == 1); + } + }; CPPUNIT_TEST_SUITE_REGISTRATION (ancT); diff -Nru libdap-3.19.1/unit-tests/arrayT.cc libdap-3.20.5/unit-tests/arrayT.cc --- libdap-3.19.1/unit-tests/arrayT.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/arrayT.cc 2020-02-17 07:35:45.000000000 +0000 @@ -158,6 +158,8 @@ l = ar.length(); CPPUNIT_ASSERT(l == 24); + ar.rename_dim("dim3", "myDim"); + bool is_read = ar.read(); CPPUNIT_ASSERT(is_read == true); diff -Nru libdap-3.19.1/unit-tests/ArrayTest.cc libdap-3.20.5/unit-tests/ArrayTest.cc --- libdap-3.19.1/unit-tests/ArrayTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/ArrayTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -3,7 +3,7 @@ // This file is part of libdap, A C++ implementation of the OPeNDAP Data // Access Protocol. -// Copyright (c) 2005 OPeNDAP, Inc. +// Copyright (c) 2005,2018 OPeNDAP, Inc. // Author: James Gallagher // // This library is free software; you can redistribute it and/or @@ -35,6 +35,7 @@ #include "Int16.h" #include "Str.h" #include "Structure.h" +#include "D4Dimensions.h" #include "debug.h" #include "GetOpt.h" @@ -54,6 +55,8 @@ Structure *d_struct; string svalues[4]; + char a[1024]; + public: ArrayTest() { @@ -136,12 +139,111 @@ CPPUNIT_TEST_SUITE (ArrayTest); + CPPUNIT_TEST (cons_test); + CPPUNIT_TEST (equals_test); + CPPUNIT_TEST (prepend_dim_test); + CPPUNIT_TEST (prepend_dim_2_test); + CPPUNIT_TEST (clear_dims_test); + CPPUNIT_TEST (error_handling_test); + CPPUNIT_TEST (error_handling_2_test); + CPPUNIT_TEST (print_test); CPPUNIT_TEST (duplicate_cardinal_test); CPPUNIT_TEST (duplicate_string_test); CPPUNIT_TEST (duplicate_structure_test); CPPUNIT_TEST_SUITE_END(); + void cons_test() + { + Array a1 = Array("a", "b", d_int16, true); + CPPUNIT_ASSERT(a1.name() == "a"); + } + + void equals_test() + { + Array a1 = Array("a", d_int16); + a1 = *d_cardinal; + Array::Dim_iter i = a1.dim_begin(); + CPPUNIT_ASSERT(a1.dimension_size(i) == 4); + a1 = a1; + i = a1.dim_begin(); + CPPUNIT_ASSERT(a1.dimension_size(i) == 4); + } + + void prepend_dim_test() + { + Array a1 = Array("a", d_int16); + Array::Dim_iter i = a1.dim_begin(); + CPPUNIT_ASSERT(a1.dimension_size(i) == 0); + a1.prepend_dim(2, "dim_a"); + i = a1.dim_begin(); + CPPUNIT_ASSERT(a1.dimension_size(i) == 2); + a1.prepend_dim(3, "dim_b"); + } + + void prepend_dim_2_test() + { + Array a1 = Array("a", d_int16); + string expected_name[2] = {"dim_b", "myDim"}; + int j = 0; + D4Dimensions *dims = new D4Dimensions(); + D4Dimension *d = new D4Dimension("dim_b", 2, dims); + a1.prepend_dim(2, "dim_a"); + a1.prepend_dim(d); + a1.rename_dim("dim_a", "myDim"); + for (Array::Dim_iter i = a1.dim_begin(); i != a1.dim_end(); i++, j++) { + CPPUNIT_ASSERT(a1.dimension_name(i) == expected_name[j]); + } + delete dims; + delete d; + } + + void clear_dims_test() + { + Array a1 = Array("a", d_int16); + a1.prepend_dim(2, "dim_a"); + a1.prepend_dim(3, "dim_b"); + a1.clear_all_dims(); + Array::Dim_iter i = a1.dim_begin(); + CPPUNIT_ASSERT(a1.dimension_size(i) == 0); + } + + void error_handling_test() + { + Array a1 = Array("a", d_int16); + Array::Dim_iter i = a1.dim_begin(); + string msg; + CPPUNIT_ASSERT_THROW(a1.dimension_name(i), InternalErr); + CPPUNIT_ASSERT(!a1.check_semantics(msg)); + } + + void error_handling_2_test() + { + Array a1 = Array("a", d_int16); + a1.append_dim(2, "dim_a"); + Array::Dim_iter i = a1.dim_begin(); + CPPUNIT_ASSERT(a1.dimension_size(i) == 2); + CPPUNIT_ASSERT_THROW(a1.add_constraint(i, 2, 1, 1), Error); + CPPUNIT_ASSERT_THROW(a1.add_constraint(i, 0, 1, 2), Error); + CPPUNIT_ASSERT_THROW(a1.add_constraint(i, 0, 3, 1), Error); + } + + void print_test() + { + // Array a1 = Array("a", d_int16); + // FILE *fp; + // a1.append_dim(2, "dim_a"); + // CPPUNIT_ASSERT(fp = fopen("ArrayTest.output", "w")); + // a1.print_xml(fp, " ", true); + // fclose(fp); + // ifstream ifs("ArrayTest.output"); + // while(!ifs.eof()) + // ifs >> a; + // ifs.close(); + // cout<dim_begin(); diff -Nru libdap-3.19.1/unit-tests/AttrTableTest.cc libdap-3.20.5/unit-tests/AttrTableTest.cc --- libdap-3.19.1/unit-tests/AttrTableTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/AttrTableTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -68,6 +68,7 @@ private: AttrTable *at1; AttrTable *cont_a, *cont_b, *cont_c, *cont_ba, *cont_ca, *cont_caa; + char a[1024]; public: AttrTableTest() @@ -130,7 +131,6 @@ } CPPUNIT_TEST_SUITE (AttrTableTest); -#if 1 CPPUNIT_TEST (clone_test); CPPUNIT_TEST (find_container_test); @@ -141,16 +141,16 @@ CPPUNIT_TEST (assignment); CPPUNIT_TEST (erase_test); CPPUNIT_TEST (names_with_spaces_test); -#endif + CPPUNIT_TEST (is_global_att_test); + CPPUNIT_TEST (add_container_alias_test); + CPPUNIT_TEST (attr_alias_test); + CPPUNIT_TEST (attr_alias_2_test); CPPUNIT_TEST (containers_with_spaces_test); -#if 1 CPPUNIT_TEST (get_attr_iter_test); CPPUNIT_TEST (del_attr_table_test); CPPUNIT_TEST (append_attr_vector_test); -#endif -#if 0 - CPPUNIT_TEST(print_xml_test); -#endif + CPPUNIT_TEST (print_xml_test); + CPPUNIT_TEST (print_simple_test); CPPUNIT_TEST_SUITE_END(); @@ -306,6 +306,31 @@ t = 0; } + void is_global_att_test() + { + for (AttrTable::Attr_iter iter = at1->attr_begin(); iter != at1->attr_end(); iter++) { + at1->set_is_global_attribute(iter, true); + CPPUNIT_ASSERT(at1->is_global_attribute(iter)); + } + } + + void add_container_alias_test() + { + CPPUNIT_ASSERT_THROW(at1->add_container_alias("a", at1), Error); + } + + void attr_alias_test() + { + at1->attr_alias("alias", at1, "a"); + CPPUNIT_ASSERT(at1->get_type("alias") == "Container"); + } + + void attr_alias_2_test() + { + at1->attr_alias("alias", "a"); + CPPUNIT_ASSERT(at1->get_type("alias") == "Container"); + } + void containers_with_spaces_test() { AttrTable *top = new AttrTable; @@ -313,6 +338,7 @@ AttrTable *cont = top->append_container("Data Field"); cont->append_attr("long name", "String", "first"); cont->add_value_alias(top, "an alias", "long name"); + CPPUNIT_ASSERT_THROW(cont->add_value_alias(top, "an alias", "long name"), Error); } catch (Error &e) { cerr << e.get_error_message() << endl; @@ -425,8 +451,25 @@ void print_xml_test() { - at1->print_xml(stdout); + ostringstream sof; + at1->print_xml(sof); + CPPUNIT_ASSERT(sof.str().find("") != string::npos); + } + + void print_simple_test() + { + FILE *fp; + fp = fopen("AttrTableTest_print_simple.output", "w"); + AttrTable::Attr_iter i = at1->simple_find("a"); + at1->simple_print(fp, "", i, false); + fclose(fp); + ifstream ifs("AttrTableTest_print_simple.output"); + stringstream buf; + buf< +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "BaseTypeFactory.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class BaseTypeFactoryTest: public TestFixture { +private: + BaseTypeFactory btf; + +public: + BaseTypeFactoryTest() + { + } + ~BaseTypeFactoryTest() + { + } + + void setUp() + { + btf = BaseTypeFactory(); + } + + void tearDown() + { + } + + CPPUNIT_TEST_SUITE(BaseTypeFactoryTest); + + CPPUNIT_TEST(new_variables_test); + CPPUNIT_TEST(error_test); + + CPPUNIT_TEST_SUITE_END(); + + void ctor_test() + { + BaseTypeFactory *btf1 = new BaseTypeFactory(); + delete btf1; + } + + void new_variables_test() + { + BaseType *bt; + + bt = btf.NewVariable(dods_byte_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_int16_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_uint16_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_int32_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_uint32_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_float32_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_float64_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_str_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_url_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_array_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_structure_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_sequence_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + bt = btf.NewVariable(dods_grid_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && !bt->is_dap4()); + delete bt; + } + + void error_test() + { + CPPUNIT_ASSERT_THROW(btf.NewVariable(dods_group_c, "a"), InternalErr); + CPPUNIT_ASSERT_THROW(btf.ptr_duplicate(), InternalErr); + } +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(BaseTypeFactoryTest); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: BaseTypeFactoryTest has the following tests:" << endl; + const std::vector &tests = libdap::BaseTypeFactoryTest::suite()->getTests(); + unsigned int prefix_len = libdap::BaseTypeFactoryTest::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::BaseTypeFactoryTest::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/ByteTest.cc libdap-3.20.5/unit-tests/ByteTest.cc --- libdap-3.19.1/unit-tests/ByteTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/ByteTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -34,8 +34,23 @@ #ifdef HAVE_UNISTD_H #include #endif +#include +#include "BaseType.h" #include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "ce_expr.tab.hh" +#include "crc.h" +#include "D4Attributes.h" #include "GetOpt.h" // Added jhrg @@ -58,6 +73,8 @@ Byte *tb2; Byte *tb3; Byte *tb4; + Byte *tb5; + char a[1024]; public: ByteTest() @@ -73,6 +90,8 @@ tb2 = new Byte("tb2 name with spaces"); tb3 = new Byte("tb3 %"); tb4 = new Byte("tb4 #"); + tb5 = new Byte("a", "b"); + a[0] = 0; } void tearDown() @@ -85,15 +104,163 @@ tb3 = 0; delete tb4; tb4 = 0; + delete tb5; + tb5 = 0; } - CPPUNIT_TEST_SUITE (ByteTest); + CPPUNIT_TEST_SUITE(ByteTest); - CPPUNIT_TEST (name_mangling_test); - CPPUNIT_TEST (decl_mangling_test); + CPPUNIT_TEST(cons_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(checksum_test); + CPPUNIT_TEST(val2buf_test); + CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(dump_2_test); + CPPUNIT_TEST(print_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(name_mangling_test); + CPPUNIT_TEST(decl_mangling_test); + CPPUNIT_TEST(basetype_test); + CPPUNIT_TEST(basetype_print_val_test); + CPPUNIT_TEST(basetype_print_xml_test); + CPPUNIT_TEST(basetype_print_xml_2_test); + CPPUNIT_TEST(basetype_FQN_test); + CPPUNIT_TEST(basetype_print_decl_test); + CPPUNIT_TEST(set_attributes_test); CPPUNIT_TEST_SUITE_END(); + void cons_test() + { + CPPUNIT_ASSERT(tb5->value() == 0 && tb5->dataset() == "b" && tb5->name() == "a" && + tb5->type() == dods_byte_c); + CPPUNIT_ASSERT(tb2->value() == 0); + } + + void equals_test() + { + Byte b3 = Byte("a", "b"); + Byte b4 = Byte("e"); + + CPPUNIT_ASSERT(b3.set_value(42) && b3.value() == 42); + b4 = b3; + CPPUNIT_ASSERT(b3.value() == 42); + b4 = b4; + CPPUNIT_ASSERT(b4.value() == 42); + } + + void checksum_test() + { + Crc32 cs; + tb5->compute_checksum(cs); + } + + void val2buf_test() + { + char i = 3; + tb3->val2buf(&i, true); + CPPUNIT_ASSERT(tb3->value() == 3); + CPPUNIT_ASSERT_THROW(tb3->val2buf(NULL, true), InternalErr); + } + + void buf2val_test() + { + char i = 42; + void *v = &i; + signed char *v2 = NULL; + CPPUNIT_ASSERT(tb1->set_value(6)); + CPPUNIT_ASSERT(tb1->buf2val(&v) == 1 && i == 6); + CPPUNIT_ASSERT_THROW(tb1->buf2val(NULL), InternalErr); + CPPUNIT_ASSERT(tb1->buf2val((void **)&v2) == 1 && *(signed char *)v2 == 6); + delete v2; + } + + void dump_test() + { + ofstream ofs("ByteTest_dump.output", ios::trunc); + tb1->set_value(21); + tb1->dump(ofs); + ofs.close(); + ifstream ifs("ByteTest_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(a[0] == 21); + } + + void dump_2_test() + { + D4Attribute att; + D4Attributes attrs; + ofstream ofs("ByteTest_dump_2.output", ios::trunc); + att.set_name("Waldo"); + att.set_type(attr_byte_c); + att.add_value("1"); + attrs.add_attribute(&att); + tb1->set_attributes(&attrs); + tb1->set_value(21); + tb1->dump(ofs); + ofs.close(); + ifstream ifs("ByteTest_dump_2.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(a[0] == 21); + } + + void print_test() + { + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("ByteTest.output", "w")); + tb1->set_value(22); + tb1->print_val(fp, " ", true); + fclose(fp); + ifstream ifs("ByteTest.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "22;")); + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(b1.value() == 42); + CPPUNIT_ASSERT(b1.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(b1.d4_ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(b1.d4_ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(b1.d4_ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(b1.d4_ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(b1.d4_ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(b1.d4_ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(b1.d4_ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(b1.d4_ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(b1.d4_ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(b1.d4_ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(b1.d4_ops(&array, SCAN_EQUAL), Error); + } + void name_mangling_test() { CPPUNIT_ASSERT(tb1->name() == "tb1"); @@ -118,6 +285,104 @@ CPPUNIT_ASSERT(sof.str().find("Byte tb4%20%23") != string::npos); } + void basetype_test() + { + BaseType *bt = static_cast(tb1); + BaseType::btp_stack bs; + BaseType::btp_stack &bsr = bs; + CPPUNIT_ASSERT_THROW(bt->BaseType::width(false), InternalErr); + CPPUNIT_ASSERT_THROW(bt->BaseType::ops(bt, SCAN_EQUAL), InternalErr); + CPPUNIT_ASSERT(!bt->synthesized_p()); + bt->set_synthesized_p(true); + CPPUNIT_ASSERT(bt->synthesized_p()); + CPPUNIT_ASSERT_THROW(bt->add_var(bt), InternalErr); + CPPUNIT_ASSERT_THROW(bt->add_var_nocopy(bt), InternalErr); + CPPUNIT_ASSERT_THROW(bt->ops(bt, SCAN_EQUAL), InternalErr); + CPPUNIT_ASSERT(bt->BaseType::var("", bsr) == 0); + CPPUNIT_ASSERT(bt->BaseType::length() == 1); + bt->BaseType::set_length(1); + bt->BaseType::clear_local_data(); + CPPUNIT_ASSERT(!tb1->read_p()); + } + + void basetype_print_val_test() + { + BaseType *bt = static_cast(tb1); + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("ByteTest_BaseType_print.output", "w")); + bt->BaseType::print_val(fp, "", true); + fclose(fp); + ifstream ifs("ByteTest_BaseType_print.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "0;")); + } + + void basetype_print_xml_test() + { + BaseType *bt = static_cast(tb1); + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("ByteTest_BaseType_print_xml.output", "w")); + bt->BaseType::print_xml(fp, "", true); + fclose(fp); + ifstream ifs("ByteTest_BaseType_print_xml.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "encoding=\"ISO-8859-1\"?>")); + } + + void basetype_print_xml_2_test() + { + BaseType *bt = static_cast(tb1); + ofstream ofs("ByteTest_xml_2.output", ios::trunc); + bt->BaseType::print_xml(ofs, "", true); + ofs.close(); + ifstream ifs("ByteTest_xml_2.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "encoding=\"ISO-8859-1\"?>")); + } + + void basetype_FQN_test() + { + CPPUNIT_ASSERT(tb1->FQN() == "tb1"); + } + + void basetype_print_decl_test() + { + BaseType *bt = static_cast(tb1); + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("ByteTest_BaseType_print_decl.output", "w")); + bt->BaseType::print_decl(fp, "", true, true, true); + fclose(fp); + ifstream ifs("ByteTest_BaseType_print_decl.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "")); + } + + void set_attributes_test() + { + D4Attributes attrs; + D4Attribute a; + + a.set_name("first"); + a.set_type(attr_byte_c); + a.add_value("1"); + a.add_value("2"); + attrs.add_attribute(&a); + + BaseType *bt = static_cast(tb1); + bt->set_attributes(&attrs); + D4Attributes *a2 = bt->attributes(); + CPPUNIT_ASSERT(a2->find("first")->name() == "first"); + } + + }; CPPUNIT_TEST_SUITE_REGISTRATION (ByteTest); diff -Nru libdap-3.19.1/unit-tests/cache-testsuite/Makefile.in libdap-3.20.5/unit-tests/cache-testsuite/Makefile.in --- libdap-3.19.1/unit-tests/cache-testsuite/Makefile.in 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/cache-testsuite/Makefile.in 2020-02-17 07:35:45.000000000 +0000 @@ -134,6 +134,7 @@ $(top_srcdir)/gl/m4/wcrtomb.m4 $(top_srcdir)/gl/m4/wctype_h.m4 \ $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/conf/acinclude.m4 \ $(top_srcdir)/conf/cppunit.m4 \ + $(top_srcdir)/conf/cxx_flags_check.m4 \ $(top_srcdir)/conf/gcov_valgrind.m4 \ $(top_srcdir)/conf/libtool.m4 $(top_srcdir)/conf/ltoptions.m4 \ $(top_srcdir)/conf/ltsugar.m4 $(top_srcdir)/conf/ltversion.m4 \ @@ -200,14 +201,17 @@ CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@ CPPUNIT_CONFIG = @CPPUNIT_CONFIG@ CPPUNIT_LIBS = @CPPUNIT_LIBS@ +CRYPTO_LIBS = @CRYPTO_LIBS@ CURL_CFLAGS = @CURL_CFLAGS@ CURL_LIBS = @CURL_LIBS@ CURL_STATIC_LIBS = @CURL_STATIC_LIBS@ CXX = @CXX@ +CXX11_FLAG = @CXX11_FLAG@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DAP3_2_DDX = @DAP3_2_DDX@ DAPLIB_AGE = @DAPLIB_AGE@ DAPLIB_CURRENT = @DAPLIB_CURRENT@ DAPLIB_REVISION = @DAPLIB_REVISION@ @@ -518,7 +522,6 @@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VALGRIND = @HAVE_VALGRIND@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ @@ -760,6 +763,8 @@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIRPC_CFLAGS = @TIRPC_CFLAGS@ +TIRPC_LIBS = @TIRPC_LIBS@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ diff -Nru libdap-3.19.1/unit-tests/D4AsyncDocTest.cc libdap-3.20.5/unit-tests/D4AsyncDocTest.cc --- libdap-3.19.1/unit-tests/D4AsyncDocTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4AsyncDocTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -92,7 +92,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_required - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncRequired.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncRequired.xml"); DBG(cerr << "[test_async_required - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -115,7 +115,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_required - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncRequired_StyleRef.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncRequired_StyleRef.xml"); DBG(cerr << "[test_async_required - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -139,7 +139,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_accepted - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncAccepted.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncAccepted.xml"); DBG(cerr << "[test_async_accepted - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); DBG(cerr << endl << " ---- test_async_accepted - END" << endl); @@ -161,7 +161,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_accepted - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncAccepted_StyleRef.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncAccepted_StyleRef.xml"); DBG(cerr << "[test_async_accepted - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); DBG(cerr << endl << " ---- test_async_accepted - END" << endl); @@ -181,7 +181,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_pending - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncPending.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncPending.xml"); DBG(cerr << "[test_async_pending - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); DBG(cerr << endl << " ---- test_async_pending - END" << endl); @@ -202,7 +202,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_pending - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncPending_StyleRef.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncPending_StyleRef.xml"); DBG(cerr << "[test_async_pending - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); DBG(cerr << endl << " ---- test_async_pending - END" << endl); @@ -222,7 +222,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_ResponseGone - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncGone.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncGone.xml"); DBG(cerr << "[test_async_ResponseGone - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); DBG(cerr << endl << " ---- test_async_ResponseGone - END" << endl); @@ -243,7 +243,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_ResponseGone - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncGone_StyleRef.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncGone_StyleRef.xml"); DBG(cerr << "[test_async_ResponseGone - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); DBG(cerr << endl << " ---- test_async_ResponseGone - END" << endl); @@ -263,7 +263,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_ResponseRejected - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncRejected.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncRejected.xml"); DBG(cerr << "[test_async_ResponseRejected - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -285,7 +285,7 @@ string doc = xml->get_doc(); DBG(cerr << "[test_async_ResponseRejected - candidate doc]" << endl << doc << endl); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncRejected_StyleRef.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4AsyncRejected_StyleRef.xml"); DBG(cerr << "[test_async_ResponseRejected - baseline doc]" << endl << baseline << endl); CPPUNIT_ASSERT(doc == baseline); diff -Nru libdap-3.19.1/unit-tests/D4AttributesTest.cc libdap-3.20.5/unit-tests/D4AttributesTest.cc --- libdap-3.19.1/unit-tests/D4AttributesTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4AttributesTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -3,7 +3,7 @@ // This file is part of libdap, A C++ implementation of the OPeNDAP Data // Access Protocol. -// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Copyright (c) 2002,2003,2013 OPeNDAP, Inc. // Author: James Gallagher // // This library is free software; you can redistribute it and/or @@ -106,13 +106,63 @@ delete attrs; } + void test_type_to_string() + { + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_null_c) == "null"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_byte_c) == "Byte"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_int16_c) == "Int16"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_uint16_c) == "UInt16"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_int32_c) == "Int32"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_uint32_c) == "UInt32"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_float32_c) == "Float32"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_float64_c) == "Float64"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_str_c) == "String"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_url_c) == "Url"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_int8_c) == "Int8"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_uint8_c) == "UInt8"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_int64_c) == "Int64"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_uint64_c) == "UInt64"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_enum_c) == "Enum"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_opaque_c) == "Opaque"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_container_c) == "Container"); + CPPUNIT_ASSERT(D4AttributeTypeToString(attr_otherxml_c) == "OtherXML"); + } + + void test_string_to_type() + { + CPPUNIT_ASSERT(StringToD4AttributeType("null") == attr_null_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Byte") == attr_byte_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Int16") == attr_int16_c); + CPPUNIT_ASSERT(StringToD4AttributeType("UInt16") == attr_uint16_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Int32") == attr_int32_c); + CPPUNIT_ASSERT(StringToD4AttributeType("UInt32") == attr_uint32_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Float32") == attr_float32_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Float64") == attr_float64_c); + CPPUNIT_ASSERT(StringToD4AttributeType("String") == attr_str_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Url") == attr_url_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Int8") == attr_int8_c); + CPPUNIT_ASSERT(StringToD4AttributeType("UInt8") == attr_uint8_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Int64") == attr_int64_c); + CPPUNIT_ASSERT(StringToD4AttributeType("UInt64") == attr_uint64_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Enum") == attr_enum_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Opaque") == attr_opaque_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Container") == attr_container_c); + CPPUNIT_ASSERT(StringToD4AttributeType("OtherXML") == attr_otherxml_c); + CPPUNIT_ASSERT(StringToD4AttributeType("Punk") == attr_null_c); + } + + void test_attr_type() + { + //attrs->get_dap2_AttrType(attr_null_c); + } + // An empty D4Dimensions object prints nothing; the XMLWriter class adds // a xml doc preface. void test_print_empty() { attrs->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_empty.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_empty.xml"); DBG(cerr << "D4Attributes: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -121,7 +171,7 @@ { a.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_values_1.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_values_1.xml"); DBG(cerr << "D4Attributes: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); @@ -133,7 +183,7 @@ attrs->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_1.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_1.xml"); DBG(cerr << "D4Attributes: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -145,7 +195,7 @@ attrs->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_2.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_2.xml"); DBG(cerr << "D4Attributes: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -159,11 +209,26 @@ attrs->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_3.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_3.xml"); DBG(cerr << "D4Attributes: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } + void test_dump() + { + attrs->add_attribute(&c2); + ostringstream sof; + attrs->dump(sof); + CPPUNIT_ASSERT(sof.str().find("") != string::npos); + } + + void test_2_dump() + { + ostringstream sof; + a.dump(sof); + CPPUNIT_ASSERT(sof.str().find("") != string::npos); + } + void test_print_assignment() { attrs->add_attribute(&a); @@ -173,7 +238,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_assignment.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_assignment.xml"); DBG(cerr << "D4Attributes: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -189,7 +254,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_assignment_2.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_assignment_2.xml"); DBG(cerr << "D4Attributes: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -203,7 +268,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_copy_ctor.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Attributes_copy_ctor.xml"); DBG(cerr << "D4Attributes: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -295,11 +360,15 @@ CPPUNIT_TEST_SUITE (D4AttributesTest); + CPPUNIT_TEST (test_type_to_string); + CPPUNIT_TEST (test_print_empty); CPPUNIT_TEST (test_print_single_attribute); CPPUNIT_TEST (test_print_1); CPPUNIT_TEST (test_print_2); CPPUNIT_TEST (test_print_3); + CPPUNIT_TEST (test_dump); + CPPUNIT_TEST (test_2_dump); CPPUNIT_TEST (test_print_assignment); CPPUNIT_TEST (test_print_assignment_2); diff -Nru libdap-3.19.1/unit-tests/D4BaseTypeFactoryTest.cc libdap-3.20.5/unit-tests/D4BaseTypeFactoryTest.cc --- libdap-3.19.1/unit-tests/D4BaseTypeFactoryTest.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4BaseTypeFactoryTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,229 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "D4BaseTypeFactory.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class D4BaseTypeFactoryTest: public TestFixture { +private: + D4BaseTypeFactory d4btf; + +public: + D4BaseTypeFactoryTest() + { + } + ~D4BaseTypeFactoryTest() + { + } + + void setUp() + { + d4btf = D4BaseTypeFactory(); + } + + void tearDown() + { + } + + CPPUNIT_TEST_SUITE(D4BaseTypeFactoryTest); + + CPPUNIT_TEST(new_variables_test); + CPPUNIT_TEST(new_url_test); + CPPUNIT_TEST(error_test); + + CPPUNIT_TEST_SUITE_END(); + + void new_variables_test() + { + BaseType *bt; + + bt = d4btf.NewVariable(dods_byte_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_char_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_uint8_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_int8_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_int16_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_uint16_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_int32_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_uint32_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_int64_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_uint64_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_enum_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && bt->is_dap4()); + // CPPUNIT_ASSERT(dynamic_cast(bt)); + delete bt; + bt = d4btf.NewVariable(dods_str_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_url_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_opaque_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && bt->is_dap4()); + // CPPUNIT_ASSERT(dynamic_cast(bt)); + delete bt; + bt = d4btf.NewVariable(dods_structure_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_sequence_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && bt->is_dap4()); + // CPPUNIT_ASSERT(dynamic_cast(bt)); + delete bt; + bt = d4btf.NewVariable(dods_array_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && dynamic_cast(bt) && bt->is_dap4()); + delete bt; + bt = d4btf.NewVariable(dods_group_c, "a"); + CPPUNIT_ASSERT(bt->name() == "a" && bt->is_dap4()); + // CPPUNIT_ASSERT(dynamic_cast(bt)); + delete bt; + } + + void new_url_test() + { + Url *up = d4btf.NewUrl("a"); + CPPUNIT_ASSERT(up->name() == "a" && dynamic_cast(up) && up->is_dap4()); + delete up; + } + + void error_test() + { + CPPUNIT_ASSERT_THROW(d4btf.NewVariable(dods_grid_c, "a"), InternalErr); + } +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(D4BaseTypeFactoryTest); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: D4BaseTypeFactoryTest has the following tests:" << endl; + const std::vector &tests = libdap::D4BaseTypeFactoryTest::suite()->getTests(); + unsigned int prefix_len = libdap::D4BaseTypeFactoryTest::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::D4BaseTypeFactoryTest::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/D4DimensionsTest.cc libdap-3.20.5/unit-tests/D4DimensionsTest.cc --- libdap-3.19.1/unit-tests/D4DimensionsTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4DimensionsTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -83,7 +83,7 @@ { d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_empty.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_empty.xml"); DBG(cerr << "test_print_empty: doc: " << doc << endl); DBG(cerr << "test_print_empty: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -95,7 +95,7 @@ d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_1.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_1.xml"); DBG(cerr << "test_print_1: doc: " << doc << endl); DBG(cerr << "test_print_1: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -108,7 +108,7 @@ d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_2.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_2.xml"); DBG(cerr << "test_print_2: doc: " << doc << endl); DBG(cerr << "test_print_2: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -159,7 +159,7 @@ d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_3.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_3.xml"); DBG(cerr << "test_print_varying: doc: " << doc << endl); DBG(cerr << "test_print_varying: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -177,7 +177,7 @@ d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_4.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_4.xml"); DBG(cerr << "test_print_insert_dim: doc: " << doc << endl); DBG(cerr << "test_print_insert_dim: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -193,7 +193,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_3.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_3.xml"); DBG(cerr << "test_print_assignment: doc: " << doc << endl); DBG(cerr << "test_print_assignment: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -209,7 +209,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_3.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Dimensions_3.xml"); DBG(cerr << "test_print_copy_ctor: doc: " << doc << endl); DBG(cerr << "test_print_copy_ctor: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); diff -Nru libdap-3.19.1/unit-tests/D4EnumDefsTest.cc libdap-3.20.5/unit-tests/D4EnumDefsTest.cc --- libdap-3.19.1/unit-tests/D4EnumDefsTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4EnumDefsTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -89,7 +89,7 @@ { d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_empty.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_empty.xml"); DBG(cerr << "test_print_empty: doc: " << doc << endl);DBG(cerr << "test_print_empty: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -102,7 +102,7 @@ e.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_values_1.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_values_1.xml"); DBG(cerr << "test_print_enum_values_only: doc: " << doc << endl);DBG(cerr << "test_print_enum_values_only: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -114,7 +114,7 @@ d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_1.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_1.xml"); DBG(cerr << "test_print_1: doc: " << doc << endl);DBG(cerr << "test_print_1: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -126,7 +126,7 @@ d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_2.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_2.xml"); DBG(cerr << "test_print_2: doc: " << doc << endl);DBG(cerr << "test_print_2: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -141,7 +141,7 @@ d->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_3.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_3.xml"); DBG(cerr << "test_print_insert_enum: doc: " << doc << endl);DBG(cerr << "test_print_insert_enum: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -155,7 +155,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_2.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_2.xml"); DBG(cerr << "test_print_assignment: doc: " << doc << endl);DBG(cerr << "test_print_assignment: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); } @@ -169,7 +169,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_2.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4EnumDefs_2.xml"); DBG(cerr << "test_print_copy_ctor: doc: " << doc << endl);DBG(cerr << "test_print_copy_ctor: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); } diff -Nru libdap-3.19.1/unit-tests/D4EnumTest.cc libdap-3.20.5/unit-tests/D4EnumTest.cc --- libdap-3.19.1/unit-tests/D4EnumTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4EnumTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -37,6 +37,7 @@ #include "GetOpt.h" #include "testFile.h" +#include "dods-limits.h" #include "test_config.h" static bool debug = false; @@ -123,9 +124,123 @@ void test_set_value3() { - D4Enum e("third", dods_int32_c); - e.set_value(-65535); - CPPUNIT_ASSERT((dods_int32)e.d_buf == -65535); + try { + D4Enum e("third", dods_int32_c); + e.set_value(-65535); + CPPUNIT_ASSERT((dods_int32 )e.d_buf == -65535); + } + catch (Error &e) { + CPPUNIT_FAIL(e.get_error_message()); + } + } + + void test_set_value_all() + { + try { + D4Enum b("b", dods_byte_c); + b.set_value(100); + CPPUNIT_ASSERT((dods_byte )b.d_buf == 100); + CPPUNIT_ASSERT_THROW(b.set_value((dods_int64)DODS_UCHAR_MAX + 1), Error); + CPPUNIT_ASSERT_THROW(b.set_value(-100), Error); + dods_byte uchar = 42, uchar_in; + void *uchar_inp = &uchar_in; + b.val2buf(&uchar, true); + CPPUNIT_ASSERT((dods_byte )b.d_buf == uchar); + b.buf2val(&uchar_inp); + CPPUNIT_ASSERT(uchar_in == uchar); + + D4Enum i8("i8", dods_int8_c); + i8.set_value(100); + CPPUNIT_ASSERT((dods_int8 )i8.d_buf == 100); + CPPUNIT_ASSERT_THROW(i8.set_value((dods_int64)DODS_SCHAR_MAX + 1), Error); + CPPUNIT_ASSERT_THROW(i8.set_value((dods_int64)DODS_SCHAR_MIN - 1), Error); + dods_int8 int8 = -43, int8_in; + void *int8_inp = &int8_in; + i8.val2buf(&int8, true); + CPPUNIT_ASSERT((dods_int8 )i8.d_buf == int8); + i8.buf2val(&int8_inp); + CPPUNIT_ASSERT(int8_in == int8); + + D4Enum i16("i16", dods_int16_c); + i16.set_value(100); + CPPUNIT_ASSERT((dods_int16 )i16.d_buf == 100); + CPPUNIT_ASSERT_THROW(i16.set_value((dods_int64)DODS_SHRT_MAX + 1), Error); + CPPUNIT_ASSERT_THROW(i16.set_value((dods_int64)DODS_SHRT_MIN - 1), Error); + dods_int16 int16 = -44, int16_in; + void *int16_inp = &int16_in; + i16.val2buf(&int16, true); + CPPUNIT_ASSERT((dods_int16 )i16.d_buf == int16); + i16.buf2val(&int16_inp); + CPPUNIT_ASSERT(int16_in == int16); + + D4Enum ui16("ui16", dods_uint16_c); + ui16.set_value(100); + CPPUNIT_ASSERT((dods_uint16 )ui16.d_buf == 100); + CPPUNIT_ASSERT_THROW(ui16.set_value((dods_int64)DODS_USHRT_MAX + 1), Error); + CPPUNIT_ASSERT_THROW(ui16.set_value((dods_int64 )-1), Error); + dods_uint16 uint16 = 45, uint16_in; + void *uint16_inp = &uint16_in; + ui16.val2buf(&uint16, true); + CPPUNIT_ASSERT((dods_uint16 )ui16.d_buf == uint16); + ui16.buf2val(&uint16_inp); + CPPUNIT_ASSERT(uint16_in == uint16); + + D4Enum i32("i32", dods_int32_c); + i32.set_value(100); + CPPUNIT_ASSERT((dods_int32 )i32.d_buf == 100); + CPPUNIT_ASSERT_THROW(i32.set_value((dods_int64)DODS_INT_MAX + 1), Error); + CPPUNIT_ASSERT_THROW(i32.set_value((dods_int64)DODS_INT_MIN - 1), Error); + dods_int32 int32 = -46, int32_in; + void *int32_inp = &int32_in; + i32.val2buf(&int32, true); + CPPUNIT_ASSERT((dods_int32 )i32.d_buf == int32); + i32.buf2val(&int32_inp); + CPPUNIT_ASSERT(int32_in == int32); + + D4Enum ui32("ui32", dods_uint32_c); + ui32.set_value(100); + CPPUNIT_ASSERT((dods_uint32 )ui32.d_buf == 100); + CPPUNIT_ASSERT_THROW(ui32.set_value((dods_int64)DODS_UINT_MAX + 1), Error); + CPPUNIT_ASSERT_THROW(ui32.set_value((dods_int64 )-1), Error); + dods_uint32 uint32 = 47, uint32_in; + void *uint32_inp = &uint32_in; + ui32.val2buf(&uint32, true); + CPPUNIT_ASSERT((dods_uint32 )ui32.d_buf == uint32); + ui32.buf2val(&uint32_inp); + CPPUNIT_ASSERT(uint32_in == uint32); + + D4Enum i64("i64", dods_int64_c); + i64.set_value(100); + CPPUNIT_ASSERT((dods_int64 )i64.d_buf == 100); + dods_int64 int64 = -48, int64_in; + void *int64_inp = &int64_in; + i64.val2buf(&int64, true); + CPPUNIT_ASSERT((dods_int64 )i64.d_buf == int64); + i64.buf2val(&int64_inp); + CPPUNIT_ASSERT(int64_in == int64); + + D4Enum ui64("ui64", dods_uint64_c); + ui64.set_value(100); + CPPUNIT_ASSERT((dods_uint64 )ui64.d_buf == 100); + dods_uint64 uint64 = 49, uint64_in; + void *uint64_inp = &uint64_in; + ui64.val2buf(&uint64, true); + CPPUNIT_ASSERT((dods_uint64 )ui64.d_buf == uint64); + ui64.buf2val(&uint64_inp); + CPPUNIT_ASSERT(uint64_in == uint64); + } + catch (Error &e) { + CPPUNIT_FAIL(e.get_error_message()); + } + } + + void test_ctor() + { + D4Enum ui64("ui64", "dataset", dods_uint64_c); + CPPUNIT_ASSERT(ui64.dataset() == "dataset"); + CPPUNIT_ASSERT_THROW(ui64.set_is_signed(dods_float32_c), InternalErr); + CPPUNIT_ASSERT_THROW(ui64.val2buf(0, true), InternalErr); + CPPUNIT_ASSERT_THROW(ui64.buf2val(0), InternalErr); } void test_value() @@ -180,12 +295,26 @@ e.print_dap4(xml); string doc = xml.get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Enum_1.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Enum_1.xml"); DBG(cerr << "test_print: doc: " << doc << endl); DBG(cerr << "test_print: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); } + void test_print_2() + { + D4Enum e("test", dods_int32_c); + D4EnumDef enum_def("Colors", dods_int32_c); + + e.set_enumeration(&enum_def); + e.set_value(200); + + ostringstream oss; + + e.print_val(oss, "", true); + CPPUNIT_ASSERT(oss.str().find("Enum test = 200;") != string::npos); + } + void test_print_val() { D4Enum e("test", dods_byte_c); @@ -198,12 +327,25 @@ e.print_val(oss, "", true); string doc = oss.str(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Enum_2.txt"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Enum_2.txt"); DBG(cerr << "test_print: doc: " << doc << endl); DBG(cerr << "test_print: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); } + void test_dump() + { + D4Enum e("spock", dods_byte_c); + D4EnumDef enum_def("Colors", dods_byte_c); + + e.set_enumeration(&enum_def); + e.set_value(200); + + ostringstream sof; + e.dump(sof); + CPPUNIT_ASSERT(sof.str().find("name: spock") != string::npos); + } + CPPUNIT_TEST_SUITE (D4EnumTest); CPPUNIT_TEST (test_first_ctor); @@ -218,7 +360,9 @@ CPPUNIT_TEST (test_set_value); CPPUNIT_TEST (test_set_value2); CPPUNIT_TEST (test_set_value3); + CPPUNIT_TEST (test_set_value_all); + CPPUNIT_TEST (test_ctor); CPPUNIT_TEST (test_value); CPPUNIT_TEST (test_value2); @@ -226,7 +370,9 @@ CPPUNIT_TEST (test_assignment); CPPUNIT_TEST (test_print); + CPPUNIT_TEST (test_print_2); CPPUNIT_TEST (test_print_val); + CPPUNIT_TEST (test_dump); CPPUNIT_TEST_SUITE_END(); }; diff -Nru libdap-3.19.1/unit-tests/D4FilterClauseTest.cc libdap-3.20.5/unit-tests/D4FilterClauseTest.cc --- libdap-3.19.1/unit-tests/D4FilterClauseTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4FilterClauseTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -106,6 +106,8 @@ { delete byte; delete str; + delete f32; + delete url; } // FilterClauseList tests further down... diff -Nru libdap-3.19.1/unit-tests/D4GroupTest.cc libdap-3.20.5/unit-tests/D4GroupTest.cc --- libdap-3.19.1/unit-tests/D4GroupTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4GroupTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -3,7 +3,7 @@ // This file is part of libdap, A C++ implementation of the OPeNDAP Data // Access Protocol. -// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Copyright (c) 2002,2003,2013 OPeNDAP, Inc. // Author: James Gallagher // // This library is free software; you can redistribute it and/or @@ -31,6 +31,7 @@ #include "D4Group.h" #include "D4Attributes.h" +#include "crc.h" #include "Byte.h" #include "Int64.h" #include "Structure.h" @@ -123,13 +124,92 @@ g->attributes()->add_attribute_nocopy(attr); } + void test_cons() + { + D4Group g1 = D4Group("a", "b"); + CPPUNIT_ASSERT(g1.name() == "a" && g1.dataset() == "b"); + } + + void test_assignment() + { + D4Group g1 = D4Group("a", "b"); + D4Group g2 = D4Group("c", "d"); + //g2 = g1; + CPPUNIT_ASSERT(g2.name() == "c" && g2.dataset() == "d"); + g2 = g1; + CPPUNIT_ASSERT(g2.name() == "a" && g2.dataset() == "b"); + + } + + void test_is_linear() + { + D4Group g1 = D4Group("a", "b"); + CPPUNIT_ASSERT(!g1.is_linear()); + } + + void test_errors() + { + D4Group g1 = D4Group("a", "b"); + Crc32 cs; + Constructor *c = &g1; + CPPUNIT_ASSERT_THROW(g1.find_dim("/"), InternalErr); + CPPUNIT_ASSERT_THROW(g1.find_enum_def("/"), InternalErr); + CPPUNIT_ASSERT_THROW(g1.find_var("/"), InternalErr); + CPPUNIT_ASSERT_THROW(g1.add_var(0), InternalErr); + CPPUNIT_ASSERT_THROW(c->compute_checksum(cs), InternalErr); + } + + void test_riter() + { + load_group_with_scalars(root); + int count = 0; + for (Constructor::Vars_riter r = root->var_rbegin(); r != root->var_rend(); r++) { + CPPUNIT_ASSERT((count == 0 && (*r)->name() == "i64") || (count == 1 && (*r)->name() == "b")); + count++; + } + } + + void test_get_iter() + { + load_group_with_scalars(root); + int count = 0; + for (Constructor::Vars_iter r = root->get_vars_iter(0); r != root->var_end(); r++) { + CPPUNIT_ASSERT((count == 0 && (*r)->name() == "b") || (count == 1 && (*r)->name() == "i64")); + count++; + } + } + + void test_get_var_index() + { + load_group_with_scalars(root); + BaseType *bt = root->get_var_index(0); + CPPUNIT_ASSERT(bt->name() == "b"); + bt = root->get_var_index(1); + CPPUNIT_ASSERT(bt->name() == "i64"); + } + + void test_delete_var() + { + load_group_with_scalars(root); + Constructor::Vars_iter r = root->get_vars_iter(0); + root->del_var(r); + BaseType *bt = root->get_var_index(0); + CPPUNIT_ASSERT(bt->name() == "i64"); + } + + void test_size() + { + D4Group g1 = D4Group("a", "b"); + CPPUNIT_ASSERT(g1.request_size(true) == 0); + } + // An empty D4Group object prints nothing; the XMLWriter class adds // a xml doc preface. void test_print_empty() { root->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_empty.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_empty.xml"); DBG(cerr << "test_print_empty: doc: " << doc << endl); DBG(cerr << "test_print_empty: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -139,7 +219,7 @@ { named->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_named_empty.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_named_empty.xml"); DBG(cerr << "test_print_named_empty: doc: " << doc << endl); DBG(cerr << "test_print_named_empty: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -151,7 +231,7 @@ root->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_with_scalars.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_with_scalars.xml"); DBG(cerr << "test_print_with_vars: doc: " << doc << endl); DBG(cerr << "test_print_with_vars: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -164,7 +244,7 @@ named->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_named_with_scalars.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_named_with_scalars.xml"); DBG(cerr << "test_print_named_with_vars: doc: " << doc << endl); DBG(cerr << "test_print_named_with_vars: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -177,7 +257,7 @@ root->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_with_scalars_and_stuff.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_with_scalars_and_stuff.xml"); DBG(cerr << "test_print_with_vars_and_stuff: doc: " << doc << endl); DBG(cerr << "test_print_with_vars_and_stuff: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -190,7 +270,7 @@ named->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_named_with_scalars_and_stuff.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_named_with_scalars_and_stuff.xml"); DBG(cerr << "test_print_named_with_vars_and_stuff: doc: " << doc << endl); DBG(cerr << "test_print_named_with_vars_and_stuff: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -241,7 +321,7 @@ root->print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_everything.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_everything.xml"); DBG(cerr << "test_print_with_vars_and_stuff: doc: " << doc << endl); DBG(cerr << "test_print_with_vars_and_stuff: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -261,7 +341,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_everything.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_everything.xml"); DBG(cerr << "test_print_copy_ctor: doc: " << doc << endl); DBG(cerr << "test_print_copy_ctor: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -281,7 +361,7 @@ lhs.print_dap4(*xml); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_everything.xml"); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/D4-xml/D4Group_everything.xml"); DBG(cerr << "test_print_assignment: doc: " << doc << endl); DBG(cerr << "test_print_assignment: baseline: " << baseline << endl); CPPUNIT_ASSERT(doc == baseline); @@ -337,8 +417,26 @@ CPPUNIT_ASSERT(btp && btp->FQN() == "/child/p.c.b"); } + void test_find_var_2() + { + // grp1 = new D4Group("Joey"); + // grp1->dims()->add_dim_nocopy(new D4Dimension("lat", 1024)); + // grp1->add_var_nocopy(new Byte("byte_var")); + + } + CPPUNIT_TEST_SUITE (D4GroupTest); + CPPUNIT_TEST (test_assignment); + CPPUNIT_TEST (test_cons); + CPPUNIT_TEST (test_is_linear); + CPPUNIT_TEST (test_errors); + CPPUNIT_TEST (test_size); + CPPUNIT_TEST (test_riter); + CPPUNIT_TEST (test_get_iter); + CPPUNIT_TEST (test_get_var_index); + CPPUNIT_TEST (test_delete_var); + CPPUNIT_TEST (test_print_empty); CPPUNIT_TEST (test_print_named_empty); @@ -359,6 +457,7 @@ CPPUNIT_TEST (test_fqn_2); CPPUNIT_TEST (test_fqn_3); CPPUNIT_TEST (test_fqn_4); + CPPUNIT_TEST (test_find_var_2); CPPUNIT_TEST_SUITE_END(); }; diff -Nru libdap-3.19.1/unit-tests/D4ParserSax2Test.cc libdap-3.20.5/unit-tests/D4ParserSax2Test.cc --- libdap-3.19.1/unit-tests/D4ParserSax2Test.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4ParserSax2Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -105,8 +105,8 @@ dmr->print_dap4(*xml, false); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + bl); - DBG(cerr << "DMR: " << doc << endl); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + bl); + DBG(cerr << "RESULT DMR: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } catch (Error &e) { @@ -117,15 +117,15 @@ void compare_dmr_round_trip_string_version(const string &src, const string &bl) { try { - string document = readTestBaseline(string(TEST_SRC_DIR) + src); + string document = read_test_baseline(string(TEST_SRC_DIR) + src); DBG(cerr << "Parsing: " << document << endl); parser->intern(document, dmr, parser_debug); dmr->print_dap4(*xml, false); string doc = xml->get_doc(); - string baseline = readTestBaseline(string(TEST_SRC_DIR) + bl); - DBG(cerr << "DMR: " << doc << endl); + string baseline = read_test_baseline(string(TEST_SRC_DIR) + bl); + DBG(cerr << "RESULT DMR: " << doc << endl); CPPUNIT_ASSERT(doc == baseline); } catch (Error &e) { diff -Nru libdap-3.19.1/unit-tests/D4SequenceTest.cc libdap-3.20.5/unit-tests/D4SequenceTest.cc --- libdap-3.19.1/unit-tests/D4SequenceTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4SequenceTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -107,9 +107,9 @@ s->output_values(oss); DBG(cerr << "s: " << oss.str() << endl); - DBG(cerr << "Baseline: " << readTestBaseline(prefix + s_txt) << endl); + DBG(cerr << "Baseline: " << read_test_baseline(prefix + s_txt) << endl); - CPPUNIT_ASSERT(oss.str() == readTestBaseline(prefix + s_txt)); + CPPUNIT_ASSERT(oss.str() == read_test_baseline(prefix + s_txt)); } void assignment_test() @@ -155,7 +155,7 @@ DBG(cerr << "one_clause_test, s: " << oss.str() << endl); CPPUNIT_ASSERT(s->length() == 1); - CPPUNIT_ASSERT(oss.str() == readTestBaseline(prefix + one_clause_txt)); + CPPUNIT_ASSERT(oss.str() == read_test_baseline(prefix + one_clause_txt)); } void two_clause_test() @@ -179,7 +179,7 @@ CPPUNIT_ASSERT(s->length() == 3); - CPPUNIT_ASSERT(oss.str() == readTestBaseline(prefix + two_clause_txt)); + CPPUNIT_ASSERT(oss.str() == read_test_baseline(prefix + two_clause_txt)); } void two_variable_test() @@ -203,7 +203,7 @@ CPPUNIT_ASSERT(s->length() == 1); // ...just happens to be hte same baseline file at one_clause_test() - CPPUNIT_ASSERT(oss.str() == readTestBaseline(prefix + one_clause_txt)); + CPPUNIT_ASSERT(oss.str() == read_test_baseline(prefix + one_clause_txt)); } CPPUNIT_TEST_SUITE (D4SequenceTest); diff -Nru libdap-3.19.1/unit-tests/D4UnMarshallerTest.cc libdap-3.20.5/unit-tests/D4UnMarshallerTest.cc --- libdap-3.19.1/unit-tests/D4UnMarshallerTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4UnMarshallerTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -277,7 +277,7 @@ DBG(cerr << "ck: " << ck << endl); CPPUNIT_ASSERT(ck == "199ad7f5"); - delete buf2; + delete[] buf2; } catch (Error &e) { cerr << "Error: " << e.get_error_message() << endl; Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/unit-tests/D4-xml/._coads_climatology.nc.xml and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/unit-tests/D4-xml/._coads_climatology.nc.xml differ diff -Nru libdap-3.19.1/unit-tests/D4-xml/DMR_0.1_baseline.xml libdap-3.20.5/unit-tests/D4-xml/DMR_0.1_baseline.xml --- libdap-3.19.1/unit-tests/D4-xml/DMR_0.1_baseline.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4-xml/DMR_0.1_baseline.xml 2020-02-17 07:35:45.000000000 +0000 @@ -17,6 +17,8 @@ 98.6 - barf + + barf + diff -Nru libdap-3.19.1/unit-tests/D4-xml/DMR_3.1_baseline.xml libdap-3.20.5/unit-tests/D4-xml/DMR_3.1_baseline.xml --- libdap-3.19.1/unit-tests/D4-xml/DMR_3.1_baseline.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4-xml/DMR_3.1_baseline.xml 2020-02-17 07:35:45.000000000 +0000 @@ -24,7 +24,9 @@ 98.6 - barf + + barf + diff -Nru libdap-3.19.1/unit-tests/D4-xml/DMR_3.3_baseline.xml libdap-3.20.5/unit-tests/D4-xml/DMR_3.3_baseline.xml --- libdap-3.19.1/unit-tests/D4-xml/DMR_3.3_baseline.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/D4-xml/DMR_3.3_baseline.xml 2020-02-17 07:35:45.000000000 +0000 @@ -26,7 +26,9 @@ 98.6 - barf + + barf + diff -Nru libdap-3.19.1/unit-tests/dasT.cc libdap-3.20.5/unit-tests/dasT.cc --- libdap-3.19.1/unit-tests/dasT.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/dasT.cc 2020-02-17 07:35:45.000000000 +0000 @@ -8,6 +8,9 @@ #include #include #include +#include +#include +#include // #define DODS_DEBUG @@ -15,6 +18,9 @@ #include "testFile.h" #include "GetOpt.h" +#include "InternalErr.h" +#include "Error.h" +#include using namespace std; using namespace libdap; @@ -55,8 +61,14 @@ class dasT: public CppUnit::TestFixture { - CPPUNIT_TEST_SUITE (dasT); - CPPUNIT_TEST (dasT_test);CPPUNIT_TEST_SUITE_END( ); + CPPUNIT_TEST_SUITE(dasT); + CPPUNIT_TEST(dasT_test); + CPPUNIT_TEST(das_file_test); + CPPUNIT_TEST(das_file_2_test); + CPPUNIT_TEST(das_dump_test); + CPPUNIT_TEST(das_dump_2_test); + CPPUNIT_TEST(das_erase_test); + CPPUNIT_TEST_SUITE_END(); private: /* TEST PRIVATE DATA */ @@ -154,10 +166,65 @@ // print to stream and compare results ostringstream strm; das.print(strm); - cout << strm.str() << endl; - cout << dprint << endl; + //cout << strm.str() << endl; + //cout << dprint << endl; CPPUNIT_ASSERT(strm.str() == dprint); } + + void das_file_test() + { + DAS d; + FILE *fp; + string file = (string)TEST_SRC_DIR + "/dds-testsuite/test.1.das"; + fp = fopen(file.c_str(), "r"); + d.parse(fp); + fclose(fp); + CPPUNIT_ASSERT(d.get_size() == 2); + CPPUNIT_ASSERT_THROW(d.parse((FILE *)0), InternalErr); + CPPUNIT_ASSERT_THROW(d.parse(""), Error); + } + + void das_file_2_test() + { + DAS d; + int fp; + string file = (string)TEST_SRC_DIR + "/dds-testsuite/test.1.das"; + fp = open(file.c_str(), O_RDONLY); + CPPUNIT_ASSERT_THROW(d.parse(-1), InternalErr); + d.parse(fp); + close(fp); + CPPUNIT_ASSERT(d.get_size() == 2); + } + + void das_dump_test() + { + DAS das; + ostringstream strm; + das.container_name("c1"); + das.dump(strm); + CPPUNIT_ASSERT(strm.str().find("current container: c1") != string::npos); + } + + void das_dump_2_test() + { + DAS das; + ostringstream strm; + das.dump(strm); + CPPUNIT_ASSERT(strm.str().find("current container: NONE") != string::npos); + } + + void das_erase_test() + { + DAS das; + das.container_name("c1"); + AttrTable *v1 = new AttrTable; + das.add_table("v1", v1); + v1->append_attr("v1a1", "String", "v1a1val"); + CPPUNIT_ASSERT(das.get_size() == 1); + das.erase(); + CPPUNIT_ASSERT(das.get_size() == 0); + } + }; CPPUNIT_TEST_SUITE_REGISTRATION (dasT); @@ -170,12 +237,12 @@ int option_char; while ((option_char = getopt()) != -1) - switch (option_char) { - case 'd': - debug = true; // debug is a static global - break; - case 'h': { // help - show test names - cerr << "Usage: dasT has the following tests:" << endl; + switch (option_char) { + case 'd': + debug = true; // debug is a static global + break; + case 'h': { // help - show test names + cerr << "Usage: dasT has the following tests:" << endl; const std::vector &tests = dasT::suite()->getTests(); unsigned int prefix_len = dasT::suite()->getName().append("::").length(); for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { @@ -186,10 +253,10 @@ default: break; } - + CppUnit::TextTestRunner runner; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); - + bool wasSuccessful = true; string test = ""; int i = getopt.optind; @@ -204,6 +271,6 @@ wasSuccessful = wasSuccessful && runner.run(test); } } - + return wasSuccessful ? 0 : 1; } diff -Nru libdap-3.19.1/unit-tests/das-testsuite/test_1.das libdap-3.20.5/unit-tests/das-testsuite/test_1.das --- libdap-3.19.1/unit-tests/das-testsuite/test_1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/das-testsuite/test_1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,6 @@ +Attributes{ + DODS_GLOBAL { + String About "This is used to test find_ancillary_das()"; + } +} + diff -Nru libdap-3.19.1/unit-tests/ddsT.cc libdap-3.20.5/unit-tests/ddsT.cc --- libdap-3.19.1/unit-tests/ddsT.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/ddsT.cc 2020-02-17 07:35:45.000000000 +0000 @@ -8,6 +8,10 @@ #include #include #include +#include +#include +#include +#include // #define DODS_DEBUG @@ -37,6 +41,7 @@ #include "testFile.h" #include "GetOpt.h" +#include using namespace CppUnit; using namespace std; @@ -96,13 +101,18 @@ class ddsT: public CppUnit::TestFixture { - CPPUNIT_TEST_SUITE (ddsT); - CPPUNIT_TEST (ddsT_test); - CPPUNIT_TEST (ddsT_containers);CPPUNIT_TEST_SUITE_END( ); + CPPUNIT_TEST_SUITE(ddsT); + CPPUNIT_TEST(ddsT_test); + CPPUNIT_TEST(ddsT_containers); + CPPUNIT_TEST(major_minor_test); + CPPUNIT_TEST(parse_test); + CPPUNIT_TEST(parse_2_test); + CPPUNIT_TEST_SUITE_END(); private: /* TEST PRIVATE DATA */ TestTypeFactory *factory; + char a[1024]; public: void setUp() @@ -143,6 +153,7 @@ try { BaseType *bt = factory->NewInt16("var1"); + CPPUNIT_ASSERT_THROW(dds.add_var_nocopy(0), InternalErr); dds.add_var(bt); delete bt; bt = factory->NewInt16("var2"); @@ -185,6 +196,14 @@ CPPUNIT_FAIL("failed to add a var"); } + DDS dds2(dds); + CPPUNIT_ASSERT(dds2.num_var() == 8); + DDS dds3(factory, "TestDDS3"); + dds3 = dds2; + CPPUNIT_ASSERT(dds3.num_var() == 8); + dds3 = dds3; + CPPUNIT_ASSERT(dds3.num_var() == 8); + int nv = dds.num_var(); CPPUNIT_ASSERT(nv == 8); @@ -212,7 +231,7 @@ else if (dvsc == dds.var_end() && vsc != vs.end()) { CPPUNIT_FAIL("Too few vars"); } - + for (vsc = vs.begin(); vsc != vs.end(); vsc++) { if (*vsc == "var2") { vs_iter &vsi = (vs_iter &) vsc; @@ -221,6 +240,15 @@ } } + int count = 0; + for (DDS::Vars_riter rv = dds.var_rbegin(); rv != dds.var_rend(); rv++) + count++; + CPPUNIT_ASSERT(count == 8); + DDS::Vars_iter vi = dds.get_vars_iter(4); + CPPUNIT_ASSERT((*vi)->name() == "var5"); + BaseType *v5 = dds.get_var_index(4); + CPPUNIT_ASSERT(v5->name() == "var5"); + dvsc = dds.var_begin(); vsc = vs.begin(); for (; dvsc != dds.var_end() && vsc != vs.end(); dvsc++, vsc++) { @@ -360,6 +388,48 @@ } { + FILE *fp; + fp = fopen("ddsT_print.output", "w"); + dds.print(fp); + fclose(fp); + ifstream ifs("ddsT_print.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "Test%20Data%20Set;")); + } + + { + FILE *fp; + fp = fopen("ddsT_print_constrained.output", "w"); + dds.print_constrained(fp); + fclose(fp); + ifstream ifs("ddsT_print_constrained.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "Test%20Data%20Set;")); + } + + { + ostringstream sof; + dds.print_xml(sof, true, "ss"); + CPPUNIT_ASSERT(sof.str().find("> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "")); + } + + { ostringstream sof; dds.print_constrained(sof); CPPUNIT_ASSERT(sof.str().find(nprint) != string::npos); @@ -584,9 +654,63 @@ // print the dds and make sure it looks good. ostringstream sstrm; dds.print(sstrm); - cout << sstrm.str() << endl; + //cout << sstrm.str() << endl; CPPUNIT_ASSERT(sstrm.str() == containerprint); } + + void major_minor_test() + { + DDS dds(factory, "TestDDS"); + dds.set_dap_major(3); + dds.set_dap_minor(4); + CPPUNIT_ASSERT(dds.get_dap_version() == "3.4"); + + // DDS does not protect against negatives, in spite of what + // the code comments say. This has been entered as HYRAX issue + // 650. + // dds.set_dap_major(-3); + // dds.set_dap_minor(-4); + // cout<transfer_attributes(&das); - DBG2(dds1->print_xml(cerr, false, "")); + DBG(dds1->print_xml(cerr, false, "")); AttrTable &at = dds1->get_attr_table(); AttrTable::Attr_iter i = at.attr_begin(); @@ -174,7 +183,7 @@ das.parse((string) TEST_SRC_DIR + "/dds-testsuite/3B42.980909.5.hacked.HDF.das"); dds2->transfer_attributes(&das); - DBG2(dds2->print_xml(cerr, false, "")); + DBG(dds2->print_xml(cerr, false, "")); AttrTable &at = dds2->get_attr_table(); AttrTable::Attr_iter i = at.attr_begin(); @@ -213,10 +222,14 @@ dds2->parse((string) TEST_SRC_DIR + "/dds-testsuite/test.19b"); ostringstream oss; dds2->print_xml_writer(oss, false, "http://localhost/dods/test.xyz"); - DBG2(cerr << "Printed DDX: " << oss.str() << endl); + DBG(cerr << "Printed DDX: " << oss.str() << endl); - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19b.xml"); - DBG2(cerr << "The baseline: " << baseline << endl); +#if DAP2_DDX + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19b.dap2.xml"); +#else + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19b.xml"); +#endif + DBG(cerr << "The baseline: " << baseline << endl); CPPUNIT_ASSERT(baseline == oss.str()); } @@ -237,10 +250,14 @@ ostringstream oss; dds2->print_xml_writer(oss, false, "http://localhost/dods/test.xyz"); - DBG2(cerr << oss.str() << endl); + DBG(cerr << oss.str() << endl); - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19c.xml"); - DBG2(cerr << baseline << endl); +#if DAP2_DDX + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19c.dap2.xml"); +#else + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19c.xml"); +#endif + DBG(cerr << baseline << endl); CPPUNIT_ASSERT(baseline == oss.str()); } @@ -255,10 +272,15 @@ ostringstream oss; dds2->print_xml_writer(oss, false, "http://localhost/dods/test.xyz"); - DBG2(cerr << oss.str() << endl); + DBG(cerr << oss.str() << endl); + +#if DAP2_DDX + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19d.dap2.xml"); +#else + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19d.xml"); +#endif - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19d.xml"); - DBG2(cerr << baseline << endl); + DBG(cerr << baseline << endl); CPPUNIT_ASSERT(baseline == oss.str()); } @@ -275,10 +297,10 @@ ostringstream oss; dds2->print_xml_writer(oss, false, "http://localhost/dods/test.xyz"); - DBG2(cerr << oss.str() << endl); + DBG(cerr << oss.str() << endl); - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19d1.xml"); - DBG2(cerr << baseline << endl); + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19d1.xml"); + DBG(cerr << baseline << endl); CPPUNIT_ASSERT(baseline == oss.str()); } @@ -297,8 +319,12 @@ DBG(cerr << oss.str() << endl); - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19e.xml"); - DBG2(cerr << baseline << endl); +#if DAP2_DDX + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19e.dap2.xml"); +#else + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19e.xml"); +#endif + DBG(cerr << baseline << endl); CPPUNIT_ASSERT(baseline == oss.str()); } @@ -309,8 +335,13 @@ DAS das; string das_file((string) TEST_SRC_DIR + "/dds-testsuite/test.19f.das"); das.parse(das_file); + +#if DAP2_DDX + string baseline_file((string) TEST_SRC_DIR + "/dds-testsuite/test.19f.dap2.xml"); +#else string baseline_file((string) TEST_SRC_DIR + "/dds-testsuite/test.19f.xml"); - string baseline = readTestBaseline(baseline_file); +#endif + string baseline = read_test_baseline(baseline_file); try { dds2->transfer_attributes(&das); @@ -357,8 +388,8 @@ DBG(cerr << oss.str() << endl); - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19f1.xml"); - DBG2(cerr << baseline << endl); + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19f1.xml"); + DBG(cerr << baseline << endl); CPPUNIT_ASSERT(baseline == oss.str()); } @@ -375,8 +406,13 @@ DBG(cerr << oss.str() << endl); - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19b6.xml"); - DBG2(cerr << baseline << endl); +#if DAP2_DDX + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19b6.dap2.xml"); +#else + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19b6.xml"); +#endif + + DBG(cerr << baseline << endl); CPPUNIT_ASSERT(baseline == oss.str()); } @@ -403,8 +439,8 @@ DBG(cerr << oss.str() << endl); - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19g.xml"); - DBG2(cerr << baseline << endl); + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/test.19g.xml"); + DBG(cerr << baseline << endl); CPPUNIT_ASSERT(baseline == oss.str()); } @@ -424,7 +460,7 @@ ostringstream oss; dds_dap4->print_dmr(oss, false); - string baseline = readTestBaseline((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.dmr.xml"); + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.dmr.xml"); DBG(cerr << "Baseline: -->" << baseline << "<--" << endl); DBG(cerr << "DMR: -->" << oss.str() << "<--" << endl); @@ -508,6 +544,174 @@ CPPUNIT_ASSERT(dds2->get_request_size(true) == 4); } + // Build a DDS with attributes, then check that get_das() returns the correct thing + void get_das_test_1() { + try { + BaseTypeFactory btf; + DDS dds(&btf); + dds.parse((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.dds"); + DAS das; + das.parse((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.das"); + dds.transfer_attributes(&das); + + auto_ptr new_das(dds.get_das()); + + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.das"); + ostringstream oss; + new_das->print(oss); + + DBG(cerr << "Baseline: -->" << baseline << "<--" << endl); + DBG(cerr << "DAS: -->" << oss.str() << "<--" << endl); + + CPPUNIT_ASSERT(baseline == oss.str()); + } + catch (Error &e) { + CPPUNIT_FAIL(e.get_error_message()); + } + } + + // Build a DMR, then check that get_das() returns the correct thing. Note that the + // order of the attr tables is not exactly the same because the DMR treats Grids + // differently. In the DMR, DAP2 Grid maps become shared dimensions and those are + // output last. In a DAP2 DDS, they (maps) are added as 'extra' variables are written + // first. Thus the attribute containers for maps/shared dims are either first or last + // for DAP2 or DAP4, resp. + void get_das_test_2() { + try { + D4BaseTypeFactory d4_factory; + DMR dmr(&d4_factory); + D4ParserSax2 parser; + + ifstream ifs((string(TEST_SRC_DIR) + "/dmr-testsuite/coads_climatology.nc.full.dmr").c_str()); + + parser.intern(ifs, &dmr); + + auto_ptr dds(dmr.getDDS()); + auto_ptr das(dds->get_das()); + + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/dmr-testsuite/coads_climatology.nc.full.dmr.das"); + ostringstream oss; + das->print(oss); + + DBG(cerr << "Baseline: -->" << baseline << "<--" << endl); + DBG(cerr << "DAS: -->" << oss.str() << "<--" << endl); + + CPPUNIT_ASSERT(baseline == oss.str()); + } + catch (Error &e) { + CPPUNIT_FAIL(e.get_error_message()); + } + } + + // Test the case whee there are no attribtues for variables + void get_das_test_3() { + try { + BaseTypeFactory btf; + DDS dds(&btf); + dds.parse((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.dds"); + DAS das; + das.parse((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.das.no_var"); + dds.transfer_attributes(&das); + + auto_ptr new_das(dds.get_das()); + + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.das.no_var"); + ostringstream oss; + new_das->print(oss); + + DBG(cerr << "Baseline: -->" << baseline << "<--" << endl); + DBG(cerr << "DAS: -->" << oss.str() << "<--" << endl); + + CPPUNIT_ASSERT(baseline == oss.str()); + } + catch (Error &e) { + CPPUNIT_FAIL(e.get_error_message()); + } + } + + // Test the case where there are no global attributes + void get_das_test_4() { + try { + BaseTypeFactory btf; + DDS dds(&btf); + dds.parse((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.dds"); + DAS das; + das.parse((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.das.no_global"); + dds.transfer_attributes(&das); + + auto_ptr new_das(dds.get_das()); + + string baseline = read_test_baseline((string) TEST_SRC_DIR + "/dds-testsuite/fnoc1.nc.das.no_global"); + ostringstream oss; + new_das->print(oss); + + DBG(cerr << "Baseline: -->" << baseline << "<--" << endl); + DBG(cerr << "DAS: -->" << oss.str() << "<--" << endl); + + CPPUNIT_ASSERT(baseline == oss.str()); + } + catch (Error &e) { + CPPUNIT_FAIL(e.get_error_message()); + } + } + + // Test the case where there are orphaned global attributes (one w/o an enclosing container). + void get_das_test_5() + { + try { + D4BaseTypeFactory d4_factory; + DMR dmr(&d4_factory); + D4ParserSax2 parser; + + ifstream ifs((string(TEST_SRC_DIR) + "/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr").c_str()); + + parser.intern(ifs, &dmr); + + auto_ptr dds(dmr.getDDS()); + auto_ptr das(dds->get_das()); + + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr.baseline"); + ostringstream oss; + das->print(oss); + + DBG(cerr << "Baseline: -->" << baseline << "<--" << endl); + DBG(cerr << "DAS: -->" << oss.str() << "<--" << endl); + + CPPUNIT_ASSERT(baseline == oss.str()); + } + catch (Error &e) { + CPPUNIT_FAIL(e.get_error_message()); + } + } + + // Test the code that tests for a unique top-level attribute container name for orphaned TL attributes. + void get_das_test_6() { + try { + D4BaseTypeFactory d4_factory; + DMR dmr(&d4_factory); + D4ParserSax2 parser; + + ifstream ifs((string(TEST_SRC_DIR) + "/dmr-to-dap2-testsuite/hacked.dmrpp.dmr").c_str()); + + parser.intern(ifs, &dmr); + + auto_ptr dds(dmr.getDDS()); + auto_ptr das(dds->get_das()); + + string baseline = read_test_baseline(string(TEST_SRC_DIR) + "/dmr-to-dap2-testsuite/hacked.dmrpp.dmr.baseline"); + ostringstream oss; + das->print(oss); + + DBG(cerr << "Baseline: -->" << baseline << "<--" << endl); + DBG(cerr << "DAS: -->" << oss.str() << "<--" << endl); + + CPPUNIT_ASSERT(baseline == oss.str()); + } + catch (Error &e) { + CPPUNIT_FAIL(e.get_error_message()); + } + } + }; CPPUNIT_TEST_SUITE_REGISTRATION(DDSTest); diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/fnoc1.nc.das.no_global libdap-3.20.5/unit-tests/dds-testsuite/fnoc1.nc.das.no_global --- libdap-3.19.1/unit-tests/dds-testsuite/fnoc1.nc.das.no_global 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/fnoc1.nc.das.no_global 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,25 @@ +Attributes { + u { + String units "meter per second"; + String long_name "Vector wind eastward component"; + String missing_value "-32767"; + String scale_factor "0.005"; + String DODS_Name "UWind"; + } + v { + String units "meter per second"; + String long_name "Vector wind northward component"; + String missing_value "-32767"; + String scale_factor "0.005"; + String DODS_Name "VWind"; + } + lat { + String units "degree North"; + } + lon { + String units "degree East"; + } + time { + String units "hours from base_time"; + } +} diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/fnoc1.nc.das.no_var libdap-3.20.5/unit-tests/dds-testsuite/fnoc1.nc.das.no_var --- libdap-3.19.1/unit-tests/dds-testsuite/fnoc1.nc.das.no_var 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/fnoc1.nc.das.no_var 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,9 @@ +Attributes { + NC_GLOBAL { + String base_time "88- 10-00:00:00"; + String title " FNOC UV wind components from 1988- 10 to 1988- 13."; + } + DODS_EXTRA { + String Unlimited_Dimension "time_a"; + } +} diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19b6.dap2.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19b6.dap2.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19b6.dap2.xml 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19b6.dap2.xml 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,53 @@ + + + + + Attribute merge test + + + 2 + 3 + 5 + 7 + 11 + + + + + + b pound c + + + + + + + c d with a WWW escape sequence + + + + Attributes inside attributes + + + 3.1415 + + + + + + The Grid huh + + + + + + + + The color map vector + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19b6.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19b6.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19b6.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19b6.xml 2020-02-17 07:35:45.000000000 +0000 @@ -1,5 +1,5 @@ - + Attribute merge test @@ -49,5 +49,5 @@ - + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19b.dap2.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19b.dap2.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19b.dap2.xml 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19b.dap2.xml 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19b.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19b.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19b.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19b.xml 2020-02-17 07:35:45.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -16,5 +16,5 @@ - + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19c.dap2.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19c.dap2.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19c.dap2.xml 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19c.dap2.xml 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,17 @@ + + + + + Attribute merge test + + + 2 + 3 + 5 + 7 + 11 + + + + + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19c.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19c.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19c.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19c.xml 2020-02-17 07:35:45.000000000 +0000 @@ -1,5 +1,5 @@ - + Attribute merge test @@ -13,5 +13,5 @@ - + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19d.dap2.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19d.dap2.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19d.dap2.xml 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19d.dap2.xml 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,11 @@ + + + + + b pound c + + + + + + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19d.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19d.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19d.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19d.xml 2020-02-17 07:35:45.000000000 +0000 @@ -1,5 +1,5 @@ - + b pound c @@ -7,5 +7,5 @@ - + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19e.dap2.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19e.dap2.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19e.dap2.xml 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19e.dap2.xml 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,17 @@ + + + + + c d with a WWW escape sequence + + + + Attributes inside attributes + + + 3.1415 + + + + + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19e.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19e.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19e.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19e.xml 2020-02-17 07:35:45.000000000 +0000 @@ -1,5 +1,5 @@ - + c d with a WWW escape sequence @@ -13,5 +13,5 @@ - + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19f.dap2.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19f.dap2.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19f.dap2.xml 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19f.dap2.xml 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ + + + + + The Grid huh + + + + + + + + The color map vector + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dds-testsuite/test.19f.xml libdap-3.20.5/unit-tests/dds-testsuite/test.19f.xml --- libdap-3.19.1/unit-tests/dds-testsuite/test.19f.xml 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/dds-testsuite/test.19f.xml 2020-02-17 07:35:45.000000000 +0000 @@ -1,5 +1,5 @@ - + The Grid huh @@ -16,5 +16,5 @@ - + diff -Nru libdap-3.19.1/unit-tests/DmrRoundTripTest.cc libdap-3.20.5/unit-tests/DmrRoundTripTest.cc --- libdap-3.19.1/unit-tests/DmrRoundTripTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/DmrRoundTripTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -59,9 +59,12 @@ #include "test_config.h" static bool debug = false; +static bool debug2 = false; #undef DBG #define DBG(x) do { if (debug) {x;} } while(false) +#undef DBG2 +#define DBG2(x) do { if (debug2) {x;} } while(false) using namespace CppUnit; using namespace std; @@ -115,16 +118,15 @@ BaseTypeFactory factory; DDS dds(&factory, dds_file); dds.parse(prefix + dds_file); - DBG(cerr << "SOURCE DDS: " << prefix + dds_file << endl; dds.print(cerr)); + DBG2(cerr << "SOURCE DDS: " << prefix + dds_file << endl; dds.print(cerr)); if (!das_file.empty()) { DAS das; das.parse(prefix + das_file); dds.transfer_attributes(&das); - DBG(cerr << "SOURCE DAS: " << prefix + das_file << endl; das.print(cerr)); + DBG2(cerr << "SOURCE DAS: " << prefix + das_file << endl; das.print(cerr)); - DBG(cerr << "dds.print_das(): " << endl; dds.print_das(cerr)); - // DBG(cerr << "dds.print_xml(): " << endl; dds.print_xml(cerr,false,"blob_foo")); + DBG2(cerr << "dds.print_das(): " << endl; dds.print_das(cerr)); } D4BaseTypeFactory d4_factory; @@ -139,7 +141,7 @@ } void test_roundtrip_template(const string &dds_file, const string &dmr_baseline, const string &das_file = "") - // bool expected_fail = false) + // bool expected_fail = false) { DBG(cerr << __func__ << "() - BEGIN" << endl); @@ -148,11 +150,10 @@ dmr = build_dmr(dds_file, das_file); XMLWriter xml; dmr->print_dap4(xml); - DBG(cerr << "DMR: " << endl << xml.get_doc() << endl); string prefix = string(TEST_SRC_DIR) + THE_TESTS_DIR; string result_dmr(xml.get_doc()); - string baseline_dmr = readTestBaseline(prefix + dmr_baseline); + string baseline_dmr = read_test_baseline(prefix + dmr_baseline); DBG( cerr << "BASELINE DMR(" << baseline_dmr.size() << " chars): " << prefix + dmr_baseline << endl << baseline_dmr << endl); @@ -164,7 +165,7 @@ std::ostringstream result_dds; dds->print(result_dds); - string source_dds = readTestBaseline(prefix + dds_file); + string source_dds = read_test_baseline(prefix + dds_file); DBG( cerr << "SOURCE DDS(" << source_dds.size() << " chars): " << prefix + dds_file << endl << source_dds << endl); @@ -176,7 +177,7 @@ std::ostringstream result_das; dds->print_das(result_das); - string source_das = readTestBaseline(prefix + das_file); + string source_das = read_test_baseline(prefix + das_file); DBG( cerr << "SOURCE DAS(" << source_das.size() << " chars): " << prefix + das_file << endl << source_das << endl); @@ -254,7 +255,8 @@ #if 0 i_am_broken(__func__); #endif - test_roundtrip_template("coads_climatology.nc.dds", "coads_climatology.nc.full.dmr", "coads_climatology.nc.correct.das"); + test_roundtrip_template("coads_climatology.nc.dds", "coads_climatology.nc.full.dmr", + "coads_climatology.nc.correct.das"); DBG(cerr << __func__ << "() - END" << endl); } @@ -264,7 +266,8 @@ #if 0 i_am_broken(__func__); #endif - test_roundtrip_template("coads_climatology.nc.dds", "coads_climatology.nc.full.dmr", "coads_climatology.nc.flat.das"); + test_roundtrip_template("coads_climatology.nc.dds", "coads_climatology.nc.full.dmr", + "coads_climatology.nc.flat.das"); DBG(cerr << __func__ << "() - END" << endl); } @@ -280,8 +283,8 @@ CPPUNIT_TEST(test_grid_rt_02); CPPUNIT_TEST(test_grid_rt_03); #else - CPPUNIT_TEST_FAIL (test_grid_rt_02); - CPPUNIT_TEST_FAIL (test_grid_rt_03); + CPPUNIT_TEST_FAIL(test_grid_rt_02); + CPPUNIT_TEST_FAIL(test_grid_rt_03); #endif CPPUNIT_TEST_SUITE_END() diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.2.HDF.attr.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.2.HDF.attr.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.2.HDF.attr.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.2.HDF.attr.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + -9999 + + + PGE + + + FALSE + + + + + 1998/09/09 + + + PGE + + + FALSE + + + + + + dim_0_scan + dim_1_longitude + dim_2_latitude + + + + + dim_0_scan + dim_1_longitude + dim_2_latitude + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.2.HDF.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.2.HDF.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.2.HDF.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.2.HDF.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,32 @@ +Attributes { + CoreMetadata { + OrbitNumber { + Int32 Value -9999; + String Data_Location PGE; + String Mandatory FALSE; + } + RangeBeginningDate { + String Value 1998/09/09; + String Data_Location PGE; + String Mandatory FALSE; + } + } + percipitate { + String name "dim_0_scan"; + } + percipitate { + String name "dim_1_longitude"; + } + percipitate { + String name "dim_2_latitude"; + } + relError { + String name "dim_0_scan"; + } + relError { + String name "dim_1_longitude"; + } + relError { + String name "dim_2_latitude"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.HDF.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.HDF.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.HDF.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.hacked.HDF.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,34 @@ +Attributes { + HDF_GLOBAL { + } + CoreMetadata { + OrbitNumber { + Int32 Value -9999; + String Data_Location PGE; + String Mandatory FALSE; + } + RangeBeginningDate { + String Value 1998/09/09; + String Data_Location PGE; + String Mandatory FALSE; + } + } + percipitate_dim_0 { + String name "scan"; + } + percipitate_dim_1 { + String name "longitude"; + } + percipitate_dim_2 { + String name "latitude"; + } + relError_dim_0 { + String name "scan"; + } + relError_dim_1 { + String name "longitude"; + } + relError_dim_2 { + String name "latitude"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,624 @@ +Attributes { + CoreMetadata { + OrbitNumber { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RangeBeginningDate { + String Value "1998/09/09"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RangeBeginningTime { + String Value "00:00:00"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RangeEndingDate { + String Value "1998/09/10"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RangeEndingTime { + String Value "00:00:00"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + GranulePointer { + String Value "3B42.980909.5.HDF"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ShortName { + String Value "Surface Rain from Geostationary Satellites C"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SizeMBECSDataGranule { + Float64 Value 0.220007; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LongitudeOfMaximumLatitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SpatialCoverageType { + String Value "Horizontal"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EllipsoidName { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EquatorialRadius { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DenominatorFlatteningRatio { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitalModelName { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SemiMajorAxis { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MeanAnomaly { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RightAscensionNode { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ArgumentOfPerigee { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + Eccentricity { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + Inclination { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EpochTime { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EpochDate { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EpochMillisec { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + WestBoundingCoordinate { + Int32 Value -180; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EastBoundingCoordinate { + Int32 Value 180; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + NorthBoundingCoordinate { + Int32 Value 40; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SouthBoundingCoordinate { + Int32 Value -40; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterLatitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterLongitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadiusValue { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LatitudeResolution { + String Value "1deg"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LongitudeResolution { + String Value "1deg"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + GeographicCoordinateUnits { + String Value "Decimal Degrees"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + TemporalRangeType { + String Value "Continuous Range"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + QualityAssuranceParameterName { + String Value "ScienceQualityFlag"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + QualityAssuranceParameterValue { + String Value "NOT BEING INVESTIGATED"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ReprocessingActual { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + BrowsePointer { + String Value "3B42_BR.980909.5.BRO"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ScienceContact { + String Value "George Huffman"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MeanMotion { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitAdjustFlag { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + AttitudeModeFlag { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SolarBetaAngleAtBeginningOfGranule { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SolarBetaAngleAtEndOfGranule { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SensorAlignment { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SensorAlignmentChannelOffsets { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ScanPathModel { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ScanPathModelParam { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EphemerisFileID { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + } + ArchiveMetadata { + DataGaps { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + NumberOfDataGaps { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + AlgorithmVersion { + String Value "4.51"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ProductVersion { + Int32 Value 5; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ToolkitVersion { + String Value "5.6"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CalibrationCoefficientVersion { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MissingData { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + PercentOfBadOrMissingPixels { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MaximumValidValueofChannel { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MinimumValidValueofChannel { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MinMaxUnits { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitSize { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarWavelength { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MinimumReflectivityThreshold { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + AlgorithmID { + String Value "3B42m2"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DataAccuracy { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + InputFiles { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DateOfGenerationOfInputFiles { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DataCenterSourceOfInputFiles { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + GenerationDate { + String Value "2000-02-09T11:00:04.000Z"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DayNight { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SolarChannelGains { + String Value "(-9999.9,-9999.9,-9999.9,-9999.9)"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + TMIRolloverCoef { + String Value "(-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9)"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstScanUTCDate { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstScanUTCTime { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstScanUTCMilliseconds { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstSCSecs { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstSCSubsecs { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastScanUTCDate { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastScanUTCTime { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastScanUTCmilliseconds { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastSCSecs { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastSCSubsecs { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCFSeconds { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCFSubseconds { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCFflag { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LeapSecondsFlag { + String Value "Data_Location", "Error processing EOS attributes", "Error processing EOS attributes"; + String PGE "Error processing EOS attributes"; + String Mandatory "FALSE"; + } + RadarSiteName { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarCity { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarState { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarCountry { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + NumberOfVOS { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridOriginLatitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridOriginLongitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridOriginAltitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSpacingX { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSpacingY { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSpacingZ { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSizeX { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSizeY { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSizeZ { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DZCal { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + GVL1C_Scale { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + Alpha { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RuntimeOptions { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + AnomalyFlag { + String Value "NOT EMPTY"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SoftwareVersion { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DatabaseVersion { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + TotalQualityCode { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LongitudeOnEquator { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCDateOnEquator { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCTimeOnEquator { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCMillisecsOnEquator { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterScanUTCDate { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterScanUTCTime { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterScanUTCMillisec { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + FirstScanLat { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + FirstScanLon { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LastScanLat { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LastScanLon { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + NumberOfRainScans { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + } + percipitate_dim_0 { + String name "scan"; + } + percipitate_dim_1 { + String name "longitude"; + } + percipitate_dim_2 { + String name "latitude"; + } + relError_dim_0 { + String name "scan"; + } + relError_dim_1 { + String name "longitude"; + } + relError_dim_2 { + String name "latitude"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.dds libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.dds --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,8 @@ +Dataset { + Structure { + Structure { + Float32 percipitate[scan = 1][longitude = 360][latitude = 80]; + Float32 relError[scan = 1][longitude = 360][latitude = 80]; + } PlanetaryGrid; + } DATA_GRANULE; +} 3B42.980909.5.HDF; diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.full.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.full.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.full.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/3B42.980909.5.HDF.full.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,1376 @@ + + + + + + + + + + + + + + + + + + + + + + + -9999 + + + PGE + + + FALSE + + + + + 1998/09/09 + + + PGE + + + FALSE + + + + + 00:00:00 + + + PGE + + + FALSE + + + + + 1998/09/10 + + + PGE + + + FALSE + + + + + 00:00:00 + + + PGE + + + FALSE + + + + + 3B42.980909.5.HDF + + + PGE + + + FALSE + + + + + Surface Rain from Geostationary Satellites C + + + PGE + + + FALSE + + + + + 0.220007 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + Horizontal + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -180 + + + PGE + + + FALSE + + + + + 180 + + + PGE + + + FALSE + + + + + 40 + + + PGE + + + FALSE + + + + + -40 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 1deg + + + PGE + + + FALSE + + + + + 1deg + + + PGE + + + FALSE + + + + + Decimal Degrees + + + PGE + + + FALSE + + + + + Continuous Range + + + PGE + + + FALSE + + + + + ScienceQualityFlag + + + PGE + + + FALSE + + + + + NOT BEING INVESTIGATED + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + 3B42_BR.980909.5.BRO + + + PGE + + + FALSE + + + + + George Huffman + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 4.51 + + + PGE + + + FALSE + + + + + 5 + + + PGE + + + FALSE + + + + + 5.6 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 3B42m2 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + 2000-02-09T11:00:04.000Z + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + (-9999.9,-9999.9,-9999.9,-9999.9) + + + PGE + + + FALSE + + + + + (-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9) + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + Data_Location + Error processing EOS attributes + Error processing EOS attributes + + + Error processing EOS attributes + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NOT EMPTY + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + + scan + + + + + longitude + + + + + latitude + + + + + scan + + + + + longitude + + + + + latitude + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_00.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_00.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_00.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_00.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ +Attributes { + NSCAT%20Rev%2020 { + WVC_Lat { + String long_name "latitude"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + Int16 valid_range -9000, 7771; + } + } + HDF_GLOBAL { + String Producer_Agency "OPeNDAP\\000"; + String Producer_Institution "OPENDAP\\000"; + String Sensor_Name "TESTS\\000"; + String Project_ID "TESTS\\000"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_00.dds libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_00.dds --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_00.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_00.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,5 @@ +Dataset { + Structure { + Int16 WVC_Lat[row = 458][WVC = 24]; + } NSCAT%20Rev%2020; +} S2000415.HDF; diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_00.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_00.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_00.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_00.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,50 @@ + + + + + + + + + + latitude + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 22 + + + -9000 + 7771 + + + + + + OPeNDAP\\000 + + + OPENDAP\\000 + + + TESTS\\000 + + + TESTS\\000 + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_01.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_01.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_01.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_01.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,51 @@ +Attributes { + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSY { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + SST { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "SEA SURFACE TEMPERATURE"; + String history "From coads_climatology"; + String units "Deg C"; + } + AIRT { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "AIR TEMPERATURE"; + String history "From coads_climatology"; + String units "DEG C"; + } + UWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "ZONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + VWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "MERIDIONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + NC_GLOBAL { + String history "FERRET V4.30 (debug/no GUI) 15-Aug-96"; + } + DODS_EXTRA { + String Unlimited_Dimension "TIME"; + } +} Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/unit-tests/dmr-rt-testsuite/._attr_test_01.dds and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/unit-tests/dmr-rt-testsuite/._attr_test_01.dds differ diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_01.dds libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_01.dds --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_01.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_01.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,37 @@ +Dataset { + Float64 COADSX[COADSX = 180]; + Float64 COADSY[COADSY = 90]; + Float64 TIME[TIME = 12]; + Grid { + Array: + Float32 SST[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } SST; + Grid { + Array: + Float32 AIRT[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } AIRT; + Grid { + Array: + Float32 UWND[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } UWND; + Grid { + Array: + Float32 VWND[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } VWND; +} coads_climatology.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_01.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_01.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/attr_test_01.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/attr_test_01.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,144 @@ + + + + + + + + + degrees_east + + + + + + even + + + + + + degrees_east + + + + + + even + + + + + + hour since 0000-01-01 00:00:00 + + + 1-JAN-0000 00:00:00 + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + SEA SURFACE TEMPERATURE + + + From coads_climatology + + + Deg C + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + AIR TEMPERATURE + + + From coads_climatology + + + DEG C + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + ZONAL WIND + + + From coads_climatology + + + M/S + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + MERIDIONAL WIND + + + From coads_climatology + + + M/S + + + + + + + + FERRET V4.30 (debug/no GUI) 15-Aug-96 + + + + + TIME + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.correct.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.correct.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.correct.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.correct.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,100 @@ +Attributes { + SST { + SST { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "SEA SURFACE TEMPERATURE"; + String history "From coads_climatology"; + String units "Deg C"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + COADSY { + String units "degrees_north"; + String point_spacing "even"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + } + AIRT { + AIRT { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "AIR TEMPERATURE"; + String history "From coads_climatology"; + String units "DEG C"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + COADSY { + String units "degrees_north"; + String point_spacing "even"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + } + UWND { + UWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "ZONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + COADSY { + String units "degrees_north"; + String point_spacing "even"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + } + VWND { + VWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "MERIDIONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + COADSY { + String units "degrees_north"; + String point_spacing "even"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + } + NC_GLOBAL { + String history "FERRET V4.30 (debug/no GUI) 15-Aug-96"; + } + DODS_EXTRA { + String Unlimited_Dimension "TIME"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,119 @@ +Attributes { + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSY { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + SST { + SST { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "SEA SURFACE TEMPERATURE"; + String history "From coads_climatology"; + String units "Deg C"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + COADSY { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + } + AIRT { + AIRT { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "AIR TEMPERATURE"; + String history "From coads_climatology"; + String units "DEG C"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + COADSY { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + } + UWND { + UWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "ZONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + COADSY { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + } + VWND { + VWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "MERIDIONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + COADSY { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + } + NC_GLOBAL { + String history "FERRET V4.30 (debug/no GUI) 15-Aug-96"; + } + DODS_EXTRA { + String Unlimited_Dimension "TIME"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.dds libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.dds --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,37 @@ +Dataset { + Float64 COADSX[COADSX = 180]; + Float64 COADSY[COADSY = 90]; + Float64 TIME[TIME = 12]; + Grid { + Array: + Float32 SST[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } SST; + Grid { + Array: + Float32 AIRT[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } AIRT; + Grid { + Array: + Float32 UWND[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } UWND; + Grid { + Array: + Float32 VWND[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } VWND; +} coads_climatology.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.flat.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.flat.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.flat.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.flat.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,50 @@ +Attributes { + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSY { + String units "degrees_north"; + String point_spacing "even"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + SST { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "SEA SURFACE TEMPERATURE"; + String history "From coads_climatology"; + String units "Deg C"; + } + AIRT { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "AIR TEMPERATURE"; + String history "From coads_climatology"; + String units "DEG C"; + } + UWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "ZONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + VWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "MERIDIONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + NC_GLOBAL { + String history "FERRET V4.30 (debug/no GUI) 15-Aug-96"; + } + DODS_EXTRA { + String Unlimited_Dimension "TIME"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.full.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.full.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/coads_climatology.nc.full.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/coads_climatology.nc.full.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,141 @@ + + + + + + + + + hour since 0000-01-01 00:00:00 + + + 1-JAN-0000 00:00:00 + + + + + + + + + degrees_north + + + even + + + + + + degrees_east + + + + + + even + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + SEA SURFACE TEMPERATURE + + + From coads_climatology + + + Deg C + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + AIR TEMPERATURE + + + From coads_climatology + + + DEG C + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + ZONAL WIND + + + From coads_climatology + + + M/S + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + MERIDIONAL WIND + + + From coads_climatology + + + M/S + + + + + + + + FERRET V4.30 (debug/no GUI) 15-Aug-96 + + + + + TIME + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/fnoc1.nc.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/fnoc1.nc.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/fnoc1.nc.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/fnoc1.nc.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,32 @@ +Attributes { + u { + String units "meter per second"; + String long_name "Vector wind eastward component"; + String missing_value "-32767"; + String scale_factor "0.005"; + String DODS_Name "UWind"; + } + v { + String units "meter per second"; + String long_name "Vector wind northward component"; + String missing_value "-32767"; + String scale_factor "0.005"; + String DODS_Name "VWind"; + } + lat { + String units "degree North"; + } + lon { + String units "degree East"; + } + time { + String units "hours from base_time"; + } + NC_GLOBAL { + String base_time "88- 10-00:00:00"; + String title " FNOC UV wind components from 1988- 10 to 1988- 13."; + } + DODS_EXTRA { + String Unlimited_Dimension "time_a"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/fnoc1.nc.dds libdap-3.20.5/unit-tests/dmr-rt-testsuite/fnoc1.nc.dds --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/fnoc1.nc.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/fnoc1.nc.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,7 @@ +Dataset { + Int16 u[time_a = 16][lat = 17][lon = 21]; + Int16 v[time_a = 16][lat = 17][lon = 21]; + Float32 lat[lat = 17]; + Float32 lon[lon = 21]; + Float32 time[time = 16]; +} fnoc1.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/fnoc1.nc.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/fnoc1.nc.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/fnoc1.nc.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/fnoc1.nc.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/fnoc1.nc.dmr.xml libdap-3.20.5/unit-tests/dmr-rt-testsuite/fnoc1.nc.dmr.xml --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/fnoc1.nc.dmr.xml 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/fnoc1.nc.dmr.xml 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,78 @@ + + + + + + + + + + + + meter per second + + + Vector wind eastward component + + + -32767 + + + 0.005 + + + UWind + + + + + + + + meter per second + + + Vector wind northward component + + + -32767 + + + 0.005 + + + VWind + + + + + + degree North + + + + + + degree East + + + + + + hours from base_time + + + + + 88- 10-00:00:00 + + + FNOC UV wind components from 1988- 10 to 1988- 13. + + + + + time_a + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,318 @@ +Attributes { + NSCAT%20Rev%2020 { + WVC_Lat_dim_0 { + String name "row"; + String long_name "WVC row"; + } + WVC_Lat_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + WVC_Lon_dim_0 { + String name "row"; + String long_name "WVC row"; + } + WVC_Lon_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Sigma0_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Sigma0_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Beam_12_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Beam_12_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Beam_34_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Beam_34_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Beam_56_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Beam_56_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Beam_78_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Beam_78_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + WVC_Quality_Flag_dim_0 { + String name "row"; + String long_name "WVC row"; + } + WVC_Quality_Flag_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Mean_Wind_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Mean_Wind_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Wind_Speed_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Wind_Speed_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Wind_Speed_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + Wind_Dir_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Wind_Dir_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Wind_Dir_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + Error_Speed_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Error_Speed_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Error_Speed_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + Error_Dir_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Error_Dir_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Error_Dir_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + MLE_Likelihood_dim_0 { + String name "row"; + String long_name "WVC row"; + } + MLE_Likelihood_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + MLE_Likelihood_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + Num_Ambigs_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Ambigs_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + WVC_Lat { + String long_name "latitude"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + Int16 valid_range -9000, 7771; + } + WVC_Lon { + String long_name "longitude"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + UInt16 valid_range 0, 31242; + } + Num_Sigma0 { + String long_name "The total number of sigma-0 measurements"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 19; + } + Num_Beam_12 { + String long_name "The total number of sigma-0s received from beam 1 or 2"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 6; + } + Num_Beam_34 { + String long_name "The total number of sigma-0s received from beam 3 or 4"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 6; + } + Num_Beam_56 { + String long_name "The total number of sigma-0s received from beam 5 or 6"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 6; + } + Num_Beam_78 { + String long_name "The total number of sigma-0s received from beam 7 or 8"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 6; + } + WVC_Quality_Flag { + String long_name "WVC Quality Flag"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 3; + } + Mean_Wind { + String long_name "Mean Wind Speed"; + String units "m/s"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 2374; + } + Wind_Speed { + String long_name "Wind speed associated with a WVC"; + String units "m/s"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 2571; + } + Wind_Dir { + String long_name "Wind direction solution associated with a WVC"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 35997; + } + Error_Speed { + String long_name "Uncertainty estimated for the wind speed value"; + String units "m/s"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 2410; + } + Error_Dir { + String long_name "Uncertainty estimated for the wind direction value"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 2435; + } + MLE_Likelihood { + String long_name "Relative likelihood that a given win vector solution is correct"; + Float64 scale_factor 0.1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + Int16 valid_range -32768, 2825; + } + Num_Ambigs { + String long_name "Number of ambiguous wind vectors reported for a given cell"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 4; + } + } + HDF_GLOBAL { + String Producer_Agency "NASA\\000"; + String Producer_Institution "JPL\\000"; + String Sensor_Name "NSCAT\\000"; + String Project_ID "NSCAT\\000"; + String SIS_ID "597-512-24/1996-07-01\\000"; + String Build_ID "3.2.1/1996-11-05\\000"; + String ADEOS_Data_Package_ID "S2\\000"; + String ADEOS_Data_Package_Type "S\\000"; + String Product_Creation_Time "1996-318T01:35:16.000\\000"; + String Data_Type "L2\\000"; + String Data_Status "COMPLETE\\000"; + Int32 First_Rev_Number 415; + String First_Rev_Eq_Crossing_Time "1996-259T04:01:28.226\\000"; + Float32 First_Rev_Eq_Crossing_Lon 279.983; + String First_Data_Time "1996-259T03:43:48.945\\000"; + String Last_Data_Time "1996-259T05:09:48.997\\000"; + Int32 Num_Expected_Output_Records 458; + Int32 Num_Actual_Output_Records 458; + String Ambig_Removal_Method "Baseline used\\000"; + String HDF_Build_ID "JPL D-xxxxx 12/15/94\\000"; + String HDF_SIS_ID "JPL D-12060 12/15/94\\000"; + String HDF_Conversion_Organization "JPL PO.DAAC\\000"; + String HDF_Conversion_Time "1996-320T17:32:34 "; + String Data_Format_Type "HDF\\000"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.dds libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.dds --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,35 @@ +Dataset { + Structure { + Int16 WVC_Lat[row = 458][WVC = 24]; + UInt16 WVC_Lon[row = 458][WVC = 24]; + Byte Num_Sigma0[row = 458][WVC = 24]; + Byte Num_Beam_12[row = 458][WVC = 24]; + Byte Num_Beam_34[row = 458][WVC = 24]; + Byte Num_Beam_56[row = 458][WVC = 24]; + Byte Num_Beam_78[row = 458][WVC = 24]; + Byte WVC_Quality_Flag[row = 458][WVC = 24]; + UInt16 Mean_Wind[row = 458][WVC = 24]; + UInt16 Wind_Speed[row = 458][WVC = 24][position = 4]; + UInt16 Wind_Dir[row = 458][WVC = 24][position = 4]; + UInt16 Error_Speed[row = 458][WVC = 24][position = 4]; + UInt16 Error_Dir[row = 458][WVC = 24][position = 4]; + Int16 MLE_Likelihood[row = 458][WVC = 24][position = 4]; + Byte Num_Ambigs[row = 458][WVC = 24]; + Sequence { + Structure { + Int16 begin__0; + } begin; + } SwathIndex; + Sequence { + Structure { + String Mean_Time__0; + } Mean_Time; + Structure { + UInt32 Low_Wind_Speed_Flag__0; + } Low_Wind_Speed_Flag; + Structure { + UInt32 High_Wind_Speed_Flag__0; + } High_Wind_Speed_Flag; + } NSCAT%20L2; + } NSCAT%20Rev%2020; +} S2000415.HDF; diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.full.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.full.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.full.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.full.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,812 @@ + + + + + + + + + + + latitude + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 22 + + + -9000 + 7771 + + + + + + + longitude + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 22 + + + 0 + 31242 + + + + + + + The total number of sigma-0 measurements + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 19 + + + + + + + The total number of sigma-0s received from beam 1 or 2 + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 6 + + + + + + + The total number of sigma-0s received from beam 3 or 4 + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 6 + + + + + + + The total number of sigma-0s received from beam 5 or 6 + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 6 + + + + + + + The total number of sigma-0s received from beam 7 or 8 + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 6 + + + + + + + WVC Quality Flag + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 3 + + + + + + + Mean Wind Speed + + + m/s + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 2374 + + + + + + + + Wind speed associated with a WVC + + + m/s + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 2571 + + + + + + + + Wind direction solution associated with a WVC + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 35997 + + + + + + + + Uncertainty estimated for the wind speed value + + + m/s + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 2410 + + + + + + + + Uncertainty estimated for the wind direction value + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 2435 + + + + + + + + Relative likelihood that a given win vector solution is correct + + + 0.1 + + + 0 + + + 0 + + + 0 + + + 22 + + + -32768 + 2825 + + + + + + + Number of ambiguous wind vectors reported for a given cell + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 4 + + + + + + + + + + + + + + + + + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + + NASA\\000 + + + JPL\\000 + + + NSCAT\\000 + + + NSCAT\\000 + + + 597-512-24/1996-07-01\\000 + + + 3.2.1/1996-11-05\\000 + + + S2\\000 + + + S\\000 + + + 1996-318T01:35:16.000\\000 + + + L2\\000 + + + COMPLETE\\000 + + + 415 + + + 1996-259T04:01:28.226\\000 + + + 279.983 + + + 1996-259T03:43:48.945\\000 + + + 1996-259T05:09:48.997\\000 + + + 458 + + + 458 + + + Baseline used\\000 + + + JPL D-xxxxx 12/15/94\\000 + + + JPL D-12060 12/15/94\\000 + + + JPL PO.DAAC\\000 + + + 1996-320T17:32:34 + + + HDF\\000 + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.test1.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.test1.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/S2000415.HDF.test1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/S2000415.HDF.test1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ +Attributes { + WVC_Lat { + String long_name "latitude"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + Int16 valid_range -9000, 7771; + } + WVC_Lat_dim_0 { + String name "row"; + String long_name "WVC row"; + } + WVC_Lat_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1 libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1 --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,5 @@ +Dataset { + Byte b; + Int32 i; + Int32 j; +} data1; diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1.attr.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1.attr.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1.attr.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1.attr.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ + + + + + byte_b + + + + + int32_i + + + 1.2 + + + 2 + 3 + 4 + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1.das libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1.das --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,10 @@ +Attributes { + b { + String long_name "byte_b"; + } + i { + String long_name "int32_i"; + Float32 scale_factor 1.2; + Int32 coefs 2, 3, 4; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,6 @@ + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1.full.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1.full.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/test.1.full.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/test.1.full.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ + + + + + byte_b + + + + + int32_i + + + 1.2 + + + 2 + 3 + 4 + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-rt-testsuite/unused/coads_climatology.nc.dmr libdap-3.20.5/unit-tests/dmr-rt-testsuite/unused/coads_climatology.nc.dmr --- libdap-3.19.1/unit-tests/dmr-rt-testsuite/unused/coads_climatology.nc.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-rt-testsuite/unused/coads_climatology.nc.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/DMRTest.cc libdap-3.20.5/unit-tests/DMRTest.cc --- libdap-3.19.1/unit-tests/DMRTest.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/DMRTest.cc 2020-02-17 07:35:45.000000000 +0000 @@ -147,7 +147,7 @@ DBG(cerr << "DMR: " << endl << xml.get_doc() << endl); string prefix = string(TEST_SRC_DIR) + "/dmr-testsuite/"; - CPPUNIT_ASSERT(string(xml.get_doc()) == readTestBaseline(prefix + dmr_baseline)); + CPPUNIT_ASSERT(string(xml.get_doc()) == read_test_baseline(prefix + dmr_baseline)); delete dmr; } catch (Error &e) { diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.hacked.2.HDF.attr.dmr libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.hacked.2.HDF.attr.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.hacked.2.HDF.attr.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.hacked.2.HDF.attr.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + -9999 + + + PGE + + + FALSE + + + + + 1998/09/09 + + + PGE + + + FALSE + + + + + + dim_0_scan + dim_1_longitude + dim_2_latitude + + + + + dim_0_scan + dim_1_longitude + dim_2_latitude + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.hacked.2.HDF.das libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.hacked.2.HDF.das --- libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.hacked.2.HDF.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.hacked.2.HDF.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,34 @@ +Attributes { + HDF_GLOBAL { + } + CoreMetadata { + OrbitNumber { + Int32 Value -9999; + String Data_Location PGE; + String Mandatory FALSE; + } + RangeBeginningDate { + String Value 1998/09/09; + String Data_Location PGE; + String Mandatory FALSE; + } + } + percipitate { + String name "dim_0_scan"; + } + percipitate { + String name "dim_1_longitude"; + } + percipitate { + String name "dim_2_latitude"; + } + relError { + String name "dim_0_scan"; + } + relError { + String name "dim_1_longitude"; + } + relError { + String name "dim_2_latitude"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.hacked.HDF.das libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.hacked.HDF.das --- libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.hacked.HDF.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.hacked.HDF.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,34 @@ +Attributes { + HDF_GLOBAL { + } + CoreMetadata { + OrbitNumber { + Int32 Value -9999; + String Data_Location PGE; + String Mandatory FALSE; + } + RangeBeginningDate { + String Value 1998/09/09; + String Data_Location PGE; + String Mandatory FALSE; + } + } + percipitate_dim_0 { + String name "scan"; + } + percipitate_dim_1 { + String name "longitude"; + } + percipitate_dim_2 { + String name "latitude"; + } + relError_dim_0 { + String name "scan"; + } + relError_dim_1 { + String name "longitude"; + } + relError_dim_2 { + String name "latitude"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.HDF.das libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.HDF.das --- libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.HDF.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.HDF.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,634 @@ +Attributes { + DATA_GRANULE { + PlanetaryGrid { + percipitate { + } + relError { + } + } + } + HDF_GLOBAL { + } + CoreMetadata { + OrbitNumber { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RangeBeginningDate { + String Value "1998/09/09"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RangeBeginningTime { + String Value "00:00:00"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RangeEndingDate { + String Value "1998/09/10"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RangeEndingTime { + String Value "00:00:00"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + GranulePointer { + String Value "3B42.980909.5.HDF"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ShortName { + String Value "Surface Rain from Geostationary Satellites C"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SizeMBECSDataGranule { + Float64 Value 0.220007; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LongitudeOfMaximumLatitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SpatialCoverageType { + String Value "Horizontal"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EllipsoidName { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EquatorialRadius { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DenominatorFlatteningRatio { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitalModelName { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SemiMajorAxis { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MeanAnomaly { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RightAscensionNode { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ArgumentOfPerigee { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + Eccentricity { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + Inclination { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EpochTime { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EpochDate { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EpochMillisec { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + WestBoundingCoordinate { + Int32 Value -180; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EastBoundingCoordinate { + Int32 Value 180; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + NorthBoundingCoordinate { + Int32 Value 40; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SouthBoundingCoordinate { + Int32 Value -40; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterLatitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterLongitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadiusValue { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LatitudeResolution { + String Value "1deg"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LongitudeResolution { + String Value "1deg"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + GeographicCoordinateUnits { + String Value "Decimal Degrees"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + TemporalRangeType { + String Value "Continuous Range"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + QualityAssuranceParameterName { + String Value "ScienceQualityFlag"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + QualityAssuranceParameterValue { + String Value "NOT BEING INVESTIGATED"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ReprocessingActual { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + BrowsePointer { + String Value "3B42_BR.980909.5.BRO"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ScienceContact { + String Value "George Huffman"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MeanMotion { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitAdjustFlag { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + AttitudeModeFlag { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SolarBetaAngleAtBeginningOfGranule { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SolarBetaAngleAtEndOfGranule { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SensorAlignment { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SensorAlignmentChannelOffsets { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ScanPathModel { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ScanPathModelParam { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + EphemerisFileID { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + } + ArchiveMetadata { + DataGaps { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + NumberOfDataGaps { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + AlgorithmVersion { + String Value "4.51"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ProductVersion { + Int32 Value 5; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + ToolkitVersion { + String Value "5.6"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CalibrationCoefficientVersion { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MissingData { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + PercentOfBadOrMissingPixels { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MaximumValidValueofChannel { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MinimumValidValueofChannel { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MinMaxUnits { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitSize { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarWavelength { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + MinimumReflectivityThreshold { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + AlgorithmID { + String Value "3B42m2"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DataAccuracy { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + InputFiles { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DateOfGenerationOfInputFiles { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DataCenterSourceOfInputFiles { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + GenerationDate { + String Value "2000-02-09T11:00:04.000Z"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DayNight { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SolarChannelGains { + String Value "(-9999.9,-9999.9,-9999.9,-9999.9)"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + TMIRolloverCoef { + String Value "(-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9)"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstScanUTCDate { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstScanUTCTime { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstScanUTCMilliseconds { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstSCSecs { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitFirstSCSubsecs { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastScanUTCDate { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastScanUTCTime { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastScanUTCmilliseconds { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastSCSecs { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + OrbitLastSCSubsecs { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCFSeconds { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCFSubseconds { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCFflag { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LeapSecondsFlag { + String Value "Data_Location", "Error processing EOS attributes", "Error processing EOS attributes"; + String PGE "Error processing EOS attributes"; + String Mandatory "FALSE"; + } + RadarSiteName { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarCity { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarState { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarCountry { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + NumberOfVOS { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridOriginLatitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridOriginLongitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridOriginAltitude { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSpacingX { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSpacingY { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSpacingZ { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSizeX { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSizeY { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RadarGridSizeZ { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DZCal { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + GVL1C_Scale { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + Alpha { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + RuntimeOptions { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + AnomalyFlag { + String Value "NOT EMPTY"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + SoftwareVersion { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + DatabaseVersion { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + TotalQualityCode { + String Value "NULL"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LongitudeOnEquator { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCDateOnEquator { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCTimeOnEquator { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + UTCMillisecsOnEquator { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterScanUTCDate { + String Value "9999/99/99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterScanUTCTime { + String Value "99:99:99"; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + CenterScanUTCMillisec { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + FirstScanLat { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + FirstScanLon { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LastScanLat { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + LastScanLon { + Float64 Value -9999.9; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + NumberOfRainScans { + Int32 Value -9999; + String Data_Location "PGE"; + String Mandatory "FALSE"; + } + } + percipitate_dim_0 { + String name "scan"; + } + percipitate_dim_1 { + String name "longitude"; + } + percipitate_dim_2 { + String name "latitude"; + } + relError_dim_0 { + String name "scan"; + } + relError_dim_1 { + String name "longitude"; + } + relError_dim_2 { + String name "latitude"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.HDF.dds libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.HDF.dds --- libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.HDF.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.HDF.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,8 @@ +Dataset { + Structure { + Structure { + Float32 percipitate[scan = 1][longitude = 360][latitude = 80]; + Float32 relError[scan = 1][longitude = 360][latitude = 80]; + } PlanetaryGrid; + } DATA_GRANULE; +} 3B42.980909.5.HDF; diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.HDF.dmr libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.HDF.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.HDF.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.HDF.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.HDF.full.dmr libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.HDF.full.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/3B42.980909.5.HDF.full.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/3B42.980909.5.HDF.full.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,1377 @@ + + + + + + + + + + + + + + + + + + + + + + + + -9999 + + + PGE + + + FALSE + + + + + 1998/09/09 + + + PGE + + + FALSE + + + + + 00:00:00 + + + PGE + + + FALSE + + + + + 1998/09/10 + + + PGE + + + FALSE + + + + + 00:00:00 + + + PGE + + + FALSE + + + + + 3B42.980909.5.HDF + + + PGE + + + FALSE + + + + + Surface Rain from Geostationary Satellites C + + + PGE + + + FALSE + + + + + 0.220007 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + Horizontal + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -180 + + + PGE + + + FALSE + + + + + 180 + + + PGE + + + FALSE + + + + + 40 + + + PGE + + + FALSE + + + + + -40 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 1deg + + + PGE + + + FALSE + + + + + 1deg + + + PGE + + + FALSE + + + + + Decimal Degrees + + + PGE + + + FALSE + + + + + Continuous Range + + + PGE + + + FALSE + + + + + ScienceQualityFlag + + + PGE + + + FALSE + + + + + NOT BEING INVESTIGATED + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + 3B42_BR.980909.5.BRO + + + PGE + + + FALSE + + + + + George Huffman + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 4.51 + + + PGE + + + FALSE + + + + + 5 + + + PGE + + + FALSE + + + + + 5.6 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 3B42m2 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + 2000-02-09T11:00:04.000Z + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + (-9999.9,-9999.9,-9999.9,-9999.9) + + + PGE + + + FALSE + + + + + (-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9,-9999.9) + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + Data_Location + Error processing EOS attributes + Error processing EOS attributes + + + Error processing EOS attributes + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + NOT EMPTY + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + NULL + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + 9999/99/99 + + + PGE + + + FALSE + + + + + 99:99:99 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999.9 + + + PGE + + + FALSE + + + + + -9999 + + + PGE + + + FALSE + + + + + + scan + + + + + longitude + + + + + latitude + + + + + scan + + + + + longitude + + + + + latitude + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.das libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.das --- libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,50 @@ +Attributes { + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSY { + String units "degrees_north"; + String point_spacing "even"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + SST { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "SEA SURFACE TEMPERATURE"; + String history "From coads_climatology"; + String units "Deg C"; + } + AIRT { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "AIR TEMPERATURE"; + String history "From coads_climatology"; + String units "DEG C"; + } + UWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "ZONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + VWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "MERIDIONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + NC_GLOBAL { + String history "FERRET V4.30 (debug/no GUI) 15-Aug-96"; + } + DODS_EXTRA { + String Unlimited_Dimension "TIME"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.dds libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.dds --- libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,34 @@ +Dataset { + Grid { + Array: + Float32 SST[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } SST; + Grid { + Array: + Float32 AIRT[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } AIRT; + Grid { + Array: + Float32 UWND[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } UWND; + Grid { + Array: + Float32 VWND[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } VWND; +} coads_climatology.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.dmr libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/unit-tests/dmr-testsuite/._coads_climatology.nc.full.dmr and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/unit-tests/dmr-testsuite/._coads_climatology.nc.full.dmr differ diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.full.dmr libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.full.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.full.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.full.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + SEA SURFACE TEMPERATURE + + + From coads_climatology + + + Deg C + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + AIR TEMPERATURE + + + From coads_climatology + + + DEG C + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + ZONAL WIND + + + From coads_climatology + + + M/S + + + + + + + + + + + -9.999999790e+33 + + + -9.999999790e+33 + + + MERIDIONAL WIND + + + From coads_climatology + + + M/S + + + + + + + + degrees_east + + + + + + even + + + + + degrees_north + + + even + + + + + hour since 0000-01-01 00:00:00 + + + 1-JAN-0000 00:00:00 + + + + + + + + FERRET V4.30 (debug/no GUI) 15-Aug-96 + + + + + TIME + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.full.dmr.das libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.full.dmr.das --- libdap-3.19.1/unit-tests/dmr-testsuite/coads_climatology.nc.full.dmr.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/coads_climatology.nc.full.dmr.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,50 @@ +Attributes { + SST { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "SEA SURFACE TEMPERATURE"; + String history "From coads_climatology"; + String units "Deg C"; + } + AIRT { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "AIR TEMPERATURE"; + String history "From coads_climatology"; + String units "DEG C"; + } + UWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "ZONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + VWND { + Float32 missing_value -9.999999790e+33; + Float32 _FillValue -9.999999790e+33; + String long_name "MERIDIONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSY { + String units "degrees_north"; + String point_spacing "even"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + NC_GLOBAL { + String history "FERRET V4.30 (debug/no GUI) 15-Aug-96"; + } + DODS_EXTRA { + String Unlimited_Dimension "TIME"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/fnoc1.nc.das libdap-3.20.5/unit-tests/dmr-testsuite/fnoc1.nc.das --- libdap-3.19.1/unit-tests/dmr-testsuite/fnoc1.nc.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/fnoc1.nc.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,32 @@ +Attributes { + u { + String units "meter per second"; + String long_name "Vector wind eastward component"; + String missing_value "-32767"; + String scale_factor "0.005"; + String DODS_Name "UWind"; + } + v { + String units "meter per second"; + String long_name "Vector wind northward component"; + String missing_value "-32767"; + String scale_factor "0.005"; + String DODS_Name "VWind"; + } + lat { + String units "degree North"; + } + lon { + String units "degree East"; + } + time { + String units "hours from base_time"; + } + NC_GLOBAL { + String base_time "88- 10-00:00:00"; + String title " FNOC UV wind components from 1988- 10 to 1988- 13."; + } + DODS_EXTRA { + String Unlimited_Dimension "time_a"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/fnoc1.nc.dds libdap-3.20.5/unit-tests/dmr-testsuite/fnoc1.nc.dds --- libdap-3.19.1/unit-tests/dmr-testsuite/fnoc1.nc.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/fnoc1.nc.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,7 @@ +Dataset { + Int16 u[time_a = 16][lat = 17][lon = 21]; + Int16 v[time_a = 16][lat = 17][lon = 21]; + Float32 lat[lat = 17]; + Float32 lon[lon = 21]; + Float32 time[time = 16]; +} fnoc1.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/fnoc1.nc.dmr libdap-3.20.5/unit-tests/dmr-testsuite/fnoc1.nc.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/fnoc1.nc.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/fnoc1.nc.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/fnoc1.nc.dmr.xml libdap-3.20.5/unit-tests/dmr-testsuite/fnoc1.nc.dmr.xml --- libdap-3.19.1/unit-tests/dmr-testsuite/fnoc1.nc.dmr.xml 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/fnoc1.nc.dmr.xml 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,78 @@ + + + + + + + + + + + + meter per second + + + Vector wind eastward component + + + -32767 + + + 0.005 + + + UWind + + + + + + + + meter per second + + + Vector wind northward component + + + -32767 + + + 0.005 + + + VWind + + + + + + degree North + + + + + + degree East + + + + + + hours from base_time + + + + + 88- 10-00:00:00 + + + FNOC UV wind components from 1988- 10 to 1988- 13. + + + + + time_a + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.das libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.das --- libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,338 @@ +Attributes { + NSCAT%20Rev%2020 { + WVC_Lat_dim_0 { + String name "row"; + String long_name "WVC row"; + } + WVC_Lat_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + WVC_Lon_dim_0 { + String name "row"; + String long_name "WVC row"; + } + WVC_Lon_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Sigma0_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Sigma0_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Beam_12_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Beam_12_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Beam_34_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Beam_34_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Beam_56_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Beam_56_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Num_Beam_78_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Beam_78_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + WVC_Quality_Flag_dim_0 { + String name "row"; + String long_name "WVC row"; + } + WVC_Quality_Flag_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Mean_Wind_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Mean_Wind_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Wind_Speed_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Wind_Speed_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Wind_Speed_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + Wind_Dir_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Wind_Dir_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Wind_Dir_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + Error_Speed_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Error_Speed_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Error_Speed_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + Error_Dir_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Error_Dir_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + Error_Dir_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + MLE_Likelihood_dim_0 { + String name "row"; + String long_name "WVC row"; + } + MLE_Likelihood_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + MLE_Likelihood_dim_2 { + String name "position"; + String long_name "position of the ambiguities"; + } + Num_Ambigs_dim_0 { + String name "row"; + String long_name "WVC row"; + } + Num_Ambigs_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } + WVC_Lat { + String long_name "latitude"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + Int16 valid_range -9000, 7771; + } + WVC_Lon { + String long_name "longitude"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + UInt16 valid_range 0, 31242; + } + Num_Sigma0 { + String long_name "The total number of sigma-0 measurements"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 19; + } + Num_Beam_12 { + String long_name "The total number of sigma-0s received from beam 1 or 2"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 6; + } + Num_Beam_34 { + String long_name "The total number of sigma-0s received from beam 3 or 4"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 6; + } + Num_Beam_56 { + String long_name "The total number of sigma-0s received from beam 5 or 6"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 6; + } + Num_Beam_78 { + String long_name "The total number of sigma-0s received from beam 7 or 8"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 6; + } + WVC_Quality_Flag { + String long_name "WVC Quality Flag"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 3; + } + Mean_Wind { + String long_name "Mean Wind Speed"; + String units "m/s"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 2374; + } + Wind_Speed { + String long_name "Wind speed associated with a WVC"; + String units "m/s"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 2571; + } + Wind_Dir { + String long_name "Wind direction solution associated with a WVC"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 35997; + } + Error_Speed { + String long_name "Uncertainty estimated for the wind speed value"; + String units "m/s"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 2410; + } + Error_Dir { + String long_name "Uncertainty estimated for the wind direction value"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 23; + UInt16 valid_range 0, 2435; + } + MLE_Likelihood { + String long_name "Relative likelihood that a given win vector solution is correct"; + Float64 scale_factor 0.1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + Int16 valid_range -32768, 2825; + } + Num_Ambigs { + String long_name "Number of ambiguous wind vectors reported for a given cell"; + String units "counts"; + Float64 scale_factor 1; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 21; + Byte valid_range 0, 4; + } + SwathIndex { + begin { + begin__0 { + } + } + } + NSCAT%20L2 { + Mean_Time { + Mean_Time__0 { + } + } + Low_Wind_Speed_Flag { + Low_Wind_Speed_Flag__0 { + } + } + High_Wind_Speed_Flag { + High_Wind_Speed_Flag__0 { + } + } + } + } + HDF_GLOBAL { + String Producer_Agency "NASA\\000"; + String Producer_Institution "JPL\\000"; + String Sensor_Name "NSCAT\\000"; + String Project_ID "NSCAT\\000"; + String SIS_ID "597-512-24/1996-07-01\\000"; + String Build_ID "3.2.1/1996-11-05\\000"; + String ADEOS_Data_Package_ID "S2\\000"; + String ADEOS_Data_Package_Type "S\\000"; + String Product_Creation_Time "1996-318T01:35:16.000\\000"; + String Data_Type "L2\\000"; + String Data_Status "COMPLETE\\000"; + Int32 First_Rev_Number 415; + String First_Rev_Eq_Crossing_Time "1996-259T04:01:28.226\\000"; + Float32 First_Rev_Eq_Crossing_Lon 279.983; + String First_Data_Time "1996-259T03:43:48.945\\000"; + String Last_Data_Time "1996-259T05:09:48.997\\000"; + Int32 Num_Expected_Output_Records 458; + Int32 Num_Actual_Output_Records 458; + String Ambig_Removal_Method "Baseline used\\000"; + String HDF_Build_ID "JPL D-xxxxx 12/15/94\\000"; + String HDF_SIS_ID "JPL D-12060 12/15/94\\000"; + String HDF_Conversion_Organization "JPL PO.DAAC\\000"; + String HDF_Conversion_Time "1996-320T17:32:34 "; + String Data_Format_Type "HDF\\000"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.dds libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.dds --- libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,35 @@ +Dataset { + Structure { + Int16 WVC_Lat[row = 458][WVC = 24]; + UInt16 WVC_Lon[row = 458][WVC = 24]; + Byte Num_Sigma0[row = 458][WVC = 24]; + Byte Num_Beam_12[row = 458][WVC = 24]; + Byte Num_Beam_34[row = 458][WVC = 24]; + Byte Num_Beam_56[row = 458][WVC = 24]; + Byte Num_Beam_78[row = 458][WVC = 24]; + Byte WVC_Quality_Flag[row = 458][WVC = 24]; + UInt16 Mean_Wind[row = 458][WVC = 24]; + UInt16 Wind_Speed[row = 458][WVC = 24][position = 4]; + UInt16 Wind_Dir[row = 458][WVC = 24][position = 4]; + UInt16 Error_Speed[row = 458][WVC = 24][position = 4]; + UInt16 Error_Dir[row = 458][WVC = 24][position = 4]; + Int16 MLE_Likelihood[row = 458][WVC = 24][position = 4]; + Byte Num_Ambigs[row = 458][WVC = 24]; + Sequence { + Structure { + Int16 begin__0; + } begin; + } SwathIndex; + Sequence { + Structure { + String Mean_Time__0; + } Mean_Time; + Structure { + UInt32 Low_Wind_Speed_Flag__0; + } Low_Wind_Speed_Flag; + Structure { + UInt32 High_Wind_Speed_Flag__0; + } High_Wind_Speed_Flag; + } NSCAT%20L2; + } NSCAT%20Rev%2020; +} S2000415.HDF; diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.dmr libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.full.dmr libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.full.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.full.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.full.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,812 @@ + + + + + + + + + + + latitude + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 22 + + + -9000 + 7771 + + + + + + + longitude + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 22 + + + 0 + 31242 + + + + + + + The total number of sigma-0 measurements + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 19 + + + + + + + The total number of sigma-0s received from beam 1 or 2 + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 6 + + + + + + + The total number of sigma-0s received from beam 3 or 4 + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 6 + + + + + + + The total number of sigma-0s received from beam 5 or 6 + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 6 + + + + + + + The total number of sigma-0s received from beam 7 or 8 + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 6 + + + + + + + WVC Quality Flag + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 3 + + + + + + + Mean Wind Speed + + + m/s + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 2374 + + + + + + + + Wind speed associated with a WVC + + + m/s + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 2571 + + + + + + + + Wind direction solution associated with a WVC + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 35997 + + + + + + + + Uncertainty estimated for the wind speed value + + + m/s + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 2410 + + + + + + + + Uncertainty estimated for the wind direction value + + + deg + + + 0.01 + + + 0 + + + 0 + + + 0 + + + 23 + + + 0 + 2435 + + + + + + + + Relative likelihood that a given win vector solution is correct + + + 0.1 + + + 0 + + + 0 + + + 0 + + + 22 + + + -32768 + 2825 + + + + + + + Number of ambiguous wind vectors reported for a given cell + + + counts + + + 1 + + + 0 + + + 0 + + + 0 + + + 21 + + + 0 + 4 + + + + + + + + + + + + + + + + + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + position + + + position of the ambiguities + + + + + row + + + WVC row + + + + + WVC + + + WVC index + + + + + + NASA\\000 + + + JPL\\000 + + + NSCAT\\000 + + + NSCAT\\000 + + + 597-512-24/1996-07-01\\000 + + + 3.2.1/1996-11-05\\000 + + + S2\\000 + + + S\\000 + + + 1996-318T01:35:16.000\\000 + + + L2\\000 + + + COMPLETE\\000 + + + 415 + + + 1996-259T04:01:28.226\\000 + + + 279.983 + + + 1996-259T03:43:48.945\\000 + + + 1996-259T05:09:48.997\\000 + + + 458 + + + 458 + + + Baseline used\\000 + + + JPL D-xxxxx 12/15/94\\000 + + + JPL D-12060 12/15/94\\000 + + + JPL PO.DAAC\\000 + + + 1996-320T17:32:34 + + + HDF\\000 + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.test1.das libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.test1.das --- libdap-3.19.1/unit-tests/dmr-testsuite/S2000415.HDF.test1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/S2000415.HDF.test1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ +Attributes { + WVC_Lat { + String long_name "latitude"; + String units "deg"; + Float64 scale_factor 0.01; + Float64 scale_factor_err 0; + Float64 add_offset 0; + Float64 add_offset_err 0; + Int32 calibrated_nt 22; + Int16 valid_range -9000, 7771; + } + WVC_Lat_dim_0 { + String name "row"; + String long_name "WVC row"; + } + WVC_Lat_dim_1 { + String name "WVC"; + String long_name "WVC index"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/structure_1.dds libdap-3.20.5/unit-tests/dmr-testsuite/structure_1.dds --- libdap-3.19.1/unit-tests/dmr-testsuite/structure_1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/structure_1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,7 @@ +Dataset { + Structure { + Int32 i; + Int32 j; + } s; +} structure_1; + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/structure_1.dds.dmr libdap-3.20.5/unit-tests/dmr-testsuite/structure_1.dds.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/structure_1.dds.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/structure_1.dds.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,7 @@ + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/test.1 libdap-3.20.5/unit-tests/dmr-testsuite/test.1 --- libdap-3.19.1/unit-tests/dmr-testsuite/test.1 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/test.1 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,5 @@ +Dataset { + Byte b; + Int32 i; + Int32 j; +} data1; diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/test.1.attr.dmr libdap-3.20.5/unit-tests/dmr-testsuite/test.1.attr.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/test.1.attr.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/test.1.attr.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ + + + + + byte_b + + + + + int32_i + + + 1.2 + + + 2 + 3 + 4 + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/test.1.das libdap-3.20.5/unit-tests/dmr-testsuite/test.1.das --- libdap-3.19.1/unit-tests/dmr-testsuite/test.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/test.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,12 @@ +Attributes { + b { + String long_name "byte_b"; + } + i { + String long_name "int32_i"; + Float32 scale_factor 1.2; + Int32 coefs 2, 3, 4; + } + j { + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/test.1.dmr libdap-3.20.5/unit-tests/dmr-testsuite/test.1.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/test.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/test.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,6 @@ + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-testsuite/test.1.full.dmr libdap-3.20.5/unit-tests/dmr-testsuite/test.1.full.dmr --- libdap-3.19.1/unit-tests/dmr-testsuite/test.1.full.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-testsuite/test.1.full.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ + + + + + byte_b + + + + + int32_i + + + 1.2 + + + 2 + 3 + 4 + + + + diff -Nru libdap-3.19.1/unit-tests/DmrToDap2Test.cc libdap-3.20.5/unit-tests/DmrToDap2Test.cc --- libdap-3.19.1/unit-tests/DmrToDap2Test.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/DmrToDap2Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -29,6 +29,7 @@ #include #include +#include #include "Byte.h" #include "Int16.h" @@ -63,7 +64,9 @@ static bool mo_debug = false; #undef DBG +#undef DBG2 #define DBG(x) do { if (debug) {x;} } while(false) +#define DBG2(x) do { if (mo_debug) {x;} } while(false) using namespace CppUnit; using namespace std; @@ -93,7 +96,7 @@ bool re_match(Regex &r, const string &s) { int match = r.match(s.c_str(), s.length()); - DBG(cerr << "Match: " << match << " should be: " << s.length() << endl); + DBG2(cerr << "Match: " << match << " should be: " << s.length() << endl); return match == static_cast(s.length()); } @@ -107,8 +110,8 @@ */ DMR *build_dmr(const string &dmr_file) { - DBG(cerr << __func__ << "() - BEGIN" << endl); - DBG(cerr << __func__ << "() - dmr_file: " << dmr_file << endl); + DBG2(cerr << __func__ << "() - BEGIN" << endl); + DBG2(cerr << __func__ << "() - dmr_file: " << dmr_file << endl); try { DMR *dmr = new DMR(); @@ -120,19 +123,21 @@ ifstream in(dmr_file.c_str(), ios::in); parser.intern(in, dmr, mo_debug); dmr->set_factory(0); - DBG(cerr << __func__ << "() - END" << endl); + DBG2(cerr << __func__ << "() - END" << endl); return dmr; } catch (Error &e) { CPPUNIT_FAIL(string("Caught Error: ") + e.get_error_message()); } + catch (...) { + CPPUNIT_FAIL(string("CPPUNIT FAIL: OUCH! Caught unknown exception! ")); + } return 0; } void test_template(const string &test_base_name) { - string prefix = string(TEST_SRC_DIR) + THE_TESTS_DIR; string dmr_file = prefix + test_base_name + ".dmr"; @@ -140,46 +145,49 @@ string das_file = prefix + test_base_name + ".das"; DBG(cerr << __func__ << "() - BEGIN (test_base: " << test_base_name << ")" << endl); - DMR *dmr = 0; - try { - dmr = build_dmr(dmr_file); - CPPUNIT_ASSERT(dmr != 0); + try { + auto_ptr dmr(build_dmr(dmr_file)); + CPPUNIT_ASSERT(dmr.get() != 0); XMLWriter xml; dmr->print_dap4(xml); string result_dmr(xml.get_doc()); - string baseline_dmr = readTestBaseline(dmr_file); + string baseline_dmr = read_test_baseline(dmr_file); + + DBG2(cerr << "BASELINE DMR(" << baseline_dmr.size() << " chars): " << dmr_file << endl << baseline_dmr << endl); + DBG2(cerr << "RESULT DMR(" << result_dmr.size() << " chars): " << endl << result_dmr << endl); - DBG( - cerr << "BASELINE DMR(" << baseline_dmr.size() << " chars): " << dmr_file << endl << baseline_dmr - << endl); - DBG(cerr << "RESULT DMR(" << result_dmr.size() << " chars): " << endl << result_dmr << endl); CPPUNIT_ASSERT(result_dmr == baseline_dmr); - DDS *dds = dmr->getDDS(); - std::ostringstream result_dds; + auto_ptr dds(dmr->getDDS()); + ostringstream result_dds; dds->print(result_dds); - string baseline_dds = readTestBaseline(dds_file); - DBG( - cerr << "BASELINE DDS(" << baseline_dds.size() << " chars): " << dds_file << endl << baseline_dds - << endl); - DBG(cerr << "RESULT DDS(" << result_dds.str().size() << " chars): " << endl << result_dds.str() << endl); + string baseline_dds = read_test_baseline(dds_file); + + DBG2(cerr << "BASELINE DDS(" << baseline_dds.size() << " chars): " << dds_file << endl << baseline_dds << endl); + DBG2(cerr << "RESULT DDS(" << result_dds.str().size() << " chars): " << endl << result_dds.str() << endl); + CPPUNIT_ASSERT(result_dds.str() == baseline_dds); - std::ostringstream result_das; + ostringstream result_das; dds->print_das(result_das); - string source_das = readTestBaseline(das_file); - DBG(cerr << "BASELINE DAS(" << source_das.size() << " chars): " << das_file << endl << source_das << endl); - DBG(cerr << "RESULT DAS(" << result_das.str().size() << " chars): " << endl << result_das.str() << endl); - CPPUNIT_ASSERT(result_das.str() == source_das); + string source_das = read_test_baseline(das_file); + + DBG2(cerr << "BASELINE DAS(" << source_das.size() << " chars): " << das_file << endl << source_das << endl); + DBG2(cerr << "RESULT DAS(" << result_das.str().size() << " chars): " << endl << result_das.str() << endl); - delete dmr; - delete dds; + CPPUNIT_ASSERT(result_das.str() == source_das); } catch (Error &e) { - delete dmr; CPPUNIT_FAIL(string("Caught Error: ") + e.get_error_message()); } + catch (CPPUNIT_NS::Exception &e) { + CPPUNIT_FAIL(string("CPPUNIT FAIL: ") + e.message().details()); + } + catch (...) { + CPPUNIT_FAIL(string("CPPUNIT FAIL: OUCH! Caught unknown exception! ")); + } + DBG(cerr << __func__ << "() - END" << endl); } @@ -390,9 +398,16 @@ DBG(cerr << __func__ << "() - END" << endl); } -CPPUNIT_TEST_SUITE (DmrToDap2Test); + void big_airs_metadata() + { + DBG(cerr << endl << __func__ << "() - BEGIN" << endl); + test_template("big_airs_metadata"); + DBG(cerr << __func__ << "() - END" << endl); + } -#if 1 // good (as in should be working) tests + CPPUNIT_TEST_SUITE (DmrToDap2Test); + + // good (as in should be working) tests CPPUNIT_TEST(dmr_to_dap2_01); CPPUNIT_TEST(basic_dmr_to_dap2_0_0); CPPUNIT_TEST(basic_dmr_to_dap2_0_1); @@ -426,17 +441,12 @@ CPPUNIT_TEST(dmr_to_grid_04); CPPUNIT_TEST(dmr_to_grid_05); -#endif - -#if 0 // bad tests, here then is the woodshed of Testville. - - CPPUNIT_TEST(enum_dmr_to_dap2_1_5); // Broken: Parser issue with look-ahead + // bad tests, here then is the woodshed of Testville. -#endif - - CPPUNIT_TEST_SUITE_END() - ; + CPPUNIT_TEST_FAIL(big_airs_metadata); // Expect this test to fail. jhrg 6/17/19 HK-403 + CPPUNIT_TEST_FAIL(enum_dmr_to_dap2_1_5); // Broken: Parser issue with look-ahead + CPPUNIT_TEST_SUITE_END(); }; CPPUNIT_TEST_SUITE_REGISTRATION(DmrToDap2Test); @@ -465,7 +475,6 @@ } break; } - default: break; } diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,5700 @@ + + + + + + + DOI=?;AlgorithmID=1AGMI;AlgorithmVersion=4.2;FileName=1A.GPM.GMI.COUNT2014v3.20160105-S230545-E003816.010538.V03B.HDF5;SatelliteName=GPM;InstrumentName=GMI;GenerationDateTime=2016-01-06T02:32:09.000Z;StartGranuleDateTime=2016-01-05T23:05:45.953Z;StopGranuleDateTime=2016-01-06T00:38:17.949Z;GranuleNumber=10538;NumberOfSwaths=5;NumberOfGrids=0;GranuleStart=SOUTHERNMOST_LATITUDE;TimeInterval=ORBIT;ProcessingSystem=PPS;ProductVersion=V03B;EmptyGranule=NOT_EMPTY;MissingData=0; + + + InputFileNames=GPM.GMIS.20160105.230141102_20160105.230639231.001.SCANRAWGPM.GMIS.20160105.230641106_20160105.231139235.001.SCANRAWGPM.GMIS.20160105.231141110_20160105.231639239.001.SCANRAWGPM.GMIS.20160105.231641114_20160105.232139243.001.SCANRAWGPM.GMIS.20160105.232141118_20160105.232639247.001.SCANRAWGPM.GMIS.20160105.232641123_20160105.233139252.001.SCANRAWGPM.GMIS.20160105.233141127_20160105.233639256.001.SCANRAWGPM.GMIS.20160105.233641131_20160105.234139260.001.SCANRAWGPM.GMIS.20160105.234141135_20160105.234639264.001.SCANRAWGPM.GMIS.20160105.234641139_20160105.235139268.001.SCANRAWGPM.GMIS.20160105.235141143_20160105.235639272.001.SCANRAWGPM.GMIS.20160105.235641147_20160106.000139276.001.SCANRAWGPM.GMIS.20160106.000141152_20160106.000639281.001.SCANRAWGPM.GMIS.20160106.000641156_20160106.001139285.001.SCANRAWGPM.GMIS.20160106.001141160_20160106.001639289.001.SCANRAWGPM.GMIS.20160106.001641164_20160106.002139293.001.SCANRAWGPM.GMIS.20160106.002141168_20160106.002639297.001.SCANRAWGPM.GMIS.20160106.002641172_20160106.003139301.001.SCANRAWGPM.GMIS.20160106.003141176_20160106.003639305.001.SCANRAWGPM.GMIS.20160106.003641180_20160106.004139309.001.SCANRAW;InputAlgorithmVersions=n/a;InputGenerationDateTimes=n/a; + + + LongitudeOnEquator=179.046739;UTCDateTimeOnEquator=2016-01-05T23:28:53.899Z;MeanSolarBetaAngle=-18.034080;EphemerisFileName=GPMCORE.20160105.230545953_20160106.003817949.001.EPHEM.txt;AttitudeFileName=GPMCORE.20160105.230545953_20160106.003817949.001.ATT.txt;GeoControlFileName=Control_Parameters_GMI_20140817.V03A.txt;EphemerisSource=7_PVT_WITH_FALLBACK_AS_FLAGGED;AttitudeSource=1_ON_BOARD_CALCULATED_PITCH_ROLL_YAW;GeoToolkitVersion=V3.8 1.7.2015 Nutation modified ;SensorAlignmentFirstRotationAngle=179.964996;SensorAlignmentSecondRotationAngle=0.004000;SensorAlignmentThirdRotationAngle=0.001000;SensorAlignmentFirstRotationAxis=1;SensorAlignmentSecondRotationAxis=2;SensorAlignmentThirdRotationAxis=3; + + + DataFormatVersion=bc;TKCodeBuildVersion=1;MetadataVersion=bc;FormatPackage=HDF5-1.8.9;BlueprintFilename=GPM.V1.1AGMI.blueprint.xml;BlueprintVersion=BV_40;TKIOVersion=3.60.4;MetadataStyle=PVL;EndianType=LITTLE_ENDIAN; + + + + + + + dim7,dim6 + + + 65535 + + + + + + + + + nscan2,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan2,GMIxyz + + + counts + + + -9999.900391 + + + + + + + nscan1,dim10 + + + 50 + + + + + + + + nscan2,npixelcs,nchannel2 + + + 0 + + + + + + + nscan2,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan2,npixelev + + + degrees + + + -9999.900391 + + + + + + + + nscan2,npixelht,nchannel2 + + + 0 + + + + + + + + nscan2,npixelev,nchannel2 + + + 0 + + + + + + + nscan2,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan2,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan2,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan2,npixelev + + + degrees + + + -9999.900391 + + + + NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=221;ScanType=CONICAL; + + + + + + nscan1 + + + ms + + + -9999 + + + + + + nscan1 + + + minutes + + + 0 + + + + + + nscan1 + + + years + + + -9999 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + nscan1 + + + s + + + 0 + + + + + + nscan1 + + + days + + + -9999 + + + + + + nscan1 + + + hours + + + 0 + + + + + + nscan1 + + + months + + + 0 + + + + + + nscan1 + + + days + + + 0 + + + + + + + + + nscan1,XYZ + + + m + + + -9999.900391 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + + nscan1,XYZ + + + m/s + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + m + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + m + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + + + nscan2 + + + degrees + + + -9999.900391 + + + + + + nscan2 + + + degrees + + + -9999.900391 + + + + + + nscan2 + + + degrees + + + -9999.900391 + + + + + + nscan2 + + + degrees + + + -9999.900391 + + + + + + nscan2 + + + degrees + + + -9999.900391 + + + + + + nscan2 + + + s + + + -9999.900391 + + + + + + nscan2 + + + degrees/s + + + -9999.900391 + + + + + + + nscan2, + + + -9999.900391 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + -9999 + + + + + + nscan2 + + + -9999 + + + + + + nscan2 + + + -9999 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + -9999.900000 + + + + + + nscan2 + + + degrees + + + -9999 + + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + degrees + + + -9999.900391 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + -9999 + + + + + + nscan2 + + + -9999 + + + + + + + nscan1,dim10 + + + 50 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + degrees + + + -9999.900391 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + -9999 + + + + NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=1;ScanType=CONICAL; + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + s + + + -9999.900391 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan1 + + + ms + + + -9999 + + + + + + nscan1 + + + minutes + + + 0 + + + + + + nscan1 + + + years + + + -9999 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + nscan1 + + + s + + + 0 + + + + + + nscan1 + + + days + + + -9999 + + + + + + nscan1 + + + hours + + + 0 + + + + + + nscan1 + + + months + + + 0 + + + + + + nscan1 + + + days + + + 0 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + s + + + -9999.900391 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + s + + + -9999.900391 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + nscan2 + + + s + + + -9999.900391 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + nscan2 + + + count + + + 65535 + + + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + nscan2 + + + 0 + + + + + + + + + + nscan1,dim10 + + + 50 + + + + + + + nscan2,npixelfr + + + degrees + + + -9999.900391 + + + + + + + + nscan2,npixelfr,nchannel1 + + + 0 + + + + + + + nscan2,npixelfr + + + degrees + + + -9999.900391 + + + + + + + nscan2,npixelfr + + + degrees + + + -9999.900391 + + + + + + + + nscan2,npixelfr,VH + + + 48 + + + + NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=465;ScanType=CONICAL; + + + + + + nscan1 + + + ms + + + -9999 + + + + + + nscan1 + + + minutes + + + 0 + + + + + + nscan1 + + + years + + + -9999 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + nscan1 + + + s + + + 0 + + + + + + nscan1 + + + days + + + -9999 + + + + + + nscan1 + + + hours + + + 0 + + + + + + nscan1 + + + months + + + 0 + + + + + + nscan1 + + + days + + + 0 + + + + + + + + + + nscan1,dim10 + + + 50 + + + + + + + nscan2,npixelfr + + + degrees + + + -9999.900391 + + + + + + + + nscan2,npixelfr,nchannel2 + + + 0 + + + + + + + nscan2,npixelfr + + + degrees + + + -9999.900391 + + + + + + + nscan2,npixelfr + + + degrees + + + -9999.900391 + + + + NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=465;ScanType=CONICAL; + + + + + + nscan1 + + + ms + + + -9999 + + + + + + nscan1 + + + minutes + + + 0 + + + + + + nscan1 + + + years + + + -9999 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + nscan1 + + + s + + + 0 + + + + + + nscan1 + + + days + + + -9999 + + + + + + nscan1 + + + hours + + + 0 + + + + + + nscan1 + + + months + + + 0 + + + + + + nscan1 + + + days + + + 0 + + + + + + + + + + + nscan1,npixelht,VH + + + 48 + + + + + + + nscan1,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan1,GMIxyz + + + counts + + + -9999.900391 + + + + + + + nscan1,dim10 + + + 50 + + + + + + + + nscan1,npixelcs,nchannel1 + + + 0 + + + + + + + nscan1,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan1,npixelev + + + degrees + + + -9999.900391 + + + + + + + + nscan1,npixelht,nchannel1 + + + 0 + + + + + + + + nscan1,npixelev,nchannel1 + + + 0 + + + + + + + nscan1,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan1,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan1,npixelev + + + degrees + + + -9999.900391 + + + + + + + nscan1,npixelev + + + degrees + + + -9999.900391 + + + + + + + + nscan1,npixelcs,VH + + + 48 + + + + + + + + nscan1,npixelev,VH + + + 48 + + + + NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=221;ScanType=CONICAL; + + + + + + nscan1 + + + ms + + + -9999 + + + + + + nscan1 + + + minutes + + + 0 + + + + + + nscan1 + + + years + + + -9999 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + nscan1 + + + s + + + 0 + + + + + + nscan1 + + + days + + + -9999 + + + + + + nscan1 + + + hours + + + 0 + + + + + + nscan1 + + + months + + + 62 + + + + + + nscan1 + + + days + + + 47 + + + + + + + + + nscan1,XYZ + + + m + + + -9999.900391 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + + nscan1,XYZ + + + m/s + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + m + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + m + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + s + + + -9999.900000 + + + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + degrees + + + -9999.900391 + + + + + + nscan1 + + + s + + + -9999.900391 + + + + + + nscan1 + + + degrees/s + + + -9999.900391 + + + + + + + nscan1, + + + -9999.900391 + + + + + + + + nscan1 + + + 0 + + + + + + nscan1 + + + 0 + + + + + + nscan1 + + + 0 + + + + + + nscan1 + + + -9999 + + + + + + nscan1 + + + -9999 + + + + + + nscan1 + + + -9999 + + + + + + nscan1 + + + 0 + + + + + + nscan1 + + + 0 + + + + + + nscan1 + + + 0 + + + + + + nscan1 + + + -9999.900000 + + + + + + nscan1 + + + degrees + + + -9999 + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr.baseline libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr.baseline --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr.baseline 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/1A.GPM.GMI.COUNT2014v3.20160105.h5.dmrpp.dmr.baseline 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2499 @@ +Attributes { + /gmi1aHeader/sampleRangeFile { + String DimensionNames "dim7,dim6"; + String CodeMissingValue "65535"; + } + /S2/Longitude { + String DimensionNames "nscan2,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/moonVectorInstFrame { + String DimensionNames "nscan2,GMIxyz"; + String Units "counts"; + String CodeMissingValue "-9999.900391"; + } + /S2/ephemerisUsed { + String DimensionNames "nscan1,dim10"; + String CodeMissingValue "50"; + } + /S2/coldSky { + String DimensionNames "nscan2,npixelcs,nchannel2"; + String CodeMissingValue "0"; + } + /S2/sunGlintAngle { + String DimensionNames "nscan2,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/Latitude { + String DimensionNames "nscan2,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/hotLoad { + String DimensionNames "nscan2,npixelht,nchannel2"; + String CodeMissingValue "0"; + } + /S2/earthView { + String DimensionNames "nscan2,npixelev,nchannel2"; + String CodeMissingValue "0"; + } + /S2/solarAzimuthAngle { + String DimensionNames "nscan2,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/satAzimuthAngle { + String DimensionNames "nscan2,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/solarZenAngle { + String DimensionNames "nscan2,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/incidenceAngle { + String DimensionNames "nscan2,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/ScanTime/MilliSecond { + String DimensionNames "nscan1"; + String Units "ms"; + String CodeMissingValue "-9999"; + } + /S2/ScanTime/Minute { + String DimensionNames "nscan1"; + String Units "minutes"; + String CodeMissingValue "0"; + } + /S2/ScanTime/Year { + String DimensionNames "nscan1"; + String Units "years"; + String CodeMissingValue "-9999"; + } + /S2/ScanTime/SecondOfDay { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S2/ScanTime/Second { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "0"; + } + /S2/ScanTime/DayOfYear { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "-9999"; + } + /S2/ScanTime/Hour { + String DimensionNames "nscan1"; + String Units "hours"; + String CodeMissingValue "0"; + } + /S2/ScanTime/Month { + String DimensionNames "nscan1"; + String Units "months"; + String CodeMissingValue "0"; + } + /S2/ScanTime/DayOfMonth { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "0"; + } + /S2/navigation/scPos { + String DimensionNames "nscan1,XYZ"; + String Units "m"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/timeMidScanOffset { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S2/navigation/scAttPitchGeod { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scVel { + String DimensionNames "nscan1,XYZ"; + String Units "m/s"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scAttRollGeod { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scAttRollGeoc { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scAlt { + String DimensionNames "nscan1"; + String Units "m"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scLon { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scAttYawGeoc { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scAttPitchGeoc { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/dprAlt { + String DimensionNames "nscan1"; + String Units "m"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/greenHourAng { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scLat { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/scAttYawGeod { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/navigation/timeMidScan { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S2/sunData/phaseFromOrbitMidnight { + String DimensionNames "nscan2"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/sunData/sunEarthSeparation { + String DimensionNames "nscan2"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/sunData/earthAngularRadius { + String DimensionNames "nscan2"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/sunData/phaseOfEclipseExit { + String DimensionNames "nscan2"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/sunData/solarBetaAngle { + String DimensionNames "nscan2"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S2/sunData/timeSinceEclipseEntry { + String DimensionNames "nscan2"; + String Units "s"; + String CodeMissingValue "-9999.900391"; + } + /S2/sunData/orbitRate { + String DimensionNames "nscan2"; + String Units "degrees/s"; + String CodeMissingValue "-9999.900391"; + } + /S2/sunData/sunVectorInBodyFrame { + String DimensionNames "nscan2,"; + String CodeMissingValue "-9999.900391"; + } + /S2/scanStatus/operationalMode { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S2/scanStatus/modeStatus { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S2/scanStatus/targetSelectionMidScan { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S2/scanStatus/geoWarning { + String DimensionNames "nscan2"; + String CodeMissingValue "-9999"; + } + /S2/scanStatus/pointingStatus { + String DimensionNames "nscan2"; + String CodeMissingValue "-9999"; + } + /S2/scanStatus/geoError { + String DimensionNames "nscan2"; + String CodeMissingValue "-9999"; + } + /S2/scanStatus/dataQuality { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S2/scanStatus/acsModeMidScan { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S2/scanStatus/missing { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S2/scanStatus/FractionalGranuleNumber { + String DimensionNames "nscan2"; + String CodeMissingValue "-9999.900000"; + } + /S2/scanStatus/SCorientation { + String DimensionNames "nscan2"; + String Units "degrees"; + String CodeMissingValue "-9999"; + } + /S3/version { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/Longitude { + String DimensionNames "nscan2"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S3/type { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/sequenceFlag { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/packetSequenceCount { + String DimensionNames "nscan2"; + String CodeMissingValue "-9999"; + } + /S3/APID { + String DimensionNames "nscan2"; + String CodeMissingValue "-9999"; + } + /S3/ephemerisUsed { + String DimensionNames "nscan1,dim10"; + String CodeMissingValue "50"; + } + /S3/secHeaderFlag { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/numPacketSegments { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/packetLength { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/Latitude { + String DimensionNames "nscan2"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S3/spare { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/instrTimeSeconds { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/instrTimeSubseconds { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RDRversion { + String DimensionNames "nscan2"; + String CodeMissingValue "-9999"; + } + /S3/SMPL_INFO/EARTH_18G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_166G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_183G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_183G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_10G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_166G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_166G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_23G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_10G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_23G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_166G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_10G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_183G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_89G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_23G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_36G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_18G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_183G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_10G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_10G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_18G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_89G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_36G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_18G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_89G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_23G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_36G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_183G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_23G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_10G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_36G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_23G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_89G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_36G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_89G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_166G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_18G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_166G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/HLOAD_36G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_18G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/SMPL_INFO_VALID { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/EARTH_89G_STRT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SMPL_INFO/CSKY_183G_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/TAM2/timeOffset { + String DimensionNames "nscan2"; + String Units "s"; + String CodeMissingValue "-9999.900391"; + } + /S3/TAM2/Vx { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/TAM2/Vy { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/TAM2/Vz { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/RSHSK_STATUS/RS_EPC_15V { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RS_CALRES_2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_89GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_23GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/BATC_CALRES_1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/NDIODE_MODE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_CMD_AFTER { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RS_CALRES_1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/NDIODE10GHZSNUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_SCI_ADC_LP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_36GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RS_EPC_5V { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RS_EPC_NEG12V { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RS_EPC_7V { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_SAMP_OVLP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RESERVED1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_HSK_ADC_LP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RS_EPC_POS12V { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_166GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_INVLD_CMD { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_183GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_18GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RS_EPC_ISENS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_NDIODE_ST { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/BATC_CALRES_2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_STATUS/RSST_10GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TCU_SECS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TCF_LEAP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TCF_SUBSECS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TCF_SIGN { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TCF_SECS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TC_PULSE_SECS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/GPS_TCU_SUBS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TCU_SUBS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TCF_SC_SUBSEC { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TC_PULSE_SUBS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/GPS_TCU_SECS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GSDR_TIME/G_TCF_SC_SECS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/RESERVED2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_VB183GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_V23GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_H166GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_V36GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_H18GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_H36GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_VA183GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_V166GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_V18GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_V10GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_H89GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_H10GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_GAIN/GAIN_V89GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_RS_MR2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_HL_TRAY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_166GHZ_LO { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_H18GHZ_ND { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_SMASPUNHSG { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_89GHZ_LO { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_V89GHZMXR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_H166GHZMXR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_FEED { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_RS_EDC { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_36GHZRCVR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_183GHZ_LO { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_183GHZRCVR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_18GHZRCVR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_89GHZRCVR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_H10GHZ_ND { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_V166GHZMXR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_166GHZRCVR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_V18GHZ_ND { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_H89GHZMXR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_V36GHZ_ND { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_23GHZRCVR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_H36GHZ_ND { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_V10GHZ_ND { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_183GHZMXR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_RS_EPC { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_RS_MR1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_TEMP/TEMP_10GHZRCVR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/RS_1MHZ_REF { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/RS_SCAN_START { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/BOOT_BANK { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/SCE_FORCE_SEL { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/FPGA_ACCSS_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/FPGA_RST_REASON { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/SC_1HZ_REF { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/SCE_A_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/IE_CMD_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/SCE_RSP_RDY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/IE_RSP_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/EEPROM_BUSY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/ERR_HDL_FAILURE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/CURRENT_BANK { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/EDAC_ENABLE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/SCE_B_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/SCE_A_ACTIVE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/VERSION_MIN { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/FPGA_MODE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/RS_TLM_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/RS_CLK_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/VERSION_MAJ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/SCE_B_ACTIVE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/SCE_RSP_PROG { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/FPGA_SCE_RX_EN { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/RS_TLM_PROG { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/CRASH_REASON { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/FPGA_RS_RX_EN { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/IE_PKT_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/IE_TLM_PROG { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/RS_PKT_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/IE_TLM_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/RESET_REASON { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/WDOG_ENABLE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/FPGA_IE_RX_EN { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SENSOR_INFO/KEEP_ALIVE_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/ScanTime/MilliSecond { + String DimensionNames "nscan1"; + String Units "ms"; + String CodeMissingValue "-9999"; + } + /S3/ScanTime/Minute { + String DimensionNames "nscan1"; + String Units "minutes"; + String CodeMissingValue "0"; + } + /S3/ScanTime/Year { + String DimensionNames "nscan1"; + String Units "years"; + String CodeMissingValue "-9999"; + } + /S3/ScanTime/SecondOfDay { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S3/ScanTime/Second { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "0"; + } + /S3/ScanTime/DayOfYear { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "-9999"; + } + /S3/ScanTime/Hour { + String DimensionNames "nscan1"; + String Units "hours"; + String CodeMissingValue "0"; + } + /S3/ScanTime/Month { + String DimensionNames "nscan1"; + String Units "months"; + String CodeMissingValue "0"; + } + /S3/ScanTime/DayOfMonth { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_14 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_01 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_05 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_10 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_12 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_08 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_03 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_06 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_15 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_13 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_00 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_07 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_05 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_09 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_09 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_01 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_12 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_04 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_00 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_10 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_03 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/IDX_PULSE_SECS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_14 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_13 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_02 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_04 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/IDX_PULSE_SUBS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_07 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_15 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SECS_11 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_11 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_08 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_02 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS/TACH_SUBS_06 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/SMPOFFST_10GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/NUMSMPLS_23GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/NUMSMPLS_18GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/SMPOFFST_18GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/SMPOFFST_36GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/NUMSMPLS_89GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/SMPOFFST_23GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/NUMSMPLS_10GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/NUMSMPLS_36GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/SMPOFFST_166GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/NUMSMPLS_183GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/SMPOFFST_89GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/SMPOFFST_183GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RSHSK_SAMPL_INFO/NUMSMPLS_166GHZ { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IE_BLANKING_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/CLR_STAT_N { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/PWR_STAT_LR_PR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/HTR_STAT_RS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/PWR_STAT_LR_RED { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/RDA_DEPL_STAT_2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/MR_LR_LOWR_STAT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/RDA_DEPL_STAT_3 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/HTR_STAT_HTLD { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IBS_LR3_STAT_N { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/RS_MST_RLY_STAT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IE_LATCHUP_PAD { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IBS_LR2_STAT_N { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IE_LATCHUP_SMPS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IE_LATCHUP_CHAN { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/HTR_STAT_SMA { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/MR_LR_LEFT_STAT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IBS_LR1_STAT_N { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/RDA_DEPL_STAT_4 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/PWR_STAT_A { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/RDA_DEPL_STAT_1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IE_LATCHUP_NUM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IE_LATCHUP_RETR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IE_PASSTHRU_RSP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/IE_LATCHUP_FAIL { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/MR_LR_RGHT_STAT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IE_TELEMETRY/HTR_STAT_RDA { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/TEMP_CALRES_6 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/TEMP_CALRES_2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/TEMP_CALRES_1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/SMA_MTR_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/SCE_A_BD_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/ROT_TEMP_SPARE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/IBS_LR3_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/ICA_BOX_TEMP_2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/RS_TEMP_2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/MR_LR_LOWR_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_11 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/SMA_BEARING_TMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/PC_BD_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/IE_BD_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/MR_LR_LEFT_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/CLR_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/TEMP_CALRES_4 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/LVPS_BD_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/TEMP_CALRES_3 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/RS_TEMP_1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/SCE_B_BD_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/RDA_TEMP_2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_9 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/RDA_TEMP_3 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_13 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/MR_LR_RGHT_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/CSR_TEMP1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/CE_BD_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_10 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/ICA_BOX_TEMP_1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_7 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_12 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/SMA_SLPRHTR_TMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_15 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_14 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/RDA_TEMP_1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/CSR_TEMP2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/MR_ICA_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/TEMP_CALRES_5 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/HL_TEMP_8 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/IBS_LR2_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/IEHSK_TEMP/IBS_LR1_TEMP { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/TORQUE_BAR/timeOffset { + String DimensionNames "nscan2"; + String Units "s"; + String CodeMissingValue "-9999.900391"; + } + /S3/TORQUE_BAR/Vx { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/TORQUE_BAR/Vy { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/TORQUE_BAR/Vz { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_17 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_16 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_29 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_30 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_22 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_29 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_27 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_18 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_23 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_31 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_23 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_19 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_25 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_24 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_25 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_30 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_16 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_28 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_22 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_26 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_20 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_28 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_18 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_20 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/SCAN_COMPL_SUBS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_19 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_31 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_24 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_17 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/SCAN_COMPL_SECS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SUBS_21 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_26 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_27 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/SYNCH_STAMPS2/TACH_SECS_21 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/TAM1/timeOffset { + String DimensionNames "nscan2"; + String Units "s"; + String CodeMissingValue "-9999.900391"; + } + /S3/TAM1/Vx { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/TAM1/Vy { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/TAM1/Vz { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/MECHANISMS/SCE_LAST_RESPNS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SMA_RATE_PROB { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_PASSPROT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_CMD_RATE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_A_POWER { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/LR_ENABLED { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SMA_CMD_RATE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/BILVL_RDARIGHT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_RATE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_B_POWER { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/TACH_PULSE_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/RAMP_ABRT_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/LR_ABRT_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/BILVL_IBS3 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SMA_SPINNING { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/MECH_CMD_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/OVRD_RDA_LR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SMA_RATE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/BILVL_CAL { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/RESOLVER_POS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_CMD_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_SELECTION { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/BILVL_IBS2 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/BILVL_RDALEFT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SMA_RTPRB_SEC { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/OVRD_IBS_LR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/RAMP_INPROGRESS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/BILVL_IBS1 { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/LR_RLS_IN_PROG { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/BILVL_RDALOWER { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_INHIBIT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/MECHANISMS/SCE_LAST_CMD { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/GMI_TEMPERATURES/timeOffset { + String DimensionNames "nscan2"; + String Units "s"; + String CodeMissingValue "-9999.900391"; + } + /S3/GMI_TEMPERATURES/SMA_PT_TEMP { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/GMI_TEMPERATURES/ICA_PT_TEMP { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/GMI_TEMPERATURES/RS_PT_TEMP { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/GMI_TEMPERATURES/STAT_PT_TEMP { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/GMI_TEMPERATURES/apid { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/GMI_TEMPERATURES/MR_PT_TEMP { + String DimensionNames "nscan2"; + String Units "count"; + String CodeMissingValue "65535"; + } + /S3/RS_INFO/RS_DQ_CAL_LIM { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/BLK_DURATION { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_89GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/OVRD_RS_PWR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/BLK_STATE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_BAD_REVS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_LAST_REV { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_SC_SIZE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/SMPL_TBL { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/PKT_STATE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/GSDR_LEFT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/OVRD_PASS_RS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_ENABLED { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/GSDR_APID { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_TLM_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_10GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_HSK_SIZE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_BAD_CONF { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/SAMPLE_TBL_VER { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_183GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_SCAN_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_PAR_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_MISSING { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_166GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/GSDR_B_PUSH_IDX { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_23GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/OVRD_SMA_SPIN { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_18GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_MST_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_PAR_ERR_CNT { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_SAME_REV { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_DUPES { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_36GHZ_RLY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/BLK_SIDE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_EXTRAS { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/GSDR_B_POP_IDX { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/GSDR_SIZE { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/BLK_DELAY { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_CLK_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_POWERED { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S3/RS_INFO/RS_DQ_PKT_ERR { + String DimensionNames "nscan2"; + String CodeMissingValue "0"; + } + /S4/ephemerisUsed { + String DimensionNames "nscan1,dim10"; + String CodeMissingValue "50"; + } + /S4/Longitude { + String DimensionNames "nscan2,npixelfr"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S4/fullRotation { + String DimensionNames "nscan2,npixelfr,nchannel1"; + String CodeMissingValue "0"; + } + /S4/Latitude { + String DimensionNames "nscan2,npixelfr"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S4/incidenceAngle { + String DimensionNames "nscan2,npixelfr"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S4/fullRotBlanking { + String DimensionNames "nscan2,npixelfr,VH"; + String CodeMissingValue "48"; + } + /S4/ScanTime/MilliSecond { + String DimensionNames "nscan1"; + String Units "ms"; + String CodeMissingValue "-9999"; + } + /S4/ScanTime/Minute { + String DimensionNames "nscan1"; + String Units "minutes"; + String CodeMissingValue "0"; + } + /S4/ScanTime/Year { + String DimensionNames "nscan1"; + String Units "years"; + String CodeMissingValue "-9999"; + } + /S4/ScanTime/SecondOfDay { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S4/ScanTime/Second { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "0"; + } + /S4/ScanTime/DayOfYear { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "-9999"; + } + /S4/ScanTime/Hour { + String DimensionNames "nscan1"; + String Units "hours"; + String CodeMissingValue "0"; + } + /S4/ScanTime/Month { + String DimensionNames "nscan1"; + String Units "months"; + String CodeMissingValue "0"; + } + /S4/ScanTime/DayOfMonth { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "0"; + } + /S5/ephemerisUsed { + String DimensionNames "nscan1,dim10"; + String CodeMissingValue "50"; + } + /S5/Longitude { + String DimensionNames "nscan2,npixelfr"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S5/fullRotation { + String DimensionNames "nscan2,npixelfr,nchannel2"; + String CodeMissingValue "0"; + } + /S5/Latitude { + String DimensionNames "nscan2,npixelfr"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S5/incidenceAngle { + String DimensionNames "nscan2,npixelfr"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S5/ScanTime/MilliSecond { + String DimensionNames "nscan1"; + String Units "ms"; + String CodeMissingValue "-9999"; + } + /S5/ScanTime/Minute { + String DimensionNames "nscan1"; + String Units "minutes"; + String CodeMissingValue "0"; + } + /S5/ScanTime/Year { + String DimensionNames "nscan1"; + String Units "years"; + String CodeMissingValue "-9999"; + } + /S5/ScanTime/SecondOfDay { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S5/ScanTime/Second { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "0"; + } + /S5/ScanTime/DayOfYear { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "-9999"; + } + /S5/ScanTime/Hour { + String DimensionNames "nscan1"; + String Units "hours"; + String CodeMissingValue "0"; + } + /S5/ScanTime/Month { + String DimensionNames "nscan1"; + String Units "months"; + String CodeMissingValue "0"; + } + /S5/ScanTime/DayOfMonth { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "0"; + } + /S1/hotLoadBlanking { + String DimensionNames "nscan1,npixelht,VH"; + String CodeMissingValue "48"; + } + /S1/Longitude { + String DimensionNames "nscan1,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/moonVectorInstFrame { + String DimensionNames "nscan1,GMIxyz"; + String Units "counts"; + String CodeMissingValue "-9999.900391"; + } + /S1/ephemerisUsed { + String DimensionNames "nscan1,dim10"; + String CodeMissingValue "50"; + } + /S1/coldSky { + String DimensionNames "nscan1,npixelcs,nchannel1"; + String CodeMissingValue "0"; + } + /S1/sunGlintAngle { + String DimensionNames "nscan1,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/Latitude { + String DimensionNames "nscan1,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/hotLoad { + String DimensionNames "nscan1,npixelht,nchannel1"; + String CodeMissingValue "0"; + } + /S1/earthView { + String DimensionNames "nscan1,npixelev,nchannel1"; + String CodeMissingValue "0"; + } + /S1/solarAzimuthAngle { + String DimensionNames "nscan1,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/satAzimuthAngle { + String DimensionNames "nscan1,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/solarZenAngle { + String DimensionNames "nscan1,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/incidenceAngle { + String DimensionNames "nscan1,npixelev"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/coldSkyBlanking { + String DimensionNames "nscan1,npixelcs,VH"; + String CodeMissingValue "48"; + } + /S1/earthViewBlanking { + String DimensionNames "nscan1,npixelev,VH"; + String CodeMissingValue "48"; + } + /S1/ScanTime/MilliSecond { + String DimensionNames "nscan1"; + String Units "ms"; + String CodeMissingValue "-9999"; + } + /S1/ScanTime/Minute { + String DimensionNames "nscan1"; + String Units "minutes"; + String CodeMissingValue "0"; + } + /S1/ScanTime/Year { + String DimensionNames "nscan1"; + String Units "years"; + String CodeMissingValue "-9999"; + } + /S1/ScanTime/SecondOfDay { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S1/ScanTime/Second { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "0"; + } + /S1/ScanTime/DayOfYear { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "-9999"; + } + /S1/ScanTime/Hour { + String DimensionNames "nscan1"; + String Units "hours"; + String CodeMissingValue "0"; + } + /S1/ScanTime/Month { + String DimensionNames "nscan1"; + String Units "months"; + String CodeMissingValue "62"; + } + /S1/ScanTime/DayOfMonth { + String DimensionNames "nscan1"; + String Units "days"; + String CodeMissingValue "47"; + } + /S1/navigation/scPos { + String DimensionNames "nscan1,XYZ"; + String Units "m"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/timeMidScanOffset { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S1/navigation/scAttPitchGeod { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scVel { + String DimensionNames "nscan1,XYZ"; + String Units "m/s"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scAttRollGeod { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scAttRollGeoc { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scAlt { + String DimensionNames "nscan1"; + String Units "m"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scLon { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scAttYawGeoc { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scAttPitchGeoc { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/dprAlt { + String DimensionNames "nscan1"; + String Units "m"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/greenHourAng { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scLat { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/scAttYawGeod { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/navigation/timeMidScan { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900000"; + } + /S1/sunData/phaseFromOrbitMidnight { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/sunData/sunEarthSeparation { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/sunData/earthAngularRadius { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/sunData/phaseOfEclipseExit { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/sunData/solarBetaAngle { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999.900391"; + } + /S1/sunData/timeSinceEclipseEntry { + String DimensionNames "nscan1"; + String Units "s"; + String CodeMissingValue "-9999.900391"; + } + /S1/sunData/orbitRate { + String DimensionNames "nscan1"; + String Units "degrees/s"; + String CodeMissingValue "-9999.900391"; + } + /S1/sunData/sunVectorInBodyFrame { + String DimensionNames "nscan1,"; + String CodeMissingValue "-9999.900391"; + } + /S1/scanStatus/operationalMode { + String DimensionNames "nscan1"; + String CodeMissingValue "0"; + } + /S1/scanStatus/modeStatus { + String DimensionNames "nscan1"; + String CodeMissingValue "0"; + } + /S1/scanStatus/targetSelectionMidScan { + String DimensionNames "nscan1"; + String CodeMissingValue "0"; + } + /S1/scanStatus/geoWarning { + String DimensionNames "nscan1"; + String CodeMissingValue "-9999"; + } + /S1/scanStatus/pointingStatus { + String DimensionNames "nscan1"; + String CodeMissingValue "-9999"; + } + /S1/scanStatus/geoError { + String DimensionNames "nscan1"; + String CodeMissingValue "-9999"; + } + /S1/scanStatus/dataQuality { + String DimensionNames "nscan1"; + String CodeMissingValue "0"; + } + /S1/scanStatus/acsModeMidScan { + String DimensionNames "nscan1"; + String CodeMissingValue "0"; + } + /S1/scanStatus/missing { + String DimensionNames "nscan1"; + String CodeMissingValue "0"; + } + /S1/scanStatus/FractionalGranuleNumber { + String DimensionNames "nscan1"; + String CodeMissingValue "-9999.900000"; + } + /S1/scanStatus/SCorientation { + String DimensionNames "nscan1"; + String Units "degrees"; + String CodeMissingValue "-9999"; + } + gmi1aHeader { + } + S2 { + String S2_SwathHeader "NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=221;ScanType=CONICAL;"; + ScanTime { + } + navigation { + } + sunData { + } + scanStatus { + } + } + S3 { + String S3_SwathHeader "NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=1;ScanType=CONICAL;"; + SMPL_INFO { + } + TAM2 { + } + RSHSK_STATUS { + } + GSDR_TIME { + } + RSHSK_GAIN { + } + RSHSK_TEMP { + } + SENSOR_INFO { + } + ScanTime { + } + SYNCH_STAMPS { + } + RSHSK_SAMPL_INFO { + } + IE_TELEMETRY { + } + IEHSK_TEMP { + } + TORQUE_BAR { + } + SYNCH_STAMPS2 { + } + TAM1 { + } + MECHANISMS { + } + GMI_TEMPERATURES { + } + RS_INFO { + } + } + S4 { + String S4_SwathHeader "NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=465;ScanType=CONICAL;"; + ScanTime { + } + } + S5 { + String S5_SwathHeader "NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=465;ScanType=CONICAL;"; + ScanTime { + } + } + S1 { + String S1_SwathHeader "NumberScansInSet=1;MaximumNumberScansTotal=3100;NumberScansBeforeGranule=0;NumberScansGranule=2961;NumberScansAfterGranule=0;NumberPixels=221;ScanType=CONICAL;"; + ScanTime { + } + navigation { + } + sunData { + } + scanStatus { + } + } + DAP4_GLOBAL { + String FileHeader "DOI=?;AlgorithmID=1AGMI;AlgorithmVersion=4.2;FileName=1A.GPM.GMI.COUNT2014v3.20160105-S230545-E003816.010538.V03B.HDF5;SatelliteName=GPM;InstrumentName=GMI;GenerationDateTime=2016-01-06T02:32:09.000Z;StartGranuleDateTime=2016-01-05T23:05:45.953Z;StopGranuleDateTime=2016-01-06T00:38:17.949Z;GranuleNumber=10538;NumberOfSwaths=5;NumberOfGrids=0;GranuleStart=SOUTHERNMOST_LATITUDE;TimeInterval=ORBIT;ProcessingSystem=PPS;ProductVersion=V03B;EmptyGranule=NOT_EMPTY;MissingData=0;"; + String InputRecord "InputFileNames=GPM.GMIS.20160105.230141102_20160105.230639231.001.SCANRAWGPM.GMIS.20160105.230641106_20160105.231139235.001.SCANRAWGPM.GMIS.20160105.231141110_20160105.231639239.001.SCANRAWGPM.GMIS.20160105.231641114_20160105.232139243.001.SCANRAWGPM.GMIS.20160105.232141118_20160105.232639247.001.SCANRAWGPM.GMIS.20160105.232641123_20160105.233139252.001.SCANRAWGPM.GMIS.20160105.233141127_20160105.233639256.001.SCANRAWGPM.GMIS.20160105.233641131_20160105.234139260.001.SCANRAWGPM.GMIS.20160105.234141135_20160105.234639264.001.SCANRAWGPM.GMIS.20160105.234641139_20160105.235139268.001.SCANRAWGPM.GMIS.20160105.235141143_20160105.235639272.001.SCANRAWGPM.GMIS.20160105.235641147_20160106.000139276.001.SCANRAWGPM.GMIS.20160106.000141152_20160106.000639281.001.SCANRAWGPM.GMIS.20160106.000641156_20160106.001139285.001.SCANRAWGPM.GMIS.20160106.001141160_20160106.001639289.001.SCANRAWGPM.GMIS.20160106.001641164_20160106.002139293.001.SCANRAWGPM.GMIS.20160106.002141168_20160106.002639297.001.SCANRAWGPM.GMIS.20160106.002641172_20160106.003139301.001.SCANRAWGPM.GMIS.20160106.003141176_20160106.003639305.001.SCANRAWGPM.GMIS.20160106.003641180_20160106.004139309.001.SCANRAW;InputAlgorithmVersions=n/a;InputGenerationDateTimes=n/a;"; + String NavigationRecord "LongitudeOnEquator=179.046739;UTCDateTimeOnEquator=2016-01-05T23:28:53.899Z;MeanSolarBetaAngle=-18.034080;EphemerisFileName=GPMCORE.20160105.230545953_20160106.003817949.001.EPHEM.txt;AttitudeFileName=GPMCORE.20160105.230545953_20160106.003817949.001.ATT.txt;GeoControlFileName=Control_Parameters_GMI_20140817.V03A.txt;EphemerisSource=7_PVT_WITH_FALLBACK_AS_FLAGGED;AttitudeSource=1_ON_BOARD_CALCULATED_PITCH_ROLL_YAW;GeoToolkitVersion=V3.8 1.7.2015 Nutation modified ;SensorAlignmentFirstRotationAngle=179.964996;SensorAlignmentSecondRotationAngle=0.004000;SensorAlignmentThirdRotationAngle=0.001000;SensorAlignmentFirstRotationAxis=1;SensorAlignmentSecondRotationAxis=2;SensorAlignmentThirdRotationAxis=3;"; + String FileInfo "DataFormatVersion=bc;TKCodeBuildVersion=1;MetadataVersion=bc;FormatPackage=HDF5-1.8.9;BlueprintFilename=GPM.V1.1AGMI.blueprint.xml;BlueprintVersion=BV_40;TKIOVersion=3.60.4;MetadataStyle=PVL;EndianType=LITTLE_ENDIAN;"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,12392 @@ +Attributes { + HDF5_GLOBAL { + String HDFEOSVersion "HDFEOS_V2.18"; + String StructMetadata_0 "GROUP=SwathStructure +END_GROUP=SwathStructure +GROUP=GridStructure + GROUP=GRID_1 + GridName=\"ascending\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqIR\" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_A\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"SurfPres_Forecast_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"SurfPres_Forecast_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"SurfPres_Forecast_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"SurfPres_Forecast_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"SurfPres_Forecast_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"SurfSkinTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"SurfSkinTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"SurfSkinTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"SurfSkinTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"SurfSkinTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"SurfSkinTemp_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"EmisIR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"EmisIR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"EmisIR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"EmisIR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"EmisIR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"EmisIR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"Temperature_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"Temperature_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"Temperature_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"Temperature_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"Temperature_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"Temperature_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"SurfAirTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"SurfAirTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"SurfAirTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName=\"SurfAirTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName=\"SurfAirTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName=\"SurfAirTemp_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName=\"TropPres_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName=\"TropPres_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName=\"TropPres_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName=\"TropPres_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName=\"TropPres_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName=\"TropTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName=\"TropTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName=\"TropTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName=\"TropTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName=\"TropTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName=\"TotH2OVap_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName=\"TotH2OVap_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName=\"TotH2OVap_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName=\"TotH2OVap_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName=\"TotH2OVap_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName=\"TotH2OVap_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName=\"H2O_MMR_Lyr_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName=\"H2O_MMR_Lyr_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName=\"H2O_MMR_Lyr_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName=\"H2O_MMR_Lyr_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName=\"H2O_MMR_Lyr_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName=\"H2O_MMR_Lyr_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName=\"H2O_MMR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName=\"H2O_MMR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName=\"H2O_MMR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName=\"H2O_MMR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName=\"H2O_MMR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName=\"H2O_MMR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName=\"H2O_MMR_Surf_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName=\"H2O_MMR_Surf_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName=\"H2O_MMR_Surf_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName=\"H2O_MMR_Surf_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName=\"H2O_MMR_Surf_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName=\"H2O_MMR_Surf_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName=\"RelHum_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName=\"RelHum_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName=\"RelHum_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName=\"RelHum_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName=\"RelHum_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName=\"RelHumSurf_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName=\"RelHumSurf_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName=\"RelHumSurf_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName=\"RelHumSurf_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName=\"RelHumSurf_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName=\"RelHum_liquid_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName=\"RelHum_liquid_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName=\"RelHum_liquid_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName=\"RelHum_liquid_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName=\"RelHum_liquid_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName=\"RelHumSurf_liquid_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName=\"RelHumSurf_liquid_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName=\"RelHumSurf_liquid_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName=\"RelHumSurf_liquid_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName=\"RelHumSurf_liquid_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName=\"TropHeight_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName=\"TropHeight_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName=\"TropHeight_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName=\"TropHeight_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName=\"TropHeight_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName=\"GPHeight_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName=\"GPHeight_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName=\"GPHeight_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName=\"GPHeight_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName=\"GPHeight_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName=\"CloudFrc_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName=\"CloudFrc_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName=\"CloudFrc_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName=\"CloudFrc_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName=\"CloudFrc_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName=\"CloudFrc_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName=\"CloudTopPres_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName=\"CloudTopPres_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName=\"CloudTopPres_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName=\"CloudTopPres_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName=\"CloudTopPres_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName=\"CloudTopPres_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName=\"CloudTopTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName=\"CloudTopTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName=\"CloudTopTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName=\"CloudTopTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName=\"CloudTopTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName=\"CloudTopTemp_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName=\"FineCloudFrc_A\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName=\"FineCloudFrc_A_ct\" + DataType=DFNT_INT16 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName=\"FineCloudFrc_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName=\"FineCloudFrc_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName=\"FineCloudFrc_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName=\"CoarseCloudFrc_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName=\"CoarseCloudFrc_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName=\"CoarseCloudFrc_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName=\"CoarseCloudFrc_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName=\"CoarseCloudFrc_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName=\"CoarseCloudPres_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName=\"CoarseCloudPres_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName=\"CoarseCloudPres_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName=\"CoarseCloudPres_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName=\"CoarseCloudPres_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName=\"CoarseCloudTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName=\"CoarseCloudTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName=\"CoarseCloudTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName=\"CoarseCloudTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName=\"CoarseCloudTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName=\"TotO3_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName=\"TotO3_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName=\"TotO3_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName=\"TotO3_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName=\"TotO3_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName=\"TotO3_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName=\"O3_VMR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName=\"O3_VMR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName=\"O3_VMR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName=\"O3_VMR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName=\"O3_VMR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName=\"O3_VMR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName=\"TotCO_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName=\"TotCO_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName=\"TotCO_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName=\"TotCO_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName=\"TotCO_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName=\"CO_VMR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName=\"CO_VMR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName=\"CO_VMR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + "; + String StructMetadata_1 " CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName=\"CO_VMR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName=\"CO_VMR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName=\"CO_VMR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName=\"TotCH4_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName=\"TotCH4_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName=\"TotCH4_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName=\"TotCH4_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName=\"TotCH4_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName=\"CH4_VMR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName=\"CH4_VMR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName=\"CH4_VMR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName=\"CH4_VMR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName=\"CH4_VMR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName=\"CH4_VMR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName=\"OLR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName=\"OLR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName=\"OLR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName=\"OLR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName=\"OLR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName=\"OLR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName=\"ClrOLR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName=\"ClrOLR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName=\"ClrOLR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName=\"ClrOLR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName=\"ClrOLR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName=\"ClrOLR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_1 + GROUP=GRID_2 + GridName=\"descending\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqIR\" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_D\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"SurfPres_Forecast_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"SurfPres_Forecast_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"SurfPres_Forecast_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"SurfPres_Forecast_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"SurfPres_Forecast_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"SurfSkinTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"SurfSkinTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"SurfSkinTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"SurfSkinTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"SurfSkinTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"SurfSkinTemp_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"EmisIR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"EmisIR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"EmisIR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"EmisIR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"EmisIR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"EmisIR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"Temperature_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"Temperature_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"Temperature_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"Temperature_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"Temperature_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"Temperature_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"SurfAirTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"SurfAirTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"SurfAirTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName=\"SurfAirTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName=\"SurfAirTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName=\"SurfAirTemp_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName=\"TropPres_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName=\"TropPres_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName=\"TropPres_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName=\"TropPres_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName=\"TropPres_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName=\"TropTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName=\"TropTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName=\"TropTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName=\"TropTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName=\"TropTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName=\"TotH2OVap_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName=\"TotH2OVap_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName=\"TotH2OVap_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName=\"TotH2OVap_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName=\"TotH2OVap_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName=\"TotH2OVap_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName=\"H2O_MMR_Lyr_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName=\"H2O_MMR_Lyr_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName=\"H2O_MMR_Lyr_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName=\"H2O_MMR_Lyr_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName=\"H2O_MMR_Lyr_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName=\"H2O_MMR_Lyr_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName=\"H2O_MMR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName=\"H2O_MMR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName=\"H2O_MMR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName=\"H2O_MMR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName=\"H2O_MMR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName=\"H2O_MMR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName=\"H2O_MMR_Surf_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName=\"H2O_MMR_Surf_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName=\"H2O_MMR_Surf_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName=\"H2O_MMR_Surf_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName=\"H2O_MMR_Surf_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName=\"H2O_MMR_Surf_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName=\"RelHum_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName=\"RelHum_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName=\"RelHum_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName=\"RelHum_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName=\"RelHum_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName=\"RelHumSurf_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName=\"RelHumSurf_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName=\"RelHumSurf_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName=\"RelHumSurf_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName=\"RelHumSurf_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName=\"RelHum_liquid_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName=\"RelHum_liquid_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName=\"RelHum_liquid_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName=\"RelHum_liquid_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName=\"RelHum_liquid_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName=\"RelHumSurf_liquid_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName=\"RelHumSurf_liquid_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName=\"RelHumSurf_liquid_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName=\"RelHumSurf_liquid_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName=\"RelHumSurf_liquid_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName=\"TropHeight_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName=\"TropHeight_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName=\"TropHeight_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName=\"TropHeight_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName=\"TropHeight_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName=\"GPHeight_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName=\"GPHeight_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName=\"GPHeight_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName=\"GPHeight_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName=\"GPHeight_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName=\"CloudFrc_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName=\"CloudFrc_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName=\"CloudFrc_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName=\"CloudFrc_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName=\"CloudFrc_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName=\"CloudFrc_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName=\"CloudTopPres_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName=\"CloudTopPres_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName=\"CloudTopPres_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName=\"CloudTopPres_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName=\"CloudTopPres_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName=\"CloudTopPres_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName=\"CloudTopTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName=\"CloudTopTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName=\"CloudTopTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName=\"CloudTopTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName=\"CloudTopTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName=\"CloudTopTemp_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName=\"FineCloudFrc_D\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName=\"FineCloudFrc_D_ct\" + DataType=DFNT_INT16 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName=\"FineCloudFrc_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName=\"FineCloudFrc_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName=\"FineCloudFrc_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName=\"CoarseCloudFrc_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName=\"CoarseCloudFrc_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName=\"CoarseCloudFrc_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName=\"CoarseCloudFrc_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName=\"CoarseCloudFrc_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName=\"CoarseCloudPres_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName=\"CoarseCloudPres_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName=\"CoarseCloudPres_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName=\"CoarseCloudPres_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + "; + String StructMetadata_2 " END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName=\"CoarseCloudPres_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName=\"CoarseCloudTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName=\"CoarseCloudTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName=\"CoarseCloudTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName=\"CoarseCloudTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName=\"CoarseCloudTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName=\"TotO3_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName=\"TotO3_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName=\"TotO3_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName=\"TotO3_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName=\"TotO3_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName=\"TotO3_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName=\"O3_VMR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName=\"O3_VMR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName=\"O3_VMR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName=\"O3_VMR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName=\"O3_VMR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName=\"O3_VMR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName=\"TotCO_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName=\"TotCO_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName=\"TotCO_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName=\"TotCO_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName=\"TotCO_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName=\"CO_VMR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName=\"CO_VMR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName=\"CO_VMR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName=\"CO_VMR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName=\"CO_VMR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName=\"CO_VMR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName=\"TotCH4_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName=\"TotCH4_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName=\"TotCH4_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName=\"TotCH4_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName=\"TotCH4_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName=\"CH4_VMR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName=\"CH4_VMR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName=\"CH4_VMR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName=\"CH4_VMR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName=\"CH4_VMR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName=\"CH4_VMR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName=\"OLR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName=\"OLR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName=\"OLR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName=\"OLR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName=\"OLR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName=\"OLR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName=\"ClrOLR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName=\"ClrOLR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName=\"ClrOLR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName=\"ClrOLR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName=\"ClrOLR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName=\"ClrOLR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_2 + GROUP=GRID_3 + GridName=\"ascending_TqJoint\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqIR\" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_TqJ_A\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"SurfPres_Forecast_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"SurfPres_Forecast_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"SurfPres_Forecast_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"SurfPres_Forecast_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"SurfPres_Forecast_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"SurfSkinTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"SurfSkinTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"SurfSkinTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"SurfSkinTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"SurfSkinTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"SurfSkinTemp_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"EmisIR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"EmisIR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"EmisIR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"EmisIR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"EmisIR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"EmisIR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"Temperature_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"Temperature_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"Temperature_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"Temperature_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"Temperature_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"Temperature_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"SurfAirTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"SurfAirTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"SurfAirTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName=\"SurfAirTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName=\"SurfAirTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName=\"SurfAirTemp_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName=\"TropPres_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName=\"TropPres_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName=\"TropPres_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName=\"TropPres_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName=\"TropPres_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName=\"TropTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName=\"TropTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName=\"TropTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName=\"TropTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName=\"TropTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName=\"TotH2OVap_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName=\"TotH2OVap_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName=\"TotH2OVap_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName=\"TotH2OVap_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName=\"TotH2OVap_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName=\"TotH2OVap_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName=\"H2O_MMR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName=\"H2O_MMR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName=\"H2O_MMR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName=\"H2O_MMR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName=\"H2O_MMR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName=\"H2O_MMR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName=\"H2O_MMR_Surf_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName=\"RelHum_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName=\"RelHum_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName=\"RelHum_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName=\"RelHum_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName=\"RelHum_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName=\"RelHumSurf_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName=\"RelHumSurf_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName=\"RelHumSurf_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName=\"RelHumSurf_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName=\"RelHumSurf_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName=\"RelHum_liquid_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName=\"RelHum_liquid_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName=\"RelHum_liquid_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName=\"RelHum_liquid_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName=\"RelHum_liquid_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName=\"RelHumSurf_liquid_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName=\"RelHumSurf_liquid_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName=\"RelHumSurf_liquid_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName=\"RelHumSurf_liquid_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName=\"RelHumSurf_liquid_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName=\"TropHeight_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName=\"TropHeight_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName=\"TropHeight_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName=\"TropHeight_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName=\"TropHeight_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName=\"GPHeight_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName=\"GPHeight_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName=\"GPHeight_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName=\"GPHeight_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName=\"GPHeight_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName=\"CloudFrc_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName=\"CloudFrc_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName=\"CloudFrc_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName=\"CloudFrc_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName=\"CloudFrc_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLA"; + String StructMetadata_3 "TE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName=\"CloudFrc_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName=\"CloudTopPres_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName=\"CloudTopPres_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName=\"CloudTopPres_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName=\"CloudTopPres_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName=\"CloudTopPres_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName=\"CloudTopPres_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName=\"CloudTopTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName=\"CloudTopTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName=\"CloudTopTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName=\"CloudTopTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName=\"CloudTopTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName=\"CloudTopTemp_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName=\"FineCloudFrc_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName=\"FineCloudFrc_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName=\"FineCloudFrc_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName=\"FineCloudFrc_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName=\"FineCloudFrc_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName=\"CoarseCloudFrc_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName=\"CoarseCloudFrc_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName=\"CoarseCloudFrc_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName=\"CoarseCloudFrc_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName=\"CoarseCloudFrc_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName=\"CoarseCloudPres_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName=\"CoarseCloudPres_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName=\"CoarseCloudPres_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName=\"CoarseCloudPres_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName=\"CoarseCloudPres_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName=\"CoarseCloudTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName=\"CoarseCloudTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName=\"CoarseCloudTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName=\"CoarseCloudTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName=\"CoarseCloudTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName=\"TotO3_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName=\"TotO3_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName=\"TotO3_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName=\"TotO3_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName=\"TotO3_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName=\"TotO3_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName=\"O3_VMR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName=\"O3_VMR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName=\"O3_VMR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName=\"O3_VMR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName=\"O3_VMR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName=\"O3_VMR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName=\"TotCO_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName=\"TotCO_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName=\"TotCO_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName=\"TotCO_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName=\"TotCO_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName=\"CO_VMR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName=\"CO_VMR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName=\"CO_VMR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName=\"CO_VMR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName=\"CO_VMR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName=\"CO_VMR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName=\"TotCH4_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName=\"TotCH4_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName=\"TotCH4_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName=\"TotCH4_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName=\"TotCH4_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName=\"CH4_VMR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName=\"CH4_VMR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName=\"CH4_VMR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName=\"CH4_VMR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName=\"CH4_VMR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName=\"CH4_VMR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName=\"OLR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName=\"OLR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName=\"OLR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName=\"OLR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName=\"OLR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName=\"OLR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName=\"ClrOLR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName=\"ClrOLR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName=\"ClrOLR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName=\"ClrOLR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName=\"ClrOLR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName=\"ClrOLR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_3 + GROUP=GRID_4 + GridName=\"descending_TqJoint\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqIR\" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_TqJ_D\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"SurfPres_Forecast_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"SurfPres_Forecast_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"SurfPres_Forecast_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"SurfPres_Forecast_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"SurfPres_Forecast_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"SurfSkinTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"SurfSkinTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"SurfSkinTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"SurfSkinTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"SurfSkinTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"SurfSkinTemp_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"EmisIR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"EmisIR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"EmisIR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"EmisIR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"EmisIR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"EmisIR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"Temperature_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"Temperature_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"Temperature_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"Temperature_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"Temperature_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"Temperature_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"SurfAirTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"SurfAirTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"SurfAirTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName=\"SurfAirTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName=\"SurfAirTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName=\"SurfAirTemp_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName=\"TropPres_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName=\"TropPres_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName=\"TropPres_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName=\"TropPres_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName=\"TropPres_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName=\"TropTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName=\"TropTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName=\"TropTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName=\"TropTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName=\"TropTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName=\"TotH2OVap_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName=\"TotH2OVap_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName=\"TotH2OVap_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName=\"TotH2OVap_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName=\"TotH2OVap_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName=\"TotH2OVap_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName=\"H2O_MMR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName=\"H2O_MMR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName=\"H2O_MMR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName=\"H2O_MMR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName=\"H2O_MMR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName=\"H2O_MMR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName=\"H2O_MMR_Surf_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName=\"RelHum_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName=\"RelHum_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName=\"RelHum_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName=\"RelHum_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName=\"RelHum_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName=\"RelHumSurf_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDF"; + String StructMetadata_4 "E_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName=\"RelHumSurf_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName=\"RelHumSurf_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName=\"RelHumSurf_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName=\"RelHumSurf_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName=\"RelHum_liquid_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName=\"RelHum_liquid_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName=\"RelHum_liquid_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName=\"RelHum_liquid_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName=\"RelHum_liquid_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName=\"RelHumSurf_liquid_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName=\"RelHumSurf_liquid_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName=\"RelHumSurf_liquid_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName=\"RelHumSurf_liquid_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName=\"RelHumSurf_liquid_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName=\"TropHeight_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName=\"TropHeight_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName=\"TropHeight_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName=\"TropHeight_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName=\"TropHeight_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName=\"GPHeight_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName=\"GPHeight_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName=\"GPHeight_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName=\"GPHeight_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName=\"GPHeight_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName=\"CloudFrc_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName=\"CloudFrc_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName=\"CloudFrc_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName=\"CloudFrc_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName=\"CloudFrc_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName=\"CloudFrc_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName=\"CloudTopPres_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName=\"CloudTopPres_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName=\"CloudTopPres_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName=\"CloudTopPres_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName=\"CloudTopPres_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName=\"CloudTopPres_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName=\"CloudTopTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName=\"CloudTopTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName=\"CloudTopTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName=\"CloudTopTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName=\"CloudTopTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName=\"CloudTopTemp_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName=\"FineCloudFrc_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName=\"FineCloudFrc_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName=\"FineCloudFrc_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName=\"FineCloudFrc_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName=\"FineCloudFrc_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName=\"CoarseCloudFrc_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName=\"CoarseCloudFrc_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName=\"CoarseCloudFrc_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName=\"CoarseCloudFrc_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName=\"CoarseCloudFrc_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName=\"CoarseCloudPres_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName=\"CoarseCloudPres_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName=\"CoarseCloudPres_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName=\"CoarseCloudPres_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName=\"CoarseCloudPres_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName=\"CoarseCloudTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName=\"CoarseCloudTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName=\"CoarseCloudTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName=\"CoarseCloudTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName=\"CoarseCloudTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName=\"TotO3_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName=\"TotO3_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName=\"TotO3_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName=\"TotO3_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName=\"TotO3_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName=\"TotO3_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName=\"O3_VMR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName=\"O3_VMR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName=\"O3_VMR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName=\"O3_VMR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName=\"O3_VMR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName=\"O3_VMR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName=\"TotCO_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName=\"TotCO_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName=\"TotCO_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName=\"TotCO_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName=\"TotCO_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName=\"CO_VMR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName=\"CO_VMR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName=\"CO_VMR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName=\"CO_VMR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName=\"CO_VMR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName=\"CO_VMR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName=\"TotCH4_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName=\"TotCH4_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName=\"TotCH4_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName=\"TotCH4_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName=\"TotCH4_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName=\"CH4_VMR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName=\"CH4_VMR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName=\"CH4_VMR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName=\"CH4_VMR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName=\"CH4_VMR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName=\"CH4_VMR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName=\"OLR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName=\"OLR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName=\"OLR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName=\"OLR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName=\"OLR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName=\"OLR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName=\"ClrOLR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName=\"ClrOLR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName=\"ClrOLR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName=\"ClrOLR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName=\"ClrOLR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName=\"ClrOLR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_4 + GROUP=GRID_5 + GridName=\"ascending_MW_only\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqMW\" + Size=3 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_MW_A\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"Emis_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"Emis_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"Emis_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"Emis_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"Emis_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"Temperature_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"Temperature_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"Temperature_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"Temperature_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"Temperature_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"TotH2OVap_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"TotH2OVap_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"TotH2OVap_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"TotH2OVap_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"TotH2OVap_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"GPHeight_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"GPHeight_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"GPHeight_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"GPHeight_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"GPHeight_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"TotCldLiqH2O_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"TotCldLiqH2O_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"TotCldLiqH2O_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"TotCldLiqH2O_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"TotCldLiqH2O_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"TotCldLiqH2O_MW_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_5 + GROUP=GRID_6 + GridName=\"descending_MW_only\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqMW\" + Size=3 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_MW_D\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"Emis_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"Emis_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"Emis_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"Emis_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"Emis_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"Temperature_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"Temperature_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"Temperature_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"Tempe"; + String StructMetadata_5 "rature_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"Temperature_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"TotH2OVap_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"TotH2OVap_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"TotH2OVap_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"TotH2OVap_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"TotH2OVap_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"GPHeight_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"GPHeight_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"GPHeight_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"GPHeight_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"GPHeight_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"TotCldLiqH2O_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"TotCldLiqH2O_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"TotCldLiqH2O_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"TotCldLiqH2O_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"TotCldLiqH2O_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"TotCldLiqH2O_MW_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_6 + GROUP=GRID_7 + GridName=\"location\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"Latitude\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"Longitude\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"LandSeaMask\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"Topography\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_7 +END_GROUP=GridStructure +GROUP=PointStructure +END_GROUP=PointStructure +END +"; + String identifier_product_doi "10.5067/AQUA/AIRS/DATA303"; + String identifier_product_doi_authority "http://dx.doi.org/"; + String coremetadata " +GROUP = INVENTORYMETADATA + GROUPTYPE = MASTERGROUP + + GROUP = ECSDATAGRANULE + + OBJECT = LOCALGRANULEID + NUM_VAL = 1 + VALUE = \"AIRS.2015.01.01.L3.RetStd_IR001.v6.0.11.0.G15013155825.hdf\" + END_OBJECT = LOCALGRANULEID + + OBJECT = PRODUCTIONDATETIME + NUM_VAL = 1 + VALUE = \"2015-01-13T20:58:27.000Z\" + END_OBJECT = PRODUCTIONDATETIME + + OBJECT = LOCALVERSIONID + NUM_VAL = 1 + VALUE = \"Unspecified\" + END_OBJECT = LOCALVERSIONID + + END_GROUP = ECSDATAGRANULE + + GROUP = MEASUREDPARAMETER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"1\" + + GROUP = QAFLAGS + CLASS = \"1\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"1\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"1\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"1\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"1\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"Surface Skin Temperature\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"2\" + + GROUP = QAFLAGS + CLASS = \"2\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"2\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"2\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"2\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"2\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"Surface Air Temperature\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"3\" + + GROUP = QAFLAGS + CLASS = \"3\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"3\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"3\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"3\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"3\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"Atmospheric Temperature\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"4\" + + GROUP = QAFLAGS + CLASS = \"4\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"4\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"4\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"4\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"4\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"Water Vapor Mass Mixing Ratio\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"5\" + + GROUP = QAFLAGS + CLASS = \"5\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"5\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"5\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"5\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"5\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"Total Precipitable Water Vapor\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"6\" + + GROUP = QAFLAGS + CLASS = \"6\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"6\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"6\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"6\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"6\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"Ozone Volume Mixing Ratio\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"7\" + + GROUP = QAFLAGS + CLASS = \"7\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"7\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"7\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"7\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"7\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"Total Ozone Burden\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"8\" + + GROUP = QAFLAGS + CLASS = \"8\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"8\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"8\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"8\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"8\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"Spectral IR Surface Emissivities\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"9\" + + GROUP = QAFLAGS + CLASS = \"9\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"9\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"9\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"9\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"9\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"Spectral IR Surf Bidirect Reflectivity\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"10\" + + GROUP = QAFLAGS + CLASS = \"10\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"10\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"10\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"10\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"10\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"MW Surface Brightness\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"11\" + + GROUP = QAFLAGS + CLASS = \"11\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"11\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"11\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"11\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"11\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"MW Emissivity\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"12\" + + GROUP = QAFLAGS + CLASS = \"12\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"12\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"12\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"12\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"12\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"Total Cloud Water\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"13\" + + GROUP = QAFLAGS + CLASS = \"13\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"13\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"13\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"13\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"13\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"Cloud Top Temperature\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"14\" + + GROUP = QAFLAGS + CLASS = \"14\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"14\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"14\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"14\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"14\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"Cloud Top Pressure\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"15\" + + GROUP = QAFLAGS + CLASS = \"15\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"15\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"15\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"15\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"15\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"Effective Cloud Fraction\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"16\" + + GROUP = QAFLAGS + CLASS = \"16\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"16\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"16\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"16\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"16\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"Geopotential Heights\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"17\" + + GROUP = QAFLAGS + CLASS = \"17\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"17\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"17\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"17\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"17\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"Geopotential Height of Surface\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + END_GROUP = MEASUREDPARAMETER + + GROUP = COLLECTIONDESCRIPTIONCLASS + + OBJECT = VERSIONID + NUM_VAL = 1 + VALUE = 6 + END_OBJECT = VERSIONID + + OBJECT = SHORTNAME + NUM_VAL = 1 + VALUE = \"AIRS3STD\" + END_OBJECT = SHORTNAME + + END_GROUP = COLLECTIONDESCRIPTIONCLASS + + GROUP = INPUTGRANULE + + OBJECT = INPUTPOINTER + NUM_VAL = 650 + VALUE = (\"L3h.land_sea_mask_1x1.v2.0.0.anc\", \"ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.055.L2.RetStd_IR.v6.0.11.0.G14365175636.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.056.L2.RetStd_IR.v6.0.11.0.G14365180609.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.057.L2.RetStd_IR.v6.0.11.0.G14365180401.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.058.L2.RetStd_IR.v6.0.11.0.G14365180553.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.059.L2.RetStd_IR.v6.0.11.0.G14365181436.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.060.L2.RetStd_IR.v6.0.11.0.G14365180531.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.061.L2.RetStd_IR.v6.0.11.0.G14365181233.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.062.L2.RetStd_IR.v6.0.11.0.G14365180832.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.063.L2.RetStd_IR.v6.0.11.0.G14365183039.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.064.L2.RetStd_IR.v6.0.11.0.G14365182829.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.065.L2.RetStd_IR.v6.0.11.0.G14365182053.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.066.L2.RetStd_IR.v6.0.11.0.G14365183514.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.067.L2.RetStd_IR.v6.0.11.0.G14365183828.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.068.L2.RetStd_IR.v6.0.11.0.G14365183507.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.069.L2.RetStd_IR.v6.0.11.0.G14365183535.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.070.L2.RetStd_IR.v6.0.11.0.G14365183316.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.071.L2.RetStd_IR.v6.0.11.0.G14365152846.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.072.L2.RetStd_IR.v6.0.11.0.G14365153202.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.073.L2.RetStd_IR.v6.0.11.0.G14365153118.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.074.L2.RetStd_IR.v6.0.11.0.G14365153119.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.075.L2.RetStd_IR.v6.0.11.0.G14365153426.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.076.L2.RetStd_IR.v6.0.11.0.G14365184042.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.077.L2.RetStd_IR.v6.0.11.0.G14365183557.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.078.L2.RetStd_IR.v6.0.11.0.G14365183532.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.079.L2.RetStd_IR.v6.0.11.0.G14365183104.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.080.L2.RetStd_IR.v6.0.11.0.G14365184608.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.081.L2.RetStd_IR.v6.0.11.0.G14365184504.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.082.L2.RetStd_IR.v6.0.11.0.G14365184050.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.083.L2.RetStd_IR.v6.0.11.0.G14365184154.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.084.L2.RetStd_IR.v6.0.11.0.G14365183901.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.085.L2.RetStd_IR.v6.0.11.0.G14365153038.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.086.L2.RetStd_IR.v6.0.11.0.G14365153448.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.087.L2.RetStd_IR.v6.0.11.0.G14365152807.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.088.L2.RetStd_IR.v6.0.11.0.G14365153349.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.089.L2.RetStd_IR.v6.0.11.0.G14365153047.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.090.L2.RetStd_IR.v6.0.11.0.G14365153612.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.091.L2.RetStd_IR.v6.0.11.0.G14365153108.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.092.L2.RetStd_IR.v6.0.11.0.G14365153812.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.093.L2.RetStd_IR.v6.0.11.0.G14365183855.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.094.L2.RetStd_IR.v6.0.11.0.G14365183812.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.095.L2.RetStd_IR.v6.0.11.0.G14365184633.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.096.L2.RetStd_IR.v6.0.11.0.G14365184444.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.097.L2.RetStd_IR.v6.0.11.0.G14365184648.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.098.L2.RetStd_IR.v6.0.11.0.G14365183704.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.099.L2.RetStd_IR.v6.0.11.0.G15001112252.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.100.L2.RetStd_IR.v6.0.11.0.G15001112337.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.101.L2.RetStd_IR.v6.0.11.0.G15001112454.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.102.L2.RetStd_IR.v6.0.11.0.G15001121450.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.103.L2.RetStd_IR.v6.0.11.0.G15001121555.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.104.L2.RetStd_IR.v6.0.11.0.G15001121126.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.105.L2.RetStd_IR.v6.0.11.0.G15001121847.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.106.L2.RetStd_IR.v6.0.11.0.G15001121719.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.107.L2.RetStd_IR.v6.0.11.0.G15001121742.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.108.L2.RetStd_IR.v6.0.11.0.G15001121931.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.109.L2.RetStd_IR.v6.0.11.0.G15001112317.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.110.L2.RetStd_IR.v6.0.11.0.G15001111928.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.111.L2.RetStd_IR.v6.0.11.0.G15001112201.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.112.L2.RetStd_IR.v6.0.11.0.G15001112555.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.113.L2.RetStd_IR.v6.0.11.0.G15001112533.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.114.L2.RetStd_IR.v6.0.11.0.G15001112324.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.115.L2.RetStd_IR.v6.0.11.0.G15001112456.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.116.L2.RetStd_IR.v6.0.11.0.G15001113125.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.117.L2.RetStd_IR.v6.0.11.0.G15001113307.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.118.L2.RetStd_IR.v6.0.11.0.G15001121744.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.119.L2.RetStd_IR.v6.0.11.0.G15001121523.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.120.L2.RetStd_IR.v6.0.11.0.G15001121809.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.121.L2.RetStd_IR.v6.0.11.0.G15001122742.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.122.L2.RetStd_IR.v6.0.11.0.G15001122658.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.123.L2.RetStd_IR.v6.0.11.0.G15001122647.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.124.L2.RetStd_IR.v6.0.11.0.G15001122758.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.125.L2.RetStd_IR.v6.0.11.0.G15001122916.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.126.L2.RetStd_IR.v6.0.11.0.G15001112919.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.127.L2.RetStd_IR.v6.0.11.0.G15001112540.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.128.L2.RetStd_IR.v6.0.11.0.G15001112352.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.129.L2.RetStd_IR.v6.0.11.0.G15001112411.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.130.L2.RetStd_IR.v6.0.11.0.G15001113230.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.131.L2.RetStd_IR.v6.0.11.0.G15001113119.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.132.L2.RetStd_IR.v6.0.11.0.G15001113007.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.133.L2.RetStd_IR.v6.0.11.0.G15001113225.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.134.L2.RetStd_IR.v6.0.11.0.G15001113808.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.135.L2.RetStd_IR.v6.0.11.0.G15001122341.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.136.L2.RetStd_IR.v6.0.11.0.G15001122617.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.137.L2.RetStd_IR.v6.0.11.0.G15001122757.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.138.L2.RetStd_IR.v6.0.11.0.G15001122806.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.139.L2.RetStd_IR.v6.0.11.0.G15001121953.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.140.L2.RetStd_IR.v6.0.11.0.G15001123930.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.141.L2.RetStd_IR.v6.0.11.0.G15001123125.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.142.L2.RetStd_IR.v6.0.11.0.G15001113748.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.143.L2.RetStd_IR.v6.0.11.0.G15001112737.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.144.L2.RetStd_IR.v6.0.11.0.G15001113003.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.145.L2.RetStd_IR.v6.0.11.0.G15001113230.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.146.L2.RetStd_IR.v6.0.11.0.G15001114106.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.147.L2.RetStd_IR.v6.0.11.0.G15001114058.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.148.L2.RetStd_IR.v6.0.11.0.G15001114011.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.149.L2.RetStd_IR.v6.0.11.0.G15001113240.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.150.L2.RetStd_IR.v6.0.11.0.G15001114027.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.151.L2.RetStd_IR.v6.0.11.0.G15001122827.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.152.L2.RetStd_IR.v6.0.11.0.G15001123538.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.153.L2.RetStd_IR.v6.0.11.0.G15001123916.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.154.L2.RetStd_IR.v6.0.11.0.G15001124009.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.155.L2.RetStd_IR.v6.0.11.0.G15001123025.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.156.L2.RetStd_IR.v6.0.11.0.G15001123730.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.157.L2.RetStd_IR.v6.0.11.0.G15001123737.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.158.L2.RetStd_IR.v6.0.11.0.G15001123910.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.159.L2.RetStd_IR.v6.0.11.0.G15001124227.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.160.L2.RetStd_IR.v6.0.11.0.G15001124401.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.161.L2.RetStd_IR.v6.0.11.0.G15001114845.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.162.L2.RetStd_IR.v6.0.11.0.G15001124228.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.163.L2.RetStd_IR.v6.0.11.0.G15001114844.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.164.L2.RetStd_IR.v6.0.11.0.G15001124857.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.165.L2.RetStd_IR.v6.0.11.0.G15001124952.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.166.L2.RetStd_IR.v6.0.11.0.G15001124925.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.167.L2.RetStd_IR.v6.0.11.0.G15001124554.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.168.L2.RetStd_IR.v6.0.11.0.G15001133331.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.169.L2.RetStd_IR.v6.0.11.0.G15001132820.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.170.L2.RetStd_IR.v6.0.11.0.G15001133254.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.171.L2.RetStd_IR.v6.0.11.0.G15001134121.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.172.L2.RetStd_IR.v6.0.11.0.G15001132820.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.173.L2.RetStd_IR.v6.0.11.0.G15001133547.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.174.L2.RetStd_IR.v6.0.11.0.G15001133537.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.175.L2.RetStd_IR.v6.0.11.0.G15001124547.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.176.L2.RetStd_IR.v6.0.11.0.G15001123747.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.177.L2.RetStd_IR.v6.0.11.0.G15001125030.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.178.L2.RetStd_IR.v6.0.11.0.G15001130611.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.179.L2.RetStd_IR.v6.0.11.0.G15001132817.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.180.L2.RetStd_IR.v6.0.11.0.G15001133118.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.181.L2.RetStd_IR.v6.0.11.0.G15001133309.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.182.L2.RetStd_IR.v6.0.11.0.G15001133107.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.183.L2.RetStd_IR.v6.0.11.0.G15001131946.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.184.L2.RetStd_IR.v6.0.11.0.G15001133155.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.185.L2.RetStd_IR.v6.0.11.0.G15001133220.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.186.L2.RetStd_IR.v6.0.11.0.G15001132310.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.187.L2.RetStd_IR.v6.0.11.0.G15001132626.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.188.L2.RetStd_IR.v6.0.11.0.G15001133340.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.189.L2.RetStd_IR.v6.0.11.0.G15001132921.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.190.L2.RetStd_IR.v6.0.11.0.G15001133754.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.191.L2.RetStd_IR.v6.0.11.0.G15001133910.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.192.L2.RetStd_IR.v6.0.11.0.G15001132252.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.193.L2.RetStd_IR.v6.0.11.0.G15001132853.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.194.L2.RetStd_IR.v6.0.11.0.G15001132309.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.195.L2.RetStd_IR.v6.0.11.0.G15001133230.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.196.L2.RetStd_IR.v6.0.11.0.G15001133152.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.197.L2.RetStd_IR.v6.0.11.0.G15001133131.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.198.L2.RetStd_IR.v6.0.11.0.G15001133019.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.199.L2.RetStd_IR.v6.0.11.0.G15001132942.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.200.L2.RetStd_IR.v6.0.11.0.G15001133106.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.201.L2.RetStd_IR.v6.0.11.0.G15001133439.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.202.L2.RetStd_IR.v6.0.11.0.G15001134303.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.203.L2.RetStd_IR.v6.0.11.0.G15005130154.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.207.L2.RetStd_IR.v6.0.11.0.G15005130151.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.208.L2.RetStd_IR.v6.0.11.0.G15001133403.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.209.L2.RetStd_IR.v6.0.11.0.G15001133154.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.210.L2.RetStd_IR.v6.0.11.0.G15001140847.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.211.L2.RetStd_IR.v6.0.11.0.G15001140918.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.212.L2.RetStd_IR.v6.0.11.0.G15001140048.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.213.L2.RetStd_IR.v6.0.11.0.G15001140836.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.214.L2.RetStd_IR.v6.0.11.0.G15001143257.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.215.L2.RetStd_IR.v6.0.11.0.G15001143509.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.216.L2.RetStd_IR.v6.0.11.0.G15001143224.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.217.L2.RetStd_IR.v6.0.11.0.G15001142507.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.218.L2.RetStd_IR.v6.0.11.0.G15001142356.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.219.L2.RetStd_IR.v6.0.11.0.G15001142449.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.220.L2.RetStd_IR.v6.0.11.0.G15001143342.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.221.L2.RetStd_IR.v6.0.11.0.G15001142649.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.222.L2.RetStd_IR.v6.0.11.0.G15001142507.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.223.L2.RetStd_IR.v6.0.11.0.G15001143551.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.224.L2.RetStd_IR.v6.0.11.0.G15001143436.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.225.L2.RetStd_IR.v6.0.11.0.G15001143407.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.226.L2.RetStd_IR.v6.0.11.0.G15001143334.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.227.L2.RetStd_IR.v6.0.11.0.G15001143724.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.228.L2.RetStd_IR.v6.0.11.0.G15001142825.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.229.L2.RetStd_IR.v6.0.11.0.G15001143906.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.230.L2.RetStd_IR.v6.0.11.0.G15001143334.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.231.L2.RetStd_IR.v6.0.11.0.G15001143856.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.232.L2.RetStd_IR.v6.0.11.0.G15001143931.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.233.L2.RetStd_IR.v6.0.11.0.G15001143734.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.234.L2.RetStd_IR.v6.0.11.0.G15001143742.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.235.L2.RetStd_IR.v6.0.11.0.G15001143709.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.236.L2.RetStd_IR.v6.0.11.0.G15001144722.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.237.L2.RetStd_IR.v6.0.11.0.G15001151739.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.238.L2.RetStd_IR.v6.0.11.0.G15001151841.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.239.L2.RetStd_IR.v6.0.11.0.G15001151414.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.240.L2.RetStd_IR.v6.0.11.0.G15001151429.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.001.L2.RetStd_IR.v6.0.11.0.G15001152042.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.002.L2.RetStd_IR.v6.0.11.0.G15001151208.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.003.L2.RetStd_IR.v6.0.11.0.G15001152330.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.004.L2.RetStd_IR.v6.0.11.0.G15001152513.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.005.L2.RetStd_IR.v6.0.11.0.G15001151614.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.006.L2.RetStd_IR.v6.0.11.0.G15001151846.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.007.L2.RetStd_IR.v6.0.11.0.G15001152452.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.008.L2.RetStd_IR.v6.0.11.0.G15001152727.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.009.L2.RetStd_IR.v6.0.11.0.G15001151627.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.010.L2.RetStd_IR.v6.0.11.0.G15001152200.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.011.L2.RetStd_IR.v6.0.11.0.G15001152521.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.012.L2.RetStd_IR.v6.0.11.0.G15001152452.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.013.L2.RetStd_IR.v6.0.11.0.G15001151700.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.014.L2.RetStd_IR.v6.0.11.0.G15001152535.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.015.L2.RetStd_IR.v6.0.11.0.G15001151943.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.016.L2.RetStd_IR.v6.0.11.0.G15001151926.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.017.L2.RetStd_IR.v6.0.11.0.G15001151956.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.018.L2.RetStd_IR.v6.0.11.0.G15001153329.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.019.L2.RetStd_IR.v6.0.11.0.G15001152849.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.020.L2.RetStd_IR.v6.0.11.0.G15001153854.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.021.L2.RetStd_IR.v6.0.11.0.G15001153942.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.022.L2.RetStd_IR.v6.0.11.0.G15001153854.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.023.L2.RetStd_IR.v6.0.11.0.G15001153138.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.024.L2.RetStd_IR.v6.0.11.0.G15001154050.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.025.L2.RetStd_IR.v6.0.11.0.G15001154036.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.026.L2.RetStd_IR.v6.0.11.0.G15001153845.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.027.L2.RetStd_IR.v6.0.11.0.G15001154028.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.028.L2.RetStd_IR.v6.0.11.0.G15001155105.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.029.L2.RetStd_IR.v6.0.11.0.G15001154239.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.030.L2.RetStd_IR.v6.0.11.0.G15001154402.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.031.L2.RetStd_IR.v6.0.11.0.G15001155222.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.032.L2.RetStd_IR.v6.0.11.0.G15001154526.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.033.L2.RetStd_IR.v6.0.11.0.G15001155447.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.034.L2.RetStd_IR.v6.0.11.0.G15001155127.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.035.L2.RetStd_IR.v6.0.11.0.G15001155102.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.036.L2.RetStd_IR.v6.0.11.0.G15001154633.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.037.L2.RetStd_IR.v6.0.11.0.G15001154716.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.038.L2.RetStd_IR.v6.0.11.0.G15001155536.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.039.L2.RetStd_IR.v6.0.11.0.G15001155703.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.040.L2.RetStd_IR.v6.0.11.0.G15001155837.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.041.L2.RetStd_IR.v6.0.11.0.G15001155847.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.042.L2.RetStd_IR.v6.0.11.0.G15001155605.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.043.L2.RetStd_IR.v6.0.11.0.G15001155602.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.044.L2.RetStd_IR.v6.0.11.0.G15001160024.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS"; + String coremetadata_1 "/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.045.L2.RetStd_IR.v6.0.11.0.G15001155356.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.046.L2.RetStd_IR.v6.0.11.0.G15001160150.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.047.L2.RetStd_IR.v6.0.11.0.G15001160025.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.048.L2.RetStd_IR.v6.0.11.0.G15001155255.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.049.L2.RetStd_IR.v6.0.11.0.G15001160227.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.050.L2.RetStd_IR.v6.0.11.0.G15001160259.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.051.L2.RetStd_IR.v6.0.11.0.G15001160059.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.052.L2.RetStd_IR.v6.0.11.0.G15001160023.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.053.L2.RetStd_IR.v6.0.11.0.G15001160420.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.054.L2.RetStd_IR.v6.0.11.0.G15001160527.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.055.L2.RetStd_IR.v6.0.11.0.G15001160542.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.056.L2.RetStd_IR.v6.0.11.0.G15001160541.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.057.L2.RetStd_IR.v6.0.11.0.G15001160420.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.058.L2.RetStd_IR.v6.0.11.0.G15001155707.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.059.L2.RetStd_IR.v6.0.11.0.G15001160304.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.060.L2.RetStd_IR.v6.0.11.0.G15001160458.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.061.L2.RetStd_IR.v6.0.11.0.G15001160000.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.062.L2.RetStd_IR.v6.0.11.0.G15001160948.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.063.L2.RetStd_IR.v6.0.11.0.G15001161300.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.064.L2.RetStd_IR.v6.0.11.0.G15001161047.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.065.L2.RetStd_IR.v6.0.11.0.G15001161344.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.066.L2.RetStd_IR.v6.0.11.0.G15001160521.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.067.L2.RetStd_IR.v6.0.11.0.G15001161238.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.068.L2.RetStd_IR.v6.0.11.0.G15001160928.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.069.L2.RetStd_IR.v6.0.11.0.G15001160457.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.070.L2.RetStd_IR.v6.0.11.0.G15001161641.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.071.L2.RetStd_IR.v6.0.11.0.G15001161626.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.072.L2.RetStd_IR.v6.0.11.0.G15001161630.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.073.L2.RetStd_IR.v6.0.11.0.G15001161503.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.074.L2.RetStd_IR.v6.0.11.0.G15001161447.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.075.L2.RetStd_IR.v6.0.11.0.G15001161546.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.076.L2.RetStd_IR.v6.0.11.0.G15001161611.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.077.L2.RetStd_IR.v6.0.11.0.G15001161508.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.078.L2.RetStd_IR.v6.0.11.0.G15001161622.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.079.L2.RetStd_IR.v6.0.11.0.G15001161850.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.080.L2.RetStd_IR.v6.0.11.0.G15001161330.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.081.L2.RetStd_IR.v6.0.11.0.G15001162050.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.082.L2.RetStd_IR.v6.0.11.0.G15001162126.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.083.L2.RetStd_IR.v6.0.11.0.G15001162127.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.084.L2.RetStd_IR.v6.0.11.0.G15001161314.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.085.L2.RetStd_IR.v6.0.11.0.G15001161203.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.086.L2.RetStd_IR.v6.0.11.0.G15001162413.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.087.L2.RetStd_IR.v6.0.11.0.G15001162629.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.088.L2.RetStd_IR.v6.0.11.0.G15001162549.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.089.L2.RetStd_IR.v6.0.11.0.G15001162651.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.090.L2.RetStd_IR.v6.0.11.0.G15001162543.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.091.L2.RetStd_IR.v6.0.11.0.G15001161835.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.092.L2.RetStd_IR.v6.0.11.0.G15001162614.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.093.L2.RetStd_IR.v6.0.11.0.G15001162343.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.094.L2.RetStd_IR.v6.0.11.0.G15001162459.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.095.L2.RetStd_IR.v6.0.11.0.G15001162051.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.096.L2.RetStd_IR.v6.0.11.0.G15001162935.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.097.L2.RetStd_IR.v6.0.11.0.G15001162309.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.098.L2.RetStd_IR.v6.0.11.0.G15001162341.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.099.L2.RetStd_IR.v6.0.11.0.G15002114912.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.100.L2.RetStd_IR.v6.0.11.0.G15002105152.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.101.L2.RetStd_IR.v6.0.11.0.G15002104255.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.102.L2.RetStd_IR.v6.0.11.0.G15002104550.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.103.L2.RetStd_IR.v6.0.11.0.G15002105611.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.104.L2.RetStd_IR.v6.0.11.0.G15002105410.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.105.L2.RetStd_IR.v6.0.11.0.G15002104610.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.106.L2.RetStd_IR.v6.0.11.0.G15002105220.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.107.L2.RetStd_IR.v6.0.11.0.G15002105231.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.108.L2.RetStd_IR.v6.0.11.0.G15002105515.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.109.L2.RetStd_IR.v6.0.11.0.G15002114710.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.110.L2.RetStd_IR.v6.0.11.0.G15002115324.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.111.L2.RetStd_IR.v6.0.11.0.G15002115907.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.112.L2.RetStd_IR.v6.0.11.0.G15002115706.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.113.L2.RetStd_IR.v6.0.11.0.G15002115556.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.114.L2.RetStd_IR.v6.0.11.0.G15002115858.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.115.L2.RetStd_IR.v6.0.11.0.G15002120011.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.116.L2.RetStd_IR.v6.0.11.0.G15002105441.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.117.L2.RetStd_IR.v6.0.11.0.G15002110109.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.118.L2.RetStd_IR.v6.0.11.0.G15002105852.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.119.L2.RetStd_IR.v6.0.11.0.G15002110600.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.120.L2.RetStd_IR.v6.0.11.0.G15002110501.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.121.L2.RetStd_IR.v6.0.11.0.G15002105542.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.122.L2.RetStd_IR.v6.0.11.0.G15002110458.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.123.L2.RetStd_IR.v6.0.11.0.G15002110543.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.124.L2.RetStd_IR.v6.0.11.0.G15002110615.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.125.L2.RetStd_IR.v6.0.11.0.G15002110349.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.126.L2.RetStd_IR.v6.0.11.0.G15002115301.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.127.L2.RetStd_IR.v6.0.11.0.G15002120040.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.128.L2.RetStd_IR.v6.0.11.0.G15002120238.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.129.L2.RetStd_IR.v6.0.11.0.G15002120005.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.130.L2.RetStd_IR.v6.0.11.0.G15002120016.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.131.L2.RetStd_IR.v6.0.11.0.G15002120103.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.132.L2.RetStd_IR.v6.0.11.0.G15002120220.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.133.L2.RetStd_IR.v6.0.11.0.G15002110236.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.134.L2.RetStd_IR.v6.0.11.0.G15002110423.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.135.L2.RetStd_IR.v6.0.11.0.G15002110949.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.136.L2.RetStd_IR.v6.0.11.0.G15002111218.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.137.L2.RetStd_IR.v6.0.11.0.G15002111332.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.138.L2.RetStd_IR.v6.0.11.0.G15002111109.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.139.L2.RetStd_IR.v6.0.11.0.G15002111040.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.140.L2.RetStd_IR.v6.0.11.0.G15002111233.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.141.L2.RetStd_IR.v6.0.11.0.G15002111107.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.142.L2.RetStd_IR.v6.0.11.0.G15002115753.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.143.L2.RetStd_IR.v6.0.11.0.G15002115906.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.144.L2.RetStd_IR.v6.0.11.0.G15002120300.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.145.L2.RetStd_IR.v6.0.11.0.G15002115429.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.146.L2.RetStd_IR.v6.0.11.0.G15002115359.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.147.L2.RetStd_IR.v6.0.11.0.G15002121009.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.148.L2.RetStd_IR.v6.0.11.0.G15002120243.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.149.L2.RetStd_IR.v6.0.11.0.G15002111104.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.150.L2.RetStd_IR.v6.0.11.0.G15002110415.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.151.L2.RetStd_IR.v6.0.11.0.G15002110924.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.152.L2.RetStd_IR.v6.0.11.0.G15002111152.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.153.L2.RetStd_IR.v6.0.11.0.G15002112133.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.154.L2.RetStd_IR.v6.0.11.0.G15002112231.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.155.L2.RetStd_IR.v6.0.11.0.G15002111130.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.156.L2.RetStd_IR.v6.0.11.0.G15002112116.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.157.L2.RetStd_IR.v6.0.11.0.G15002112328.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.158.L2.RetStd_IR.v6.0.11.0.G15002111705.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.159.L2.RetStd_IR.v6.0.11.0.G15002120640.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.160.L2.RetStd_IR.v6.0.11.0.G15002120855.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.161.L2.RetStd_IR.v6.0.11.0.G15002121010.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.162.L2.RetStd_IR.v6.0.11.0.G15002120211.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.163.L2.RetStd_IR.v6.0.11.0.G15002120936.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.164.L2.RetStd_IR.v6.0.11.0.G15002120840.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.165.L2.RetStd_IR.v6.0.11.0.G15002121126.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.166.L2.RetStd_IR.v6.0.11.0.G15002111557.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.167.L2.RetStd_IR.v6.0.11.0.G15002110800.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.168.L2.RetStd_IR.v6.0.11.0.G15002112142.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.169.L2.RetStd_IR.v6.0.11.0.G15002113003.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.170.L2.RetStd_IR.v6.0.11.0.G15002112915.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.171.L2.RetStd_IR.v6.0.11.0.G15002120326.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.172.L2.RetStd_IR.v6.0.11.0.G15002121142.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.173.L2.RetStd_IR.v6.0.11.0.G15002112118.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.174.L2.RetStd_IR.v6.0.11.0.G15002121844.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.175.L2.RetStd_IR.v6.0.11.0.G15002121805.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.176.L2.RetStd_IR.v6.0.11.0.G15002125833.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.177.L2.RetStd_IR.v6.0.11.0.G15002130357.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.178.L2.RetStd_IR.v6.0.11.0.G15002130857.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.179.L2.RetStd_IR.v6.0.11.0.G15002130247.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.180.L2.RetStd_IR.v6.0.11.0.G15002125953.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.181.L2.RetStd_IR.v6.0.11.0.G15002130101.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.182.L2.RetStd_IR.v6.0.11.0.G15002121331.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.183.L2.RetStd_IR.v6.0.11.0.G15002121114.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.184.L2.RetStd_IR.v6.0.11.0.G15002122254.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.185.L2.RetStd_IR.v6.0.11.0.G15002122522.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.186.L2.RetStd_IR.v6.0.11.0.G15002122513.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.187.L2.RetStd_IR.v6.0.11.0.G15002121621.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.188.L2.RetStd_IR.v6.0.11.0.G15002121708.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.189.L2.RetStd_IR.v6.0.11.0.G15002130015.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.190.L2.RetStd_IR.v6.0.11.0.G15002130829.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.191.L2.RetStd_IR.v6.0.11.0.G15002130608.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.192.L2.RetStd_IR.v6.0.11.0.G15002130236.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.193.L2.RetStd_IR.v6.0.11.0.G15002130513.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.194.L2.RetStd_IR.v6.0.11.0.G15002130424.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.195.L2.RetStd_IR.v6.0.11.0.G15002130610.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.196.L2.RetStd_IR.v6.0.11.0.G15002131235.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.197.L2.RetStd_IR.v6.0.11.0.G15002131203.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.198.L2.RetStd_IR.v6.0.11.0.G15002131251.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.199.L2.RetStd_IR.v6.0.11.0.G15002130219.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.200.L2.RetStd_IR.v6.0.11.0.G15002130826.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.201.L2.RetStd_IR.v6.0.11.0.G15002131246.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.202.L2.RetStd_IR.v6.0.11.0.G15002131340.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.203.L2.RetStd_IR.v6.0.11.0.G15002131321.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.204.L2.RetStd_IR.v6.0.11.0.G15002130923.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.205.L2.RetStd_IR.v6.0.11.0.G15002131031.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.206.L2.RetStd_IR.v6.0.11.0.G15002130742.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.207.L2.RetStd_IR.v6.0.11.0.G15002125940.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.208.L2.RetStd_IR.v6.0.11.0.G15002131036.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.209.L2.RetStd_IR.v6.0.11.0.G15002131302.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.210.L2.RetStd_IR.v6.0.11.0.G15002131406.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.211.L2.RetStd_IR.v6.0.11.0.G15002131056.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.212.L2.RetStd_IR.v6.0.11.0.G15002131934.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.213.L2.RetStd_IR.v6.0.11.0.G15002132104.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.214.L2.RetStd_IR.v6.0.11.0.G15002135805.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.215.L2.RetStd_IR.v6.0.11.0.G15002135608.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.216.L2.RetStd_IR.v6.0.11.0.G15002140045.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.217.L2.RetStd_IR.v6.0.11.0.G15002135803.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.218.L2.RetStd_IR.v6.0.11.0.G15002140704.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.219.L2.RetStd_IR.v6.0.11.0.G15002135319.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.220.L2.RetStd_IR.v6.0.11.0.G15002140611.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.221.L2.RetStd_IR.v6.0.11.0.G15002135907.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.222.L2.RetStd_IR.v6.0.11.0.G15002141019.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.223.L2.RetStd_IR.v6.0.11.0.G15002140425.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.224.L2.RetStd_IR.v6.0.11.0.G15002140057.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.225.L2.RetStd_IR.v6.0.11.0.G15002140356.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.226.L2.RetStd_IR.v6.0.11.0.G15002140509.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.227.L2.RetStd_IR.v6.0.11.0.G15002135626.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.228.L2.RetStd_IR.v6.0.11.0.G15002140444.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.229.L2.RetStd_IR.v6.0.11.0.G15002140509.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.230.L2.RetStd_IR.v6.0.11.0.G15002140723.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.231.L2.RetStd_IR.v6.0.11.0.G15002140928.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.232.L2.RetStd_IR.v6.0.11.0.G15002140326.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.233.L2.RetStd_IR.v6.0.11.0.G15002140608.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.234.L2.RetStd_IR.v6.0.11.0.G15002141022.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.235.L2.RetStd_IR.v6.0.11.0.G15002142102.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.236.L2.RetStd_IR.v6.0.11.0.G15002142056.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.237.L2.RetStd_IR.v6.0.11.0.G15002142838.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.238.L2.RetStd_IR.v6.0.11.0.G15002143740.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.239.L2.RetStd_IR.v6.0.11.0.G15002143808.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.240.L2.RetStd_IR.v6.0.11.0.G15002143506.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.001.L2.RetStd_IR.v6.0.11.0.G15002144502.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.002.L2.RetStd_IR.v6.0.11.0.G15002143656.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.003.L2.RetStd_IR.v6.0.11.0.G15002145440.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.004.L2.RetStd_IR.v6.0.11.0.G15002145435.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.005.L2.RetStd_IR.v6.0.11.0.G15002144541.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.006.L2.RetStd_IR.v6.0.11.0.G15002145629.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.007.L2.RetStd_IR.v6.0.11.0.G15002150004.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.008.L2.RetStd_IR.v6.0.11.0.G15002145610.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.009.L2.RetStd_IR.v6.0.11.0.G15002145547.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.010.L2.RetStd_IR.v6.0.11.0.G15002145845.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.011.L2.RetStd_IR.v6.0.11.0.G15002150142.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.012.L2.RetStd_IR.v6.0.11.0.G15002145344.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.013.L2.RetStd_IR.v6.0.11.0.G15002150302.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.014.L2.RetStd_IR.v6.0.11.0.G15002150452.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.015.L2.RetStd_IR.v6.0.11.0.G15002150443.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.016.L2.RetStd_IR.v6.0.11.0.G15002145601.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.017.L2.RetStd_IR.v6.0.11.0.G15002145317.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.018.L2.RetStd_IR.v6.0.11.0.G15002150302.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.019.L2.RetStd_IR.v6.0.11.0.G15002150402.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.020.L2.RetStd_IR.v6.0.11.0.G15002150059.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.021.L2.RetStd_IR.v6.0.11.0.G15002145511.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.022.L2.RetStd_IR.v6.0.11.0.G15002150630.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.023.L2.RetStd_IR.v6.0.11.0.G15002150640.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.024.L2.RetStd_IR.v6.0.11.0.G15002145829.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.025.L2.RetStd_IR.v6.0.11.0.G15002150528.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.026.L2.RetStd_IR.v6.0.11.0.G15002150855.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.027.L2.RetStd_IR.v6.0.11.0.G15002151315.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.028.L2.RetStd_IR.v6.0.11.0.G15002151410.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.029.L2.RetStd_IR.v6.0.11.0.G15002151414.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.030.L2.RetStd_IR.v6.0.11.0.G15002151545.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.031.L2.RetStd_IR.v6.0.11.0.G15002151559.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.032.L2.RetStd_IR.v6.0.11.0.G15002150753.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.033.L2.RetStd_IR.v6.0.11.0.G15002151150.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.034.L2.RetStd_IR.v6.0.11.0.G15002151433.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.035.L2.RetStd_IR.v6.0.11.0.G15002150908.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.036.L2.RetStd_IR.v6.0.11.0.G15002151854.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.037.L2.RetStd_IR.v6.0.11.0.G15002152151.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.038.L2.RetStd_IR.v6.0.11.0.G15002152007.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.039.L2.RetStd_IR.v6.0.11.0.G15002151415.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.040.L2.RetStd_IR.v6.0.11.0.G15002152405.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.041.L2.RetStd_IR.v6.0.11.0.G15002152409.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.042.L2.RetStd_IR.v6.0.11.0.G15002151441.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.043.L2.RetStd_IR.v6.0.11.0.G15002152533.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.044.L2.RetStd_IR.v6.0.11.0.G15002152820.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.045.L2.RetStd_IR.v6.0.11.0.G15002152811.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.046.L2.RetStd_IR.v6.0.11.0.G15002152804.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.047.L2.RetStd_IR.v6.0.11.0.G15002152003.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.048.L2.RetStd_IR.v6.0.11.0.G15002152847.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.049.L2.RetStd_IR.v6.0.11.0.G15002152545.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.050.L2.RetStd_IR.v6.0.11.0.G15002152458.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.051.L2.RetStd_IR.v6.0.11.0.G15002152645.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.052.L2.RetStd_IR.v6.0.11.0.G15002152147.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.053.L2.RetStd_IR.v6.0.11.0.G15002153103.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.054.L2.RetStd_IR.v6.0.11.0.G15002153052.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.055.L2.RetStd_IR.v6.0.11.0.G15002152229.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.056.L2.RetStd_IR.v6.0.11.0.G15002152936.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.057.L2.RetStd_IR.v6.0.11.0.G15002152349.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.058.L2.RetStd_IR.v6.0.11.0.G15002152936.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.059.L2.RetStd_IR.v6.0.11.0.G15002152756.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.060.L2.RetStd_IR.v6.0.11.0.G15002152512.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.061.L2.RetStd_IR.v6.0.11.0.G15002152628.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.062.L2.RetStd_IR.v6.0.11.0.G15002153425.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.063.L2.RetStd_IR.v6.0.11.0.G15002153525.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.064.L2.RetStd_IR.v6.0.11.0.G15002153234.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.065.L2.RetStd_IR.v6.0.11.0.G15002153231.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.066.L2.RetStd_IR.v6.0.11.0.G15002153250.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.067.L2.RetStd_IR.v6.0.11.0.G15002153406.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.068.L2.RetStd_IR.v6.0.11.0.G15002153454.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.069.L2.RetStd_IR.v6.0.11.0.G15002153555.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.070.L2.RetStd_IR.v6.0.11.0.G15002153729.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.071.L2.RetStd_IR.v6.0.11.0.G15002153658.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.072.L2.RetStd_IR.v6.0.11.0.G15002153044.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.073.L2.RetStd_IR.v6.0.11.0.G15002154018.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.074.L2.RetStd_IR.v6.0.11.0.G15002153915.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.075.L2.RetStd_IR.v6.0.11.0.G15002153643.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.076.L2.RetStd_IR.v6.0.11.0.G15002153803.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.077.L2.RetStd_IR.v6.0.11.0.G15002153427.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.078.L2.RetStd_IR.v6.0.11.0.G15002153431.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.079.L2.RetStd_IR.v6.0.11.0.G15002154245.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.080.L2.RetStd_IR.v6.0.11.0.G15002154405.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.081.L2.RetStd_IR.v6.0.11.0.G15002154211.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.082.L2.RetStd_IR.v6.0.11.0.G15002154158.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.083.L2.RetStd_IR.v6.0.11.0.G15002154251.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.084.L2.RetStd_IR.v6.0.11.0.G15002154153.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.085.L2.RetStd_IR.v6.0.11.0.G15002154328.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.086.L2.RetStd_IR.v6.0.11.0.G15002154358.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.087.L2.RetStd_IR.v6.0.11.0.G15002154600.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.088.L2.RetStd_IR.v6.0.11.0.G15002154600.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.089.L2.RetStd_IR.v6.0.11.0.G15002154618.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.090.L2.RetStd_IR.v6.0.11.0.G15002153918.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.091.L2.RetStd_IR.v6.0.11.0.G15002154551.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.092.L2.RetStd_IR.v6.0.11.0.G15002153637.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.093.L2.RetStd_IR.v6.0.11.0.G15002154916.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.094.L2.RetStd_IR.v6.0.11.0.G15002154249.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.095.L2.RetStd_IR.v6.0.11.0.G15002155306.hdf\") + END_OBJECT = INPUTPOINTER + + END_GROUP = INPUTGRANULE + + GROUP = SPATIALDOMAINCONTAINER + + GROUP = HORIZONTALSPATIALDOMAINCONTAINER + + GROUP = BOUNDINGRECTANGLE + + OBJECT = EASTBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = 180.0 + END_OBJECT = EASTBOUNDINGCOORDINATE + + OBJECT = WESTBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = -180.0 + END_OBJECT = WESTBOUNDINGCOORDINATE + + OBJECT = SOUTHBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = -90.0 + END_OBJECT = SOUTHBOUNDINGCOORDINATE + + OBJECT = NORTHBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = 90.0 + END_OBJECT = NORTHBOUNDINGCOORDINATE + + END_GROUP = BOUNDINGRECTANGLE + + END_GROUP = HORIZONTALSPATIALDOMAINCONTAINER + + GROUP = GRANULELOCALITY + + OBJECT = LOCALITYVALUE + NUM_VAL = 1 + VALUE = \"Global\" + END_OBJECT = LOCALITYVALUE + + END_GROUP = GRANULELOCALITY + + END_GROUP = SPATIALDOMAINCONTAINER + + GROUP = RANGEDATETIME + + OBJECT = RANGEENDINGDATE + NUM_VAL = 1 + VALUE = \"2015-01-02\" + END_OBJECT = RANGEENDINGDATE + + OBJECT = RANGEENDINGTIME + NUM_VAL = 1 + VALUE = \"00:00:00.000000Z\" + END_OBJECT = RANGEENDINGTIME + + OBJECT = RANGEBEGINNINGDATE + NUM_VAL = 1 + VALUE = \"2015-01-01\" + END_OBJECT = RANGEBEGINNINGDATE + + OBJECT = RANGEBEGINNINGTIME + NUM_VAL = 1 + VALUE = \"00:00:00.000000Z\" + END_OBJECT = RANGEBEGINNINGTIME + + END_GROUP = RANGEDATETIME + + GROUP = PGEVERSIONCLASS + + OBJECT = PGEVERSION + NUM_VAL = 1 + VALUE = \"6.0.11.0\" + END_OBJECT = PGEVERSION + + END_GROUP = PGEVERSIONCLASS + + GROUP = ASSOCIATEDPLATFORMINSTRUMENTSENSOR + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"1\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"HSB Channel 1\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"2\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"HSB Channel 2\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"3\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"HSB Channel 3\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"4\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"HSB Channel 4\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"5\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"HSB Channel 5\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"6\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 3\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"7\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 4\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"8\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 5\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"9\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 6\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"10\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 7\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CL"; + String coremetadata_2 "ASS = \"11\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 8\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"12\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 9\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"13\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 10\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"14\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 11\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"15\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 12\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"16\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 13\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"17\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 14\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"18\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"18\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 15\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"18\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"18\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"18\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"19\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"19\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 1\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"19\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"19\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"19\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"20\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"20\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 2\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"20\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"20\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"20\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"21\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"21\" + NUM_VAL = 1 + VALUE = \"M1a Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"21\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"21\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"21\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"22\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"22\" + NUM_VAL = 1 + VALUE = \"M1b Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"22\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"22\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"22\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"23\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"23\" + NUM_VAL = 1 + VALUE = \"M2a Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"23\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"23\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"23\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"24\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"24\" + NUM_VAL = 1 + VALUE = \"M2b Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"24\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"24\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"24\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"25\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"25\" + NUM_VAL = 1 + VALUE = \"M3 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"25\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"25\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"25\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"26\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"26\" + NUM_VAL = 1 + VALUE = \"M4a Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"26\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"26\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"26\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"27\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"27\" + NUM_VAL = 1 + VALUE = \"M4b Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"27\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"27\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"27\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"28\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"28\" + NUM_VAL = 1 + VALUE = \"M4c Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"28\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"28\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"28\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"29\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"29\" + NUM_VAL = 1 + VALUE = \"M4d Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"29\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"29\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"29\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"30\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"30\" + NUM_VAL = 1 + VALUE = \"M5 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"30\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"30\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"30\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"31\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"31\" + NUM_VAL = 1 + VALUE = \"M6 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"31\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"31\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"31\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"32\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"32\" + NUM_VAL = 1 + VALUE = \"M7 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"32\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"32\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"32\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"33\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"33\" + NUM_VAL = 1 + VALUE = \"M8 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"33\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"33\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"33\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"34\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"34\" + NUM_VAL = 1 + VALUE = \"M9 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"34\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"34\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"34\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"35\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"35\" + NUM_VAL = 1 + VALUE = \"M10 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"35\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"35\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"35\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"36\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"36\" + NUM_VAL = 1 + VALUE = \"M11 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"36\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"36\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"36\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"37\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"37\" + NUM_VAL = 1 + VALUE = \"M12 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"37\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"37\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"37\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"38\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"38\" + NUM_VAL = 1 + VALUE = \"VNIR Channel 1\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"38\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"38\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"38\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"39\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"39\" + NUM_VAL = 1 + VALUE = \"VNIR Channel 2\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"39\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"39\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"39\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"40\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"40\" + NUM_VAL = 1 + VALUE = \"VNIR Channel 3\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"40\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"40\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"40\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"41\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"41\" + NUM_VAL = 1 + VALUE = \"VNIR Channel 4\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"41\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"41\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"41\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + END_GROUP = ASSOCIATEDPLATFORMINSTRUMENTSENSOR + + GROUP = ADDITIONALATTRIBUTES + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"1\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"NumBadData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"1\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"1\" + VALUE = \"4094\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"2\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"NumSpecialData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"2\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"2\" + VALUE = \"0\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"3\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"NumProcessData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"3\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"3\" + VALUE = \"1394500\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"4\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"NumMissingData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"4\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"4\" + VALUE = \"6\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"5\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"NumTotalData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"5\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"5\" + VALUE = \"1398600\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"6\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"NumFpe\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"6\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"6\" + VALUE = \"0\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"7\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"ProductGenerationFacility\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"7\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"7\" + VALUE = \"G\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"8\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"InputGranuleCount\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"8\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"8\" + VALUE = \"518\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"9\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"NumDaysPlanned\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"9\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"9\" + VALUE = \"1\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"10\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"NumDaysInCycle\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"10\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"10\" + VALUE = \"1\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"11\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"StartDayInAquaRepeat\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"11\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"11\" + VALUE = \"1\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"12\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"AIRSRunTag\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"12\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"12\" + VALUE = \"15013155825\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"13\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"ProductGenerationHostInformation\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"13\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"13\" + VALUE = \"ac13.gesdisc.eosdis.nasa.gov Linux 2.6.32-504.1.3.el6.x86_64 #1_SMP_Tue_Nov_11_17:57:25_UTC_2014 x86_64\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"14\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"identifier_product_doi\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"14\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"14\" + VALUE = \"10.5067/AQUA/AIRS/DATA303\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"15\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"identifier_product_doi_authority\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"15\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"15\" + VALUE = \"http://dx.doi.org/\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + END_GROUP = ADDITIONALATTRIBUTES + +END_GROUP = INVENTORYMETADATA + +END +"; + } + ClrOLR_A { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_A"; + String fullnamepath "/ClrOLR_A"; + } + GPHeight_MW_A_sdev { + Float32 _FillValue -9999.000000; + String origname "GPHeight_MW_A_sdev"; + String fullnamepath "/GPHeight_MW_A_sdev"; + } + CO_VMR_TqJ_D_ct { + Int16 _FillValue 0; + String origname "CO_VMR_TqJ_D_ct"; + String fullnamepath "/CO_VMR_TqJ_D_ct"; + } + RelHum_liquid_A_max { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_A_max"; + String fullnamepath "/RelHum_liquid_A_max"; + } + Temperature_A_err { + Float32 _FillValue -9999.000000; + String origname "Temperature_A_err"; + String fullnamepath "/Temperature_A_err"; + } + TotH2OVap_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_A"; + String fullnamepath "/TotH2OVap_TqJ_A"; + } + TotCldLiqH2O_MW_A_min { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_A_min"; + String fullnamepath "/TotCldLiqH2O_MW_A_min"; + } + RelHum_A_min { + Float32 _FillValue -9999.000000; + String origname "RelHum_A_min"; + String fullnamepath "/RelHum_A_min"; + } + TropHeight_TqJ_D_ct { + Int16 _FillValue 0; + String origname "TropHeight_TqJ_D_ct"; + String fullnamepath "/TropHeight_TqJ_D_ct"; + } + TropHeight_D_ct { + Int16 _FillValue 0; + String origname "TropHeight_D_ct"; + String fullnamepath "/TropHeight_D_ct"; + } + O3_VMR_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_D"; + String fullnamepath "/O3_VMR_TqJ_D"; + } + SurfPres_Forecast_D_ct { + Int16 _FillValue 0; + String origname "SurfPres_Forecast_D_ct"; + String fullnamepath "/SurfPres_Forecast_D_ct"; + } + CloudFrc_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_A_sdev"; + String fullnamepath "/CloudFrc_A_sdev"; + } + RelHum_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "RelHum_TqJ_D_max"; + String fullnamepath "/RelHum_TqJ_D_max"; + } + CoarseCloudPres_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_TqJ_D_sdev"; + String fullnamepath "/CoarseCloudPres_TqJ_D_sdev"; + } + CloudFrc_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_D_max"; + String fullnamepath "/CloudFrc_TqJ_D_max"; + } + RelHumSurf_TqJ_D_ct { + Int16 _FillValue 0; + String origname "RelHumSurf_TqJ_D_ct"; + String fullnamepath "/RelHumSurf_TqJ_D_ct"; + } + O3_VMR_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_A_max"; + String fullnamepath "/O3_VMR_TqJ_A_max"; + } + CloudTopPres_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_D_min"; + String fullnamepath "/CloudTopPres_TqJ_D_min"; + } + Emis_MW_D { + Float32 _FillValue -9999.000000; + String origname "Emis_MW_D"; + String fullnamepath "/Emis_MW_D"; + } + CloudTopPres_A { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_A"; + String fullnamepath "/CloudTopPres_A"; + } + SurfSkinTemp_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_D"; + String fullnamepath "/SurfSkinTemp_TqJ_D"; + } + CloudFrc_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_A_err"; + String fullnamepath "/CloudFrc_TqJ_A_err"; + } + H2O_MMR_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_D"; + String fullnamepath "/H2O_MMR_TqJ_D"; + } + TotCO_TqJ_A_ct { + Int16 _FillValue 0; + String origname "TotCO_TqJ_A_ct"; + String fullnamepath "/TotCO_TqJ_A_ct"; + } + TropPres_D_ct { + Int16 _FillValue 0; + String origname "TropPres_D_ct"; + String fullnamepath "/TropPres_D_ct"; + } + FineCloudFrc_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_TqJ_A_sdev"; + String fullnamepath "/FineCloudFrc_TqJ_A_sdev"; + } + TotCO_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "TotCO_TqJ_D_max"; + String fullnamepath "/TotCO_TqJ_D_max"; + } + ClrOLR_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_A"; + String fullnamepath "/ClrOLR_TqJ_A"; + } + TotCldLiqH2O_MW_A_err { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_A_err"; + String fullnamepath "/TotCldLiqH2O_MW_A_err"; + } + H2O_MMR_Surf_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_D_min"; + String fullnamepath "/H2O_MMR_Surf_TqJ_D_min"; + } + Temperature_TqJ_D_ct { + Int16 _FillValue 0; + String origname "Temperature_TqJ_D_ct"; + String fullnamepath "/Temperature_TqJ_D_ct"; + } + TotCH4_A_ct { + Int16 _FillValue 0; + String origname "TotCH4_A_ct"; + String fullnamepath "/TotCH4_A_ct"; + } + H2O_MMR_Lyr_A_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_A_min"; + String fullnamepath "/H2O_MMR_Lyr_A_min"; + } + CO_VMR_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_D_sdev"; + String fullnamepath "/CO_VMR_TqJ_D_sdev"; + } + H2O_MMR_Surf_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_D_err"; + String fullnamepath "/H2O_MMR_Surf_TqJ_D_err"; + } + Temperature_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_D"; + String fullnamepath "/Temperature_TqJ_D"; + } + CloudFrc_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_D_err"; + String fullnamepath "/CloudFrc_TqJ_D_err"; + } + RelHum_A_ct { + Int16 _FillValue 0; + String origname "RelHum_A_ct"; + String fullnamepath "/RelHum_A_ct"; + } + RelHumSurf_liquid_TqJ_A_ct { + Int16 _FillValue 0; + String origname "RelHumSurf_liquid_TqJ_A_ct"; + String fullnamepath "/RelHumSurf_liquid_TqJ_A_ct"; + } + H2O_MMR_Lyr_D_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_D_sdev"; + String fullnamepath "/H2O_MMR_Lyr_D_sdev"; + } + EmisIR_A_sdev { + Float32 _FillValue -9999.000000; + String origname "EmisIR_A_sdev"; + String fullnamepath "/EmisIR_A_sdev"; + } + TropTemp_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TropTemp_A_sdev"; + String fullnamepath "/TropTemp_A_sdev"; + } + TropPres_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TropPres_D_sdev"; + String fullnamepath "/TropPres_D_sdev"; + } + OLR_D_err { + Float32 _FillValue -9999.000000; + String origname "OLR_D_err"; + String fullnamepath "/OLR_D_err"; + } + O3_VMR_D { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_D"; + String fullnamepath "/O3_VMR_D"; + } + H2O_MMR_D_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_D_ct"; + String fullnamepath "/H2O_MMR_D_ct"; + } + GPHeight_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "GPHeight_TqJ_D"; + String fullnamepath "/GPHeight_TqJ_D"; + } + SurfSkinTemp_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_A_err"; + String fullnamepath "/SurfSkinTemp_TqJ_A_err"; + } + TropTemp_D_ct { + Int16 _FillValue 0; + String origname "TropTemp_D_ct"; + String fullnamepath "/TropTemp_D_ct"; + } + Temperature_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_A_min"; + String fullnamepath "/Temperature_TqJ_A_min"; + } + TotH2OVap_A_err { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_A_err"; + String fullnamepath "/TotH2OVap_A_err"; + } + Temperature_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_D_err"; + String fullnamepath "/Temperature_TqJ_D_err"; + } + OLR_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_D_min"; + String fullnamepath "/OLR_TqJ_D_min"; + } + SurfSkinTemp_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_D_max"; + String fullnamepath "/SurfSkinTemp_TqJ_D_max"; + } + SurfSkinTemp_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_A"; + String fullnamepath "/SurfSkinTemp_TqJ_A"; + } + CloudTopPres_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_D_sdev"; + String fullnamepath "/CloudTopPres_D_sdev"; + } + SurfPres_Forecast_A { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_A"; + String fullnamepath "/SurfPres_Forecast_A"; + } + H2O_MMR_Lyr_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_D_err"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_D_err"; + } + CoarseCloudTemp_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_TqJ_A"; + String fullnamepath "/CoarseCloudTemp_TqJ_A"; + } + CH4_VMR_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_D_min"; + String fullnamepath "/CH4_VMR_TqJ_D_min"; + } + RelHum_liquid_TqJ_A_ct { + Int16 _FillValue 0; + String origname "RelHum_liquid_TqJ_A_ct"; + String fullnamepath "/RelHum_liquid_TqJ_A_ct"; + } + TropHeight_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "TropHeight_TqJ_A_min"; + String fullnamepath "/TropHeight_TqJ_A_min"; + } + H2O_MMR_Lyr_TqJ_A_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_Lyr_TqJ_A_ct"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_A_ct"; + } + TotalCounts_TqJ_A { + Int16 _FillValue 0; + String origname "TotalCounts_TqJ_A"; + String fullnamepath "/TotalCounts_TqJ_A"; + } + OLR_A_max { + Float32 _FillValue -9999.000000; + String origname "OLR_A_max"; + String fullnamepath "/OLR_A_max"; + } + TropPres_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "TropPres_TqJ_A_max"; + String fullnamepath "/TropPres_TqJ_A_max"; + } + TotO3_D { + Float32 _FillValue -9999.000000; + String origname "TotO3_D"; + String fullnamepath "/TotO3_D"; + } + CoarseCloudTemp_D_ct { + Int16 _FillValue 0; + String origname "CoarseCloudTemp_D_ct"; + String fullnamepath "/CoarseCloudTemp_D_ct"; + } + TropHeight_D_min { + Float32 _FillValue -9999.000000; + String origname "TropHeight_D_min"; + String fullnamepath "/TropHeight_D_min"; + } + TotH2OVap_D_ct { + Int16 _FillValue 0; + String origname "TotH2OVap_D_ct"; + String fullnamepath "/TotH2OVap_D_ct"; + } + FineCloudFrc_D_max { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_D_max"; + String fullnamepath "/FineCloudFrc_D_max"; + } + O3_VMR_A_ct { + Int16 _FillValue 0; + String origname "O3_VMR_A_ct"; + String fullnamepath "/O3_VMR_A_ct"; + } + GPHeight_MW_A_max { + Float32 _FillValue -9999.000000; + String origname "GPHeight_MW_A_max"; + String fullnamepath "/GPHeight_MW_A_max"; + } + CO_VMR_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_A_max"; + String fullnamepath "/CO_VMR_TqJ_A_max"; + } + CloudTopPres_TqJ_A_ct { + Int16 _FillValue 0; + String origname "CloudTopPres_TqJ_A_ct"; + String fullnamepath "/CloudTopPres_TqJ_A_ct"; + } + H2O_MMR_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_A"; + String fullnamepath "/H2O_MMR_TqJ_A"; + } + EmisIR_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_A_sdev"; + String fullnamepath "/EmisIR_TqJ_A_sdev"; + } + TotH2OVap_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_D_err"; + String fullnamepath "/TotH2OVap_TqJ_D_err"; + } + TotalCounts_A { + Int16 _FillValue 0; + String origname "TotalCounts_A"; + String fullnamepath "/TotalCounts_A"; + } + O3_VMR_A_sdev { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_A_sdev"; + String fullnamepath "/O3_VMR_A_sdev"; + } + GPHeight_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "GPHeight_TqJ_D_max"; + String fullnamepath "/GPHeight_TqJ_D_max"; + } + O3_VMR_D_sdev { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_D_sdev"; + String fullnamepath "/O3_VMR_D_sdev"; + } + CH4_VMR_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_D_max"; + String fullnamepath "/CH4_VMR_TqJ_D_max"; + } + CloudTopTemp_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_A_sdev"; + String fullnamepath "/CloudTopTemp_TqJ_A_sdev"; + } + TotH2OVap_TqJ_A_ct { + Int16 _FillValue 0; + String origname "TotH2OVap_TqJ_A_ct"; + String fullnamepath "/TotH2OVap_TqJ_A_ct"; + } + CloudTopTemp_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_D_min"; + String fullnamepath "/CloudTopTemp_TqJ_D_min"; + } + TotCH4_D_min { + Float32 _FillValue -9999.000000; + String origname "TotCH4_D_min"; + String fullnamepath "/TotCH4_D_min"; + } + CoarseCloudPres_TqJ_D_ct { + Int16 _FillValue 0; + String origname "CoarseCloudPres_TqJ_D_ct"; + String fullnamepath "/CoarseCloudPres_TqJ_D_ct"; + } + TotH2OVap_MW_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_MW_A_sdev"; + String fullnamepath "/TotH2OVap_MW_A_sdev"; + } + CoarseCloudFrc_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_TqJ_D"; + String fullnamepath "/CoarseCloudFrc_TqJ_D"; + } + CloudFrc_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_D_min"; + String fullnamepath "/CloudFrc_TqJ_D_min"; + } + RelHumSurf_TqJ_A_ct { + Int16 _FillValue 0; + String origname "RelHumSurf_TqJ_A_ct"; + String fullnamepath "/RelHumSurf_TqJ_A_ct"; + } + CloudFrc_TqJ_D_ct { + Int16 _FillValue 0; + String origname "CloudFrc_TqJ_D_ct"; + String fullnamepath "/CloudFrc_TqJ_D_ct"; + } + CoarseCloudTemp_D { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_D"; + String fullnamepath "/CoarseCloudTemp_D"; + } + TropPres_A_min { + Float32 _FillValue -9999.000000; + String origname "TropPres_A_min"; + String fullnamepath "/TropPres_A_min"; + } + RelHum_liquid_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_TqJ_D_max"; + String fullnamepath "/RelHum_liquid_TqJ_D_max"; + } + FineCloudFrc_A_min { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_A_min"; + String fullnamepath "/FineCloudFrc_A_min"; + } + ClrOLR_D { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_D"; + String fullnamepath "/ClrOLR_D"; + } + H2O_MMR_Surf_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_A"; + String fullnamepath "/H2O_MMR_Surf_TqJ_A"; + } + O3_VMR_A_min { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_A_min"; + String fullnamepath "/O3_VMR_A_min"; + } + CloudTopTemp_D_ct { + Int16 _FillValue 0; + String origname "CloudTopTemp_D_ct"; + String fullnamepath "/CloudTopTemp_D_ct"; + } + FineCloudFrc_A_max { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_A_max"; + String fullnamepath "/FineCloudFrc_A_max"; + } + FineCloudFrc_A_sdev { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_A_sdev"; + String fullnamepath "/FineCloudFrc_A_sdev"; + } + CloudTopTemp_A_err { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_A_err"; + String fullnamepath "/CloudTopTemp_A_err"; + } + RelHumSurf_A_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_A_sdev"; + String fullnamepath "/RelHumSurf_A_sdev"; + } + CloudFrc_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_A"; + String fullnamepath "/CloudFrc_TqJ_A"; + } + CO_VMR_A_min { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_A_min"; + String fullnamepath "/CO_VMR_A_min"; + } + SurfAirTemp_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_D_sdev"; + String fullnamepath "/SurfAirTemp_TqJ_D_sdev"; + } + FineCloudFrc_D_ct { + Int16 _FillValue 0; + String origname "FineCloudFrc_D_ct"; + String fullnamepath "/FineCloudFrc_D_ct"; + } + TotCH4_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "TotCH4_TqJ_D_min"; + String fullnamepath "/TotCH4_TqJ_D_min"; + } + TropTemp_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "TropTemp_TqJ_A_max"; + String fullnamepath "/TropTemp_TqJ_A_max"; + } + RelHumSurf_A_max { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_A_max"; + String fullnamepath "/RelHumSurf_A_max"; + } + Temperature_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_D_sdev"; + String fullnamepath "/Temperature_TqJ_D_sdev"; + } + TotCH4_TqJ_D_ct { + Int16 _FillValue 0; + String origname "TotCH4_TqJ_D_ct"; + String fullnamepath "/TotCH4_TqJ_D_ct"; + } + H2O_MMR_Surf_D_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_D_min"; + String fullnamepath "/H2O_MMR_Surf_D_min"; + } + EmisIR_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_D_err"; + String fullnamepath "/EmisIR_TqJ_D_err"; + } + H2O_MMR_A { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_A"; + String fullnamepath "/H2O_MMR_A"; + } + O3_VMR_D_min { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_D_min"; + String fullnamepath "/O3_VMR_D_min"; + } + Temperature_TqJ_A_ct { + Int16 _FillValue 0; + String origname "Temperature_TqJ_A_ct"; + String fullnamepath "/Temperature_TqJ_A_ct"; + } + CO_VMR_D_max { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_D_max"; + String fullnamepath "/CO_VMR_D_max"; + } + TropTemp_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "TropTemp_TqJ_D_max"; + String fullnamepath "/TropTemp_TqJ_D_max"; + } + CloudTopPres_D { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_D"; + String fullnamepath "/CloudTopPres_D"; + } + TropPres_TqJ_D_ct { + Int16 _FillValue 0; + String origname "TropPres_TqJ_D_ct"; + String fullnamepath "/TropPres_TqJ_D_ct"; + } + CloudTopPres_A_err { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_A_err"; + String fullnamepath "/CloudTopPres_A_err"; + } + CloudTopPres_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_A_err"; + String fullnamepath "/CloudTopPres_TqJ_A_err"; + } + CloudTopPres_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_A_min"; + String fullnamepath "/CloudTopPres_TqJ_A_min"; + } + CloudTopPres_D_err { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_D_err"; + String fullnamepath "/CloudTopPres_D_err"; + } + CloudTopPres_D_min { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_D_min"; + String fullnamepath "/CloudTopPres_D_min"; + } + TotH2OVap_MW_A_ct { + Int16 _FillValue 0; + String origname "TotH2OVap_MW_A_ct"; + String fullnamepath "/TotH2OVap_MW_A_ct"; + } + O3_VMR_TqJ_A_ct { + Int16 _FillValue 0; + String origname "O3_VMR_TqJ_A_ct"; + String fullnamepath "/O3_VMR_TqJ_A_ct"; + } + TotO3_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_D_err"; + String fullnamepath "/TotO3_TqJ_D_err"; + } + H2O_MMR_Surf_D { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_D"; + String fullnamepath "/H2O_MMR_Surf_D"; + } + TropTemp_D_min { + Float32 _FillValue -9999.000000; + String origname "TropTemp_D_min"; + String fullnamepath "/TropTemp_D_min"; + } + CH4_VMR_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_D"; + String fullnamepath "/CH4_VMR_TqJ_D"; + } + RelHumSurf_liquid_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_TqJ_D_max"; + String fullnamepath "/RelHumSurf_liquid_TqJ_D_max"; + } + Emis_MW_A_ct { + Int16 _FillValue 0; + String origname "Emis_MW_A_ct"; + String fullnamepath "/Emis_MW_A_ct"; + } + EmisIR_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_A_min"; + String fullnamepath "/EmisIR_TqJ_A_min"; + } + CH4_VMR_TqJ_D_ct { + Int16 _FillValue 0; + String origname "CH4_VMR_TqJ_D_ct"; + String fullnamepath "/CH4_VMR_TqJ_D_ct"; + } + TotO3_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_D"; + String fullnamepath "/TotO3_TqJ_D"; + } + RelHum_liquid_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_TqJ_D"; + String fullnamepath "/RelHum_liquid_TqJ_D"; + } + TotCH4_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "TotCH4_TqJ_A_max"; + String fullnamepath "/TotCH4_TqJ_A_max"; + } + GPHeight_A_max { + Float32 _FillValue -9999.000000; + String origname "GPHeight_A_max"; + String fullnamepath "/GPHeight_A_max"; + } + O3_VMR_D_max { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_D_max"; + String fullnamepath "/O3_VMR_D_max"; + } + SurfAirTemp_A_max { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_A_max"; + String fullnamepath "/SurfAirTemp_A_max"; + } + Temperature_A_ct { + Int16 _FillValue 0; + String origname "Temperature_A_ct"; + String fullnamepath "/Temperature_A_ct"; + } + H2O_MMR_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_A_min"; + String fullnamepath "/H2O_MMR_TqJ_A_min"; + } + SurfSkinTemp_D_ct { + Int16 _FillValue 0; + String origname "SurfSkinTemp_D_ct"; + String fullnamepath "/SurfSkinTemp_D_ct"; + } + O3_VMR_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_A_err"; + String fullnamepath "/O3_VMR_TqJ_A_err"; + } + EmisIR_D_err { + Float32 _FillValue -9999.000000; + String origname "EmisIR_D_err"; + String fullnamepath "/EmisIR_D_err"; + } + Temperature_A_max { + Float32 _FillValue -9999.000000; + String origname "Temperature_A_max"; + String fullnamepath "/Temperature_A_max"; + } + RelHumSurf_liquid_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_TqJ_D_min"; + String fullnamepath "/RelHumSurf_liquid_TqJ_D_min"; + } + ClrOLR_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_D_sdev"; + String fullnamepath "/ClrOLR_TqJ_D_sdev"; + } + EmisIR_A_ct { + Int16 _FillValue 0; + String origname "EmisIR_A_ct"; + String fullnamepath "/EmisIR_A_ct"; + } + OLR_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_D"; + String fullnamepath "/OLR_TqJ_D"; + } + Temperature_MW_A { + Float32 _FillValue -9999.000000; + String origname "Temperature_MW_A"; + String fullnamepath "/Temperature_MW_A"; + } + SurfAirTemp_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_A_sdev"; + String fullnamepath "/SurfAirTemp_TqJ_A_sdev"; + } + CloudTopPres_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_D_sdev"; + String fullnamepath "/CloudTopPres_TqJ_D_sdev"; + } + CloudTopTemp_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_A_err"; + String fullnamepath "/CloudTopTemp_TqJ_A_err"; + } + TotCH4_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCH4_A_sdev"; + String fullnamepath "/TotCH4_A_sdev"; + } + EmisIR_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_D_sdev"; + String fullnamepath "/EmisIR_TqJ_D_sdev"; + } + RelHumSurf_D_max { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_D_max"; + String fullnamepath "/RelHumSurf_D_max"; + } + SurfAirTemp_D_min { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_D_min"; + String fullnamepath "/SurfAirTemp_D_min"; + } + FineCloudFrc_A { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_A"; + String fullnamepath "/FineCloudFrc_A"; + } + SurfAirTemp_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_D_max"; + String fullnamepath "/SurfAirTemp_TqJ_D_max"; + } + TropHeight_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "TropHeight_TqJ_D_min"; + String fullnamepath "/TropHeight_TqJ_D_min"; + } + H2O_MMR_Lyr_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_A_max"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_A_max"; + } + SurfSkinTemp_TqJ_D_ct { + Int16 _FillValue 0; + String origname "SurfSkinTemp_TqJ_D_ct"; + String fullnamepath "/SurfSkinTemp_TqJ_D_ct"; + } + SurfAirTemp_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_A_err"; + String fullnamepath "/SurfAirTemp_TqJ_A_err"; + } + ClrOLR_A_err { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_A_err"; + String fullnamepath "/ClrOLR_A_err"; + } + TropTemp_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TropTemp_D_sdev"; + String fullnamepath "/TropTemp_D_sdev"; + } + CloudTopTemp_D_min { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_D_min"; + String fullnamepath "/CloudTopTemp_D_min"; + } + CoarseCloudPres_D { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_D"; + String fullnamepath "/CoarseCloudPres_D"; + } + TropPres_D_min { + Float32 _FillValue -9999.000000; + String origname "TropPres_D_min"; + String fullnamepath "/TropPres_D_min"; + } + TotCO_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCO_TqJ_A_sdev"; + String fullnamepath "/TotCO_TqJ_A_sdev"; + } + H2O_MMR_Surf_A_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_A_sdev"; + String fullnamepath "/H2O_MMR_Surf_A_sdev"; + } + TotH2OVap_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_A_sdev"; + String fullnamepath "/TotH2OVap_A_sdev"; + } + TotCldLiqH2O_MW_D_max { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_D_max"; + String fullnamepath "/TotCldLiqH2O_MW_D_max"; + } + CH4_VMR_A_max { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_A_max"; + String fullnamepath "/CH4_VMR_A_max"; + } + CH4_VMR_A { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_A"; + String fullnamepath "/CH4_VMR_A"; + } + H2O_MMR_Surf_D_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_D_max"; + String fullnamepath "/H2O_MMR_Surf_D_max"; + } + SurfSkinTemp_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_D_sdev"; + String fullnamepath "/SurfSkinTemp_TqJ_D_sdev"; + } + OLR_A_sdev { + Float32 _FillValue -9999.000000; + String origname "OLR_A_sdev"; + String fullnamepath "/OLR_A_sdev"; + } + TotCO_D { + Float32 _FillValue -9999.000000; + String origname "TotCO_D"; + String fullnamepath "/TotCO_D"; + } + CoarseCloudFrc_TqJ_D_ct { + Int16 _FillValue 0; + String origname "CoarseCloudFrc_TqJ_D_ct"; + String fullnamepath "/CoarseCloudFrc_TqJ_D_ct"; + } + TotCH4_D_max { + Float32 _FillValue -9999.000000; + String origname "TotCH4_D_max"; + String fullnamepath "/TotCH4_D_max"; + } + H2O_MMR_A_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_A_ct"; + String fullnamepath "/H2O_MMR_A_ct"; + } + H2O_MMR_TqJ_A_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_TqJ_A_ct"; + String fullnamepath "/H2O_MMR_TqJ_A_ct"; + } + SurfSkinTemp_A_err { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_A_err"; + String fullnamepath "/SurfSkinTemp_A_err"; + } + SurfPres_Forecast_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_TqJ_D_sdev"; + String fullnamepath "/SurfPres_Forecast_TqJ_D_sdev"; + } + CO_VMR_A_err { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_A_err"; + String fullnamepath "/CO_VMR_A_err"; + } + TotH2OVap_D_min { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_D_min"; + String fullnamepath "/TotH2OVap_D_min"; + } + Temperature_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_A"; + String fullnamepath "/Temperature_TqJ_A"; + } + TotO3_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_D_max"; + String fullnamepath "/TotO3_TqJ_D_max"; + } + SurfAirTemp_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_D_err"; + String fullnamepath "/SurfAirTemp_TqJ_D_err"; + } + GPHeight_MW_D_min { + Float32 _FillValue -9999.000000; + String origname "GPHeight_MW_D_min"; + String fullnamepath "/GPHeight_MW_D_min"; + } + CO_VMR_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_D_sdev"; + String fullnamepath "/CO_VMR_D_sdev"; + } + RelHum_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "RelHum_TqJ_A_max"; + String fullnamepath "/RelHum_TqJ_A_max"; + } + RelHumSurf_liquid_TqJ_D_ct { + Int16 _FillValue 0; + String origname "RelHumSurf_liquid_TqJ_D_ct"; + String fullnamepath "/RelHumSurf_liquid_TqJ_D_ct"; + } + H2O_MMR_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_A_sdev"; + String fullnamepath "/H2O_MMR_TqJ_A_sdev"; + } + CH4_VMR_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_D_sdev"; + String fullnamepath "/CH4_VMR_TqJ_D_sdev"; + } + O3_VMR_D_err { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_D_err"; + String fullnamepath "/O3_VMR_D_err"; + } + TotO3_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotO3_A_sdev"; + String fullnamepath "/TotO3_A_sdev"; + } + OLR_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_A_err"; + String fullnamepath "/OLR_TqJ_A_err"; + } + CloudFrc_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_D"; + String fullnamepath "/CloudFrc_TqJ_D"; + } + SurfAirTemp_A_ct { + Int16 _FillValue 0; + String origname "SurfAirTemp_A_ct"; + String fullnamepath "/SurfAirTemp_A_ct"; + } + CoarseCloudFrc_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_TqJ_A_sdev"; + String fullnamepath "/CoarseCloudFrc_TqJ_A_sdev"; + } + RelHumSurf_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_TqJ_D"; + String fullnamepath "/RelHumSurf_TqJ_D"; + } + TotCH4_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCH4_TqJ_A_sdev"; + String fullnamepath "/TotCH4_TqJ_A_sdev"; + } + CO_VMR_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_A_sdev"; + String fullnamepath "/CO_VMR_TqJ_A_sdev"; + } + H2O_MMR_Surf_A_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_A_err"; + String fullnamepath "/H2O_MMR_Surf_A_err"; + } + RelHumSurf_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_TqJ_A_max"; + String fullnamepath "/RelHumSurf_TqJ_A_max"; + } + TotCH4_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCH4_D_sdev"; + String fullnamepath "/TotCH4_D_sdev"; + } + TotH2OVap_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_A_err"; + String fullnamepath "/TotH2OVap_TqJ_A_err"; + } + GPHeight_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "GPHeight_TqJ_D_min"; + String fullnamepath "/GPHeight_TqJ_D_min"; + } + SurfSkinTemp_A_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_A_sdev"; + String fullnamepath "/SurfSkinTemp_A_sdev"; + } + CO_VMR_D { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_D"; + String fullnamepath "/CO_VMR_D"; + } + CloudTopTemp_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_D"; + String fullnamepath "/CloudTopTemp_TqJ_D"; + } + TotO3_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_A_sdev"; + String fullnamepath "/TotO3_TqJ_A_sdev"; + } + CoarseCloudFrc_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_TqJ_D_min"; + String fullnamepath "/CoarseCloudFrc_TqJ_D_min"; + } + TropPres_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "TropPres_TqJ_D"; + String fullnamepath "/TropPres_TqJ_D"; + } + RelHum_TqJ_A_ct { + Int16 _FillValue 0; + String origname "RelHum_TqJ_A_ct"; + String fullnamepath "/RelHum_TqJ_A_ct"; + } + Temperature_MW_D_ct { + Int16 _FillValue 0; + String origname "Temperature_MW_D_ct"; + String fullnamepath "/Temperature_MW_D_ct"; + } + Temperature_D_err { + Float32 _FillValue -9999.000000; + String origname "Temperature_D_err"; + String fullnamepath "/Temperature_D_err"; + } + TotH2OVap_D { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_D"; + String fullnamepath "/TotH2OVap_D"; + } + H2O_MMR_D_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_D_sdev"; + String fullnamepath "/H2O_MMR_D_sdev"; + } + CoarseCloudPres_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_TqJ_A_sdev"; + String fullnamepath "/CoarseCloudPres_TqJ_A_sdev"; + } + CoarseCloudPres_A_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_A_min"; + String fullnamepath "/CoarseCloudPres_A_min"; + } + EmisIR_D_max { + Float32 _FillValue -9999.000000; + String origname "EmisIR_D_max"; + String fullnamepath "/EmisIR_D_max"; + } + TropPres_A_max { + Float32 _FillValue -9999.000000; + String origname "TropPres_A_max"; + String fullnamepath "/TropPres_A_max"; + } + Temperature_MW_D_min { + Float32 _FillValue -9999.000000; + String origname "Temperature_MW_D_min"; + String fullnamepath "/Temperature_MW_D_min"; + } + RelHum_D_max { + Float32 _FillValue -9999.000000; + String origname "RelHum_D_max"; + String fullnamepath "/RelHum_D_max"; + } + TotalCounts_MW_D { + Int16 _FillValue 0; + String origname "TotalCounts_MW_D"; + String fullnamepath "/TotalCounts_MW_D"; + } + CH4_VMR_TqJ_A_ct { + Int16 _FillValue 0; + String origname "CH4_VMR_TqJ_A_ct"; + String fullnamepath "/CH4_VMR_TqJ_A_ct"; + } + OLR_D_min { + Float32 _FillValue -9999.000000; + String origname "OLR_D_min"; + String fullnamepath "/OLR_D_min"; + } + CoarseCloudPres_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_D_sdev"; + String fullnamepath "/CoarseCloudPres_D_sdev"; + } + RelHum_liquid_D_max { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_D_max"; + String fullnamepath "/RelHum_liquid_D_max"; + } + CH4_VMR_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_A"; + String fullnamepath "/CH4_VMR_TqJ_A"; + } + SurfAirTemp_A_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_A_sdev"; + String fullnamepath "/SurfAirTemp_A_sdev"; + } + RelHumSurf_D_ct { + Int16 _FillValue 0; + String origname "RelHumSurf_D_ct"; + String fullnamepath "/RelHumSurf_D_ct"; + } + CO_VMR_D_min { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_D_min"; + String fullnamepath "/CO_VMR_D_min"; + } + TotO3_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_A_min"; + String fullnamepath "/TotO3_TqJ_A_min"; + } + RelHumSurf_liquid_D_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_D_sdev"; + String fullnamepath "/RelHumSurf_liquid_D_sdev"; + } + SurfAirTemp_A_err { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_A_err"; + String fullnamepath "/SurfAirTemp_A_err"; + } + CloudFrc_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_A_max"; + String fullnamepath "/CloudFrc_TqJ_A_max"; + } + OLR_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_D_sdev"; + String fullnamepath "/OLR_TqJ_D_sdev"; + } + OLR_D_sdev { + Float32 _FillValue -9999.000000; + String origname "OLR_D_sdev"; + String fullnamepath "/OLR_D_sdev"; + } + SurfPres_Forecast_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_TqJ_A_sdev"; + String fullnamepath "/SurfPres_Forecast_TqJ_A_sdev"; + } + TotH2OVap_A_min { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_A_min"; + String fullnamepath "/TotH2OVap_A_min"; + } + TotH2OVap_MW_D_min { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_MW_D_min"; + String fullnamepath "/TotH2OVap_MW_D_min"; + } + SurfAirTemp_D { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_D"; + String fullnamepath "/SurfAirTemp_D"; + } + CoarseCloudFrc_A { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_A"; + String fullnamepath "/CoarseCloudFrc_A"; + } + CoarseCloudPres_A_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_A_max"; + String fullnamepath "/CoarseCloudPres_A_max"; + } + CloudTopPres_TqJ_D_ct { + Int16 _FillValue 0; + String origname "CloudTopPres_TqJ_D_ct"; + String fullnamepath "/CloudTopPres_TqJ_D_ct"; + } + RelHum_liquid_D_ct { + Int16 _FillValue 0; + String origname "RelHum_liquid_D_ct"; + String fullnamepath "/RelHum_liquid_D_ct"; + } + OLR_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_D_max"; + String fullnamepath "/OLR_TqJ_D_max"; + } + H2O_MMR_Surf_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_A_sdev"; + String fullnamepath "/H2O_MMR_Surf_TqJ_A_sdev"; + } + TotCldLiqH2O_MW_A { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_A"; + String fullnamepath "/TotCldLiqH2O_MW_A"; + } + TotH2OVap_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_D_sdev"; + String fullnamepath "/TotH2OVap_D_sdev"; + } + CloudTopTemp_A_ct { + Int16 _FillValue 0; + String origname "CloudTopTemp_A_ct"; + String fullnamepath "/CloudTopTemp_A_ct"; + } + CO_VMR_A_ct { + Int16 _FillValue 0; + String origname "CO_VMR_A_ct"; + String fullnamepath "/CO_VMR_A_ct"; + } + FineCloudFrc_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_TqJ_A_min"; + String fullnamepath "/FineCloudFrc_TqJ_A_min"; + } + Temperature_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_A_err"; + String fullnamepath "/Temperature_TqJ_A_err"; + } + OLR_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_A_min"; + String fullnamepath "/OLR_TqJ_A_min"; + } + CH4_VMR_D_ct { + Int16 _FillValue 0; + String origname "CH4_VMR_D_ct"; + String fullnamepath "/CH4_VMR_D_ct"; + } + RelHum_liquid_A { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_A"; + String fullnamepath "/RelHum_liquid_A"; + } + O3_VMR_A_err { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_A_err"; + String fullnamepath "/O3_VMR_A_err"; + } + TropTemp_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TropTemp_TqJ_A_sdev"; + String fullnamepath "/TropTemp_TqJ_A_sdev"; + } + ClrOLR_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_A_min"; + String fullnamepath "/ClrOLR_TqJ_A_min"; + } + CloudFrc_D_min { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_D_min"; + String fullnamepath "/CloudFrc_D_min"; + } + TotH2OVap_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_D_min"; + String fullnamepath "/TotH2OVap_TqJ_D_min"; + } + CloudFrc_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_D_sdev"; + String fullnamepath "/CloudFrc_TqJ_D_sdev"; + } + CoarseCloudFrc_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_TqJ_A_min"; + String fullnamepath "/CoarseCloudFrc_TqJ_A_min"; + } + FineCloudFrc_TqJ_A_ct { + Int16 _FillValue 0; + String origname "FineCloudFrc_TqJ_A_ct"; + String fullnamepath "/FineCloudFrc_TqJ_A_ct"; + } + TotO3_A { + Float32 _FillValue -9999.000000; + String origname "TotO3_A"; + String fullnamepath "/TotO3_A"; + } + RelHum_liquid_D_min { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_D_min"; + String fullnamepath "/RelHum_liquid_D_min"; + } + TropPres_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TropPres_A_sdev"; + String fullnamepath "/TropPres_A_sdev"; + } + CoarseCloudPres_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_TqJ_D_min"; + String fullnamepath "/CoarseCloudPres_TqJ_D_min"; + } + TotH2OVap_A_ct { + Int16 _FillValue 0; + String origname "TotH2OVap_A_ct"; + String fullnamepath "/TotH2OVap_A_ct"; + } + TropTemp_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "TropTemp_TqJ_A"; + String fullnamepath "/TropTemp_TqJ_A"; + } + RelHum_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "RelHum_TqJ_A"; + String fullnamepath "/RelHum_TqJ_A"; + } + RelHum_liquid_A_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_A_sdev"; + String fullnamepath "/RelHum_liquid_A_sdev"; + } + GPHeight_A_ct { + Int16 _FillValue 0; + String origname "GPHeight_A_ct"; + String fullnamepath "/GPHeight_A_ct"; + } + SurfPres_Forecast_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_TqJ_D"; + String fullnamepath "/SurfPres_Forecast_TqJ_D"; + } + RelHum_liquid_A_min { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_A_min"; + String fullnamepath "/RelHum_liquid_A_min"; + } + TropTemp_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TropTemp_TqJ_D_sdev"; + String fullnamepath "/TropTemp_TqJ_D_sdev"; + } + TotO3_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_D_sdev"; + String fullnamepath "/TotO3_TqJ_D_sdev"; + } + GPHeight_MW_A_ct { + Int16 _FillValue 0; + String origname "GPHeight_MW_A_ct"; + String fullnamepath "/GPHeight_MW_A_ct"; + } + TropPres_A_ct { + Int16 _FillValue 0; + String origname "TropPres_A_ct"; + String fullnamepath "/TropPres_A_ct"; + } + EmisIR_D_min { + Float32 _FillValue -9999.000000; + String origname "EmisIR_D_min"; + String fullnamepath "/EmisIR_D_min"; + } + TotCH4_D_ct { + Int16 _FillValue 0; + String origname "TotCH4_D_ct"; + String fullnamepath "/TotCH4_D_ct"; + } + SurfAirTemp_D_max { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_D_max"; + String fullnamepath "/SurfAirTemp_D_max"; + } + CH4_VMR_A_err { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_A_err"; + String fullnamepath "/CH4_VMR_A_err"; + } + TropHeight_A_ct { + Int16 _FillValue 0; + String origname "TropHeight_A_ct"; + String fullnamepath "/TropHeight_A_ct"; + } + SurfSkinTemp_A_ct { + Int16 _FillValue 0; + String origname "SurfSkinTemp_A_ct"; + String fullnamepath "/SurfSkinTemp_A_ct"; + } + CoarseCloudFrc_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_A_sdev"; + String fullnamepath "/CoarseCloudFrc_A_sdev"; + } + CloudTopTemp_A_max { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_A_max"; + String fullnamepath "/CloudTopTemp_A_max"; + } + FineCloudFrc_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_TqJ_D"; + String fullnamepath "/FineCloudFrc_TqJ_D"; + } + H2O_MMR_A_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_A_max"; + String fullnamepath "/H2O_MMR_A_max"; + } + ClrOLR_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_D_min"; + String fullnamepath "/ClrOLR_TqJ_D_min"; + } + TotO3_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_A"; + String fullnamepath "/TotO3_TqJ_A"; + } + H2O_MMR_Lyr_A_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_Lyr_A_ct"; + String fullnamepath "/H2O_MMR_Lyr_A_ct"; + } + CloudTopTemp_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_A"; + String fullnamepath "/CloudTopTemp_TqJ_A"; + } + Emis_MW_D_sdev { + Float32 _FillValue -9999.000000; + String origname "Emis_MW_D_sdev"; + String fullnamepath "/Emis_MW_D_sdev"; + } + RelHumSurf_liquid_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_TqJ_A_sdev"; + String fullnamepath "/RelHumSurf_liquid_TqJ_A_sdev"; + } + CloudFrc_TqJ_A_ct { + Int16 _FillValue 0; + String origname "CloudFrc_TqJ_A_ct"; + String fullnamepath "/CloudFrc_TqJ_A_ct"; + } + OLR_D_max { + Float32 _FillValue -9999.000000; + String origname "OLR_D_max"; + String fullnamepath "/OLR_D_max"; + } + OLR_TqJ_D_ct { + Int16 _FillValue 0; + String origname "OLR_TqJ_D_ct"; + String fullnamepath "/OLR_TqJ_D_ct"; + } + RelHum_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHum_TqJ_A_sdev"; + String fullnamepath "/RelHum_TqJ_A_sdev"; + } + CO_VMR_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_D_min"; + String fullnamepath "/CO_VMR_TqJ_D_min"; + } + CloudTopPres_A_min { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_A_min"; + String fullnamepath "/CloudTopPres_A_min"; + } + ClrOLR_TqJ_A_ct { + Int16 _FillValue 0; + String origname "ClrOLR_TqJ_A_ct"; + String fullnamepath "/ClrOLR_TqJ_A_ct"; + } + TropPres_A { + Float32 _FillValue -9999.000000; + String origname "TropPres_A"; + String fullnamepath "/TropPres_A"; + } + TotalCounts_D { + Int16 _FillValue 0; + String origname "TotalCounts_D"; + String fullnamepath "/TotalCounts_D"; + } + RelHumSurf_liquid_A_ct { + Int16 _FillValue 0; + String origname "RelHumSurf_liquid_A_ct"; + String fullnamepath "/RelHumSurf_liquid_A_ct"; + } + H2O_MMR_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_A_max"; + String fullnamepath "/H2O_MMR_TqJ_A_max"; + } + TotCO_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCO_A_sdev"; + String fullnamepath "/TotCO_A_sdev"; + } + ClrOLR_D_sdev { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_D_sdev"; + String fullnamepath "/ClrOLR_D_sdev"; + } + Temperature_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_A_sdev"; + String fullnamepath "/Temperature_TqJ_A_sdev"; + } + H2O_MMR_D_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_D_max"; + String fullnamepath "/H2O_MMR_D_max"; + } + TotCO_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCO_TqJ_D_sdev"; + String fullnamepath "/TotCO_TqJ_D_sdev"; + } + SurfSkinTemp_A { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_A"; + String fullnamepath "/SurfSkinTemp_A"; + } + SurfSkinTemp_D_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_D_sdev"; + String fullnamepath "/SurfSkinTemp_D_sdev"; + } + H2O_MMR_Surf_A_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_Surf_A_ct"; + String fullnamepath "/H2O_MMR_Surf_A_ct"; + } + TropHeight_D_max { + Float32 _FillValue -9999.000000; + String origname "TropHeight_D_max"; + String fullnamepath "/TropHeight_D_max"; + } + CoarseCloudTemp_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_TqJ_A_min"; + String fullnamepath "/CoarseCloudTemp_TqJ_A_min"; + } + TropTemp_A { + Float32 _FillValue -9999.000000; + String origname "TropTemp_A"; + String fullnamepath "/TropTemp_A"; + } + TropHeight_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TropHeight_A_sdev"; + String fullnamepath "/TropHeight_A_sdev"; + } + TotCldLiqH2O_MW_A_max { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_A_max"; + String fullnamepath "/TotCldLiqH2O_MW_A_max"; + } + TotCH4_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "TotCH4_TqJ_D"; + String fullnamepath "/TotCH4_TqJ_D"; + } + CloudFrc_A_min { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_A_min"; + String fullnamepath "/CloudFrc_A_min"; + } + RelHum_A { + Float32 _FillValue -9999.000000; + String origname "RelHum_A"; + String fullnamepath "/RelHum_A"; + } + CloudTopTemp_D { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_D"; + String fullnamepath "/CloudTopTemp_D"; + } + Temperature_D_max { + Float32 _FillValue -9999.000000; + String origname "Temperature_D_max"; + String fullnamepath "/Temperature_D_max"; + } + CloudTopPres_A_max { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_A_max"; + String fullnamepath "/CloudTopPres_A_max"; + } + CoarseCloudTemp_A_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_A_min"; + String fullnamepath "/CoarseCloudTemp_A_min"; + } + TropTemp_TqJ_D_ct { + Int16 _FillValue 0; + String origname "TropTemp_TqJ_D_ct"; + String fullnamepath "/TropTemp_TqJ_D_ct"; + } + Temperature_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_D_max"; + String fullnamepath "/Temperature_TqJ_D_max"; + } + RelHumSurf_D_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_D_sdev"; + String fullnamepath "/RelHumSurf_D_sdev"; + } + CloudFrc_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_A_min"; + String fullnamepath "/CloudFrc_TqJ_A_min"; + } + TotCldLiqH2O_MW_D_ct { + Int16 _FillValue 0; + String origname "TotCldLiqH2O_MW_D_ct"; + String fullnamepath "/TotCldLiqH2O_MW_D_ct"; + } + H2O_MMR_Surf_A { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_A"; + String fullnamepath "/H2O_MMR_Surf_A"; + } + TropPres_D { + Float32 _FillValue -9999.000000; + String origname "TropPres_D"; + String fullnamepath "/TropPres_D"; + } + CoarseCloudFrc_D { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_D"; + String fullnamepath "/CoarseCloudFrc_D"; + } + CoarseCloudFrc_TqJ_A_ct { + Int16 _FillValue 0; + String origname "CoarseCloudFrc_TqJ_A_ct"; + String fullnamepath "/CoarseCloudFrc_TqJ_A_ct"; + } + CloudFrc_D_err { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_D_err"; + String fullnamepath "/CloudFrc_D_err"; + } + O3_VMR_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_D_err"; + String fullnamepath "/O3_VMR_TqJ_D_err"; + } + SurfSkinTemp_D_min { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_D_min"; + String fullnamepath "/SurfSkinTemp_D_min"; + } + TotCO_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "TotCO_TqJ_A_min"; + String fullnamepath "/TotCO_TqJ_A_min"; + } + H2O_MMR_Surf_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_A_min"; + String fullnamepath "/H2O_MMR_Surf_TqJ_A_min"; + } + TotCldLiqH2O_MW_D_min { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_D_min"; + String fullnamepath "/TotCldLiqH2O_MW_D_min"; + } + H2O_MMR_Lyr_D_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_D_min"; + String fullnamepath "/H2O_MMR_Lyr_D_min"; + } + CoarseCloudFrc_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_D_sdev"; + String fullnamepath "/CoarseCloudFrc_D_sdev"; + } + RelHum_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "RelHum_TqJ_A_min"; + String fullnamepath "/RelHum_TqJ_A_min"; + } + TotCO_A_min { + Float32 _FillValue -9999.000000; + String origname "TotCO_A_min"; + String fullnamepath "/TotCO_A_min"; + } + TotCO_D_ct { + Int16 _FillValue 0; + String origname "TotCO_D_ct"; + String fullnamepath "/TotCO_D_ct"; + } + TropTemp_TqJ_A_ct { + Int16 _FillValue 0; + String origname "TropTemp_TqJ_A_ct"; + String fullnamepath "/TropTemp_TqJ_A_ct"; + } + CH4_VMR_D { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_D"; + String fullnamepath "/CH4_VMR_D"; + } + RelHum_liquid_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_TqJ_D_sdev"; + String fullnamepath "/RelHum_liquid_TqJ_D_sdev"; + } + ClrOLR_TqJ_D_ct { + Int16 _FillValue 0; + String origname "ClrOLR_TqJ_D_ct"; + String fullnamepath "/ClrOLR_TqJ_D_ct"; + } + CoarseCloudTemp_TqJ_A_ct { + Int16 _FillValue 0; + String origname "CoarseCloudTemp_TqJ_A_ct"; + String fullnamepath "/CoarseCloudTemp_TqJ_A_ct"; + } + EmisIR_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_A"; + String fullnamepath "/EmisIR_TqJ_A"; + } + Emis_MW_A_sdev { + Float32 _FillValue -9999.000000; + String origname "Emis_MW_A_sdev"; + String fullnamepath "/Emis_MW_A_sdev"; + } + SurfSkinTemp_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_A_min"; + String fullnamepath "/SurfSkinTemp_TqJ_A_min"; + } + H2O_MMR_Surf_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_D_sdev"; + String fullnamepath "/H2O_MMR_Surf_TqJ_D_sdev"; + } + H2O_MMR_Lyr_TqJ_D_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_Lyr_TqJ_D_ct"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_D_ct"; + } + TotCH4_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCH4_TqJ_D_sdev"; + String fullnamepath "/TotCH4_TqJ_D_sdev"; + } + CloudFrc_A { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_A"; + String fullnamepath "/CloudFrc_A"; + } + SurfPres_Forecast_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_TqJ_A_min"; + String fullnamepath "/SurfPres_Forecast_TqJ_A_min"; + } + RelHumSurf_D { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_D"; + String fullnamepath "/RelHumSurf_D"; + } + TotCO_D_max { + Float32 _FillValue -9999.000000; + String origname "TotCO_D_max"; + String fullnamepath "/TotCO_D_max"; + } + EmisIR_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_A_max"; + String fullnamepath "/EmisIR_TqJ_A_max"; + } + EmisIR_D_ct { + Int16 _FillValue 0; + String origname "EmisIR_D_ct"; + String fullnamepath "/EmisIR_D_ct"; + } + RelHum_liquid_A_ct { + Int16 _FillValue 0; + String origname "RelHum_liquid_A_ct"; + String fullnamepath "/RelHum_liquid_A_ct"; + } + GPHeight_TqJ_D_ct { + Int16 _FillValue 0; + String origname "GPHeight_TqJ_D_ct"; + String fullnamepath "/GPHeight_TqJ_D_ct"; + } + TropHeight_A_min { + Float32 _FillValue -9999.000000; + String origname "TropHeight_A_min"; + String fullnamepath "/TropHeight_A_min"; + } + TotH2OVap_MW_D { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_MW_D"; + String fullnamepath "/TotH2OVap_MW_D"; + } + RelHumSurf_liquid_D_ct { + Int16 _FillValue 0; + String origname "RelHumSurf_liquid_D_ct"; + String fullnamepath "/RelHumSurf_liquid_D_ct"; + } + CO_VMR_TqJ_A_ct { + Int16 _FillValue 0; + String origname "CO_VMR_TqJ_A_ct"; + String fullnamepath "/CO_VMR_TqJ_A_ct"; + } + CoarseCloudFrc_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_TqJ_A_max"; + String fullnamepath "/CoarseCloudFrc_TqJ_A_max"; + } + TotCH4_A_min { + Float32 _FillValue -9999.000000; + String origname "TotCH4_A_min"; + String fullnamepath "/TotCH4_A_min"; + } + TropTemp_D_max { + Float32 _FillValue -9999.000000; + String origname "TropTemp_D_max"; + String fullnamepath "/TropTemp_D_max"; + } + TotalCounts_TqJ_D { + Int16 _FillValue 0; + String origname "TotalCounts_TqJ_D"; + String fullnamepath "/TotalCounts_TqJ_D"; + } + OLR_A_ct { + Int16 _FillValue 0; + String origname "OLR_A_ct"; + String fullnamepath "/OLR_A_ct"; + } + CloudTopPres_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_A_sdev"; + String fullnamepath "/CloudTopPres_TqJ_A_sdev"; + } + TropPres_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "TropPres_TqJ_D_min"; + String fullnamepath "/TropPres_TqJ_D_min"; + } + H2O_MMR_Lyr_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_D"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_D"; + } + CoarseCloudTemp_A_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_A_max"; + String fullnamepath "/CoarseCloudTemp_A_max"; + } + CoarseCloudPres_A_ct { + Int16 _FillValue 0; + String origname "CoarseCloudPres_A_ct"; + String fullnamepath "/CoarseCloudPres_A_ct"; + } + RelHum_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "RelHum_TqJ_D_min"; + String fullnamepath "/RelHum_TqJ_D_min"; + } + Temperature_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_D_min"; + String fullnamepath "/Temperature_TqJ_D_min"; + } + CoarseCloudTemp_A_ct { + Int16 _FillValue 0; + String origname "CoarseCloudTemp_A_ct"; + String fullnamepath "/CoarseCloudTemp_A_ct"; + } + ClrOLR_A_sdev { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_A_sdev"; + String fullnamepath "/ClrOLR_A_sdev"; + } + TropTemp_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "TropTemp_TqJ_A_min"; + String fullnamepath "/TropTemp_TqJ_A_min"; + } + TropHeight_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "TropHeight_TqJ_A"; + String fullnamepath "/TropHeight_TqJ_A"; + } + SurfSkinTemp_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_D_err"; + String fullnamepath "/SurfSkinTemp_TqJ_D_err"; + } + O3_VMR_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_D_max"; + String fullnamepath "/O3_VMR_TqJ_D_max"; + } + ClrOLR_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_A_err"; + String fullnamepath "/ClrOLR_TqJ_A_err"; + } + CoarseCloudFrc_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_TqJ_A"; + String fullnamepath "/CoarseCloudFrc_TqJ_A"; + } + SurfPres_Forecast_TqJ_A_ct { + Int16 _FillValue 0; + String origname "SurfPres_Forecast_TqJ_A_ct"; + String fullnamepath "/SurfPres_Forecast_TqJ_A_ct"; + } + SurfSkinTemp_D_max { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_D_max"; + String fullnamepath "/SurfSkinTemp_D_max"; + } + FineCloudFrc_D_min { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_D_min"; + String fullnamepath "/FineCloudFrc_D_min"; + } + OLR_TqJ_A_ct { + Int16 _FillValue 0; + String origname "OLR_TqJ_A_ct"; + String fullnamepath "/OLR_TqJ_A_ct"; + } + RelHum_liquid_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_TqJ_A_max"; + String fullnamepath "/RelHum_liquid_TqJ_A_max"; + } + RelHum_D_min { + Float32 _FillValue -9999.000000; + String origname "RelHum_D_min"; + String fullnamepath "/RelHum_D_min"; + } + CoarseCloudPres_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_TqJ_A"; + String fullnamepath "/CoarseCloudPres_TqJ_A"; + } + RelHum_D_ct { + Int16 _FillValue 0; + String origname "RelHum_D_ct"; + String fullnamepath "/RelHum_D_ct"; + } + H2O_MMR_Lyr_D { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_D"; + String fullnamepath "/H2O_MMR_Lyr_D"; + } + SurfAirTemp_D_ct { + Int16 _FillValue 0; + String origname "SurfAirTemp_D_ct"; + String fullnamepath "/SurfAirTemp_D_ct"; + } + EmisIR_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_D_max"; + String fullnamepath "/EmisIR_TqJ_D_max"; + } + SurfAirTemp_A { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_A"; + String fullnamepath "/SurfAirTemp_A"; + } + TotCldLiqH2O_MW_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_A_sdev"; + String fullnamepath "/TotCldLiqH2O_MW_A_sdev"; + } + TotCO_A { + Float32 _FillValue -9999.000000; + String origname "TotCO_A"; + String fullnamepath "/TotCO_A"; + } + FineCloudFrc_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_TqJ_D_max"; + String fullnamepath "/FineCloudFrc_TqJ_D_max"; + } + CloudFrc_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_TqJ_A_sdev"; + String fullnamepath "/CloudFrc_TqJ_A_sdev"; + } + TotO3_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotO3_D_sdev"; + String fullnamepath "/TotO3_D_sdev"; + } + RelHum_A_max { + Float32 _FillValue -9999.000000; + String origname "RelHum_A_max"; + String fullnamepath "/RelHum_A_max"; + } + H2O_MMR_Surf_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_A_err"; + String fullnamepath "/H2O_MMR_Surf_TqJ_A_err"; + } + CloudTopPres_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_A_sdev"; + String fullnamepath "/CloudTopPres_A_sdev"; + } + FineCloudFrc_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_TqJ_A"; + String fullnamepath "/FineCloudFrc_TqJ_A"; + } + TotCO_A_max { + Float32 _FillValue -9999.000000; + String origname "TotCO_A_max"; + String fullnamepath "/TotCO_A_max"; + } + RelHum_liquid_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_TqJ_D_min"; + String fullnamepath "/RelHum_liquid_TqJ_D_min"; + } + CloudTopTemp_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_D_sdev"; + String fullnamepath "/CloudTopTemp_D_sdev"; + } + RelHumSurf_liquid_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_TqJ_A"; + String fullnamepath "/RelHumSurf_liquid_TqJ_A"; + } + H2O_MMR_A_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_A_err"; + String fullnamepath "/H2O_MMR_A_err"; + } + CoarseCloudTemp_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_TqJ_A_sdev"; + String fullnamepath "/CoarseCloudTemp_TqJ_A_sdev"; + } + H2O_MMR_D { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_D"; + String fullnamepath "/H2O_MMR_D"; + } + CloudFrc_A_err { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_A_err"; + String fullnamepath "/CloudFrc_A_err"; + } + TotH2OVap_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_A_sdev"; + String fullnamepath "/TotH2OVap_TqJ_A_sdev"; + } + GPHeight_MW_D_sdev { + Float32 _FillValue -9999.000000; + String origname "GPHeight_MW_D_sdev"; + String fullnamepath "/GPHeight_MW_D_sdev"; + } + CoarseCloudFrc_A_ct { + Int16 _FillValue 0; + String origname "CoarseCloudFrc_A_ct"; + String fullnamepath "/CoarseCloudFrc_A_ct"; + } + CO_VMR_D_ct { + Int16 _FillValue 0; + String origname "CO_VMR_D_ct"; + String fullnamepath "/CO_VMR_D_ct"; + } + H2O_MMR_Surf_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_D"; + String fullnamepath "/H2O_MMR_Surf_TqJ_D"; + } + OLR_A_min { + Float32 _FillValue -9999.000000; + String origname "OLR_A_min"; + String fullnamepath "/OLR_A_min"; + } + CloudFrc_D { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_D"; + String fullnamepath "/CloudFrc_D"; + } + FineCloudFrc_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_TqJ_D_sdev"; + String fullnamepath "/FineCloudFrc_TqJ_D_sdev"; + } + TotCO_TqJ_D_ct { + Int16 _FillValue 0; + String origname "TotCO_TqJ_D_ct"; + String fullnamepath "/TotCO_TqJ_D_ct"; + } + TotH2OVap_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_A_max"; + String fullnamepath "/TotH2OVap_TqJ_A_max"; + } + CoarseCloudPres_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_TqJ_A_max"; + String fullnamepath "/CoarseCloudPres_TqJ_A_max"; + } + TotH2OVap_MW_A_min { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_MW_A_min"; + String fullnamepath "/TotH2OVap_MW_A_min"; + } + H2O_MMR_D_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_D_min"; + String fullnamepath "/H2O_MMR_D_min"; + } + EmisIR_A_err { + Float32 _FillValue -9999.000000; + String origname "EmisIR_A_err"; + String fullnamepath "/EmisIR_A_err"; + } + GPHeight_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "GPHeight_TqJ_A_max"; + String fullnamepath "/GPHeight_TqJ_A_max"; + } + RelHum_liquid_D_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_D_sdev"; + String fullnamepath "/RelHum_liquid_D_sdev"; + } + O3_VMR_A { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_A"; + String fullnamepath "/O3_VMR_A"; + } + TotH2OVap_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_D"; + String fullnamepath "/TotH2OVap_TqJ_D"; + } + CloudTopTemp_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_A_max"; + String fullnamepath "/CloudTopTemp_TqJ_A_max"; + } + RelHumSurf_A { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_A"; + String fullnamepath "/RelHumSurf_A"; + } + OLR_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_A"; + String fullnamepath "/OLR_TqJ_A"; + } + GPHeight_A_min { + Float32 _FillValue -9999.000000; + String origname "GPHeight_A_min"; + String fullnamepath "/GPHeight_A_min"; + } + SurfSkinTemp_TqJ_A_ct { + Int16 _FillValue 0; + String origname "SurfSkinTemp_TqJ_A_ct"; + String fullnamepath "/SurfSkinTemp_TqJ_A_ct"; + } + H2O_MMR_Lyr_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_D_max"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_D_max"; + } + SurfAirTemp_A_min { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_A_min"; + String fullnamepath "/SurfAirTemp_A_min"; + } + CoarseCloudFrc_D_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_D_min"; + String fullnamepath "/CoarseCloudFrc_D_min"; + } + TotCH4_TqJ_A_ct { + Int16 _FillValue 0; + String origname "TotCH4_TqJ_A_ct"; + String fullnamepath "/TotCH4_TqJ_A_ct"; + } + CoarseCloudTemp_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_A_sdev"; + String fullnamepath "/CoarseCloudTemp_A_sdev"; + } + CloudTopPres_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_A_max"; + String fullnamepath "/CloudTopPres_TqJ_A_max"; + } + TotH2OVap_MW_D_ct { + Int16 _FillValue 0; + String origname "TotH2OVap_MW_D_ct"; + String fullnamepath "/TotH2OVap_MW_D_ct"; + } + CO_VMR_A_max { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_A_max"; + String fullnamepath "/CO_VMR_A_max"; + } + TropHeight_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "TropHeight_TqJ_A_max"; + String fullnamepath "/TropHeight_TqJ_A_max"; + } + GPHeight_MW_D { + Float32 _FillValue -9999.000000; + String origname "GPHeight_MW_D"; + String fullnamepath "/GPHeight_MW_D"; + } + GPHeight_D { + Float32 _FillValue -9999.000000; + String origname "GPHeight_D"; + String fullnamepath "/GPHeight_D"; + } + Temperature_MW_D_max { + Float32 _FillValue -9999.000000; + String origname "Temperature_MW_D_max"; + String fullnamepath "/Temperature_MW_D_max"; + } + Temperature_D { + Float32 _FillValue -9999.000000; + String origname "Temperature_D"; + String fullnamepath "/Temperature_D"; + } + H2O_MMR_Surf_A_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_A_min"; + String fullnamepath "/H2O_MMR_Surf_A_min"; + } + TropHeight_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TropHeight_TqJ_A_sdev"; + String fullnamepath "/TropHeight_TqJ_A_sdev"; + } + CloudTopTemp_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_A_min"; + String fullnamepath "/CloudTopTemp_TqJ_A_min"; + } + GPHeight_D_min { + Float32 _FillValue -9999.000000; + String origname "GPHeight_D_min"; + String fullnamepath "/GPHeight_D_min"; + } + CloudTopTemp_TqJ_A_ct { + Int16 _FillValue 0; + String origname "CloudTopTemp_TqJ_A_ct"; + String fullnamepath "/CloudTopTemp_TqJ_A_ct"; + } + GPHeight_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "GPHeight_TqJ_D_sdev"; + String fullnamepath "/GPHeight_TqJ_D_sdev"; + } + TropHeight_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "TropHeight_TqJ_D_max"; + String fullnamepath "/TropHeight_TqJ_D_max"; + } + ClrOLR_D_min { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_D_min"; + String fullnamepath "/ClrOLR_D_min"; + } + CoarseCloudTemp_A { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_A"; + String fullnamepath "/CoarseCloudTemp_A"; + } + H2O_MMR_D_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_D_err"; + String fullnamepath "/H2O_MMR_D_err"; + } + CoarseCloudPres_TqJ_A_ct { + Int16 _FillValue 0; + String origname "CoarseCloudPres_TqJ_A_ct"; + String fullnamepath "/CoarseCloudPres_TqJ_A_ct"; + } + H2O_MMR_Lyr_A_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_A_sdev"; + String fullnamepath "/H2O_MMR_Lyr_A_sdev"; + } + CH4_VMR_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_A_max"; + String fullnamepath "/CH4_VMR_TqJ_A_max"; + } + TropTemp_A_ct { + Int16 _FillValue 0; + String origname "TropTemp_A_ct"; + String fullnamepath "/TropTemp_A_ct"; + } + H2O_MMR_Lyr_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_D_min"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_D_min"; + } + TropTemp_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "TropTemp_TqJ_D"; + String fullnamepath "/TropTemp_TqJ_D"; + } + SurfPres_Forecast_A_ct { + Int16 _FillValue 0; + String origname "SurfPres_Forecast_A_ct"; + String fullnamepath "/SurfPres_Forecast_A_ct"; + } + TropHeight_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "TropHeight_TqJ_D"; + String fullnamepath "/TropHeight_TqJ_D"; + } + LandSeaMask { + Int16 _FillValue 0; + String origname "LandSeaMask"; + String fullnamepath "/LandSeaMask"; + } + CloudFrc_A_max { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_A_max"; + String fullnamepath "/CloudFrc_A_max"; + } + TropTemp_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "TropTemp_TqJ_D_min"; + String fullnamepath "/TropTemp_TqJ_D_min"; + } + H2O_MMR_Surf_D_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_D_sdev"; + String fullnamepath "/H2O_MMR_Surf_D_sdev"; + } + CloudTopPres_D_ct { + Int16 _FillValue 0; + String origname "CloudTopPres_D_ct"; + String fullnamepath "/CloudTopPres_D_ct"; + } + RelHumSurf_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_TqJ_A_sdev"; + String fullnamepath "/RelHumSurf_TqJ_A_sdev"; + } + CoarseCloudFrc_A_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_A_min"; + String fullnamepath "/CoarseCloudFrc_A_min"; + } + GPHeight_TqJ_A_ct { + Int16 _FillValue 0; + String origname "GPHeight_TqJ_A_ct"; + String fullnamepath "/GPHeight_TqJ_A_ct"; + } + GPHeight_MW_D_ct { + Int16 _FillValue 0; + String origname "GPHeight_MW_D_ct"; + String fullnamepath "/GPHeight_MW_D_ct"; + } + TropTemp_A_min { + Float32 _FillValue -9999.000000; + String origname "TropTemp_A_min"; + String fullnamepath "/TropTemp_A_min"; + } + CloudTopTemp_D_err { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_D_err"; + String fullnamepath "/CloudTopTemp_D_err"; + } + CoarseCloudTemp_TqJ_D_ct { + Int16 _FillValue 0; + String origname "CoarseCloudTemp_TqJ_D_ct"; + String fullnamepath "/CoarseCloudTemp_TqJ_D_ct"; + } + Temperature_MW_D { + Float32 _FillValue -9999.000000; + String origname "Temperature_MW_D"; + String fullnamepath "/Temperature_MW_D"; + } + FineCloudFrc_D_sdev { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_D_sdev"; + String fullnamepath "/FineCloudFrc_D_sdev"; + } + TotCO_D_min { + Float32 _FillValue -9999.000000; + String origname "TotCO_D_min"; + String fullnamepath "/TotCO_D_min"; + } + ClrOLR_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_A_max"; + String fullnamepath "/ClrOLR_TqJ_A_max"; + } + CoarseCloudPres_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_TqJ_D"; + String fullnamepath "/CoarseCloudPres_TqJ_D"; + } + RelHumSurf_A_ct { + Int16 _FillValue 0; + String origname "RelHumSurf_A_ct"; + String fullnamepath "/RelHumSurf_A_ct"; + } + CoarseCloudPres_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_A_sdev"; + String fullnamepath "/CoarseCloudPres_A_sdev"; + } + CoarseCloudPres_D_ct { + Int16 _FillValue 0; + String origname "CoarseCloudPres_D_ct"; + String fullnamepath "/CoarseCloudPres_D_ct"; + } + H2O_MMR_Surf_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_D_max"; + String fullnamepath "/H2O_MMR_Surf_TqJ_D_max"; + } + TropPres_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "TropPres_TqJ_A"; + String fullnamepath "/TropPres_TqJ_A"; + } + TotH2OVap_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_D_sdev"; + String fullnamepath "/TotH2OVap_TqJ_D_sdev"; + } + RelHumSurf_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_TqJ_D_min"; + String fullnamepath "/RelHumSurf_TqJ_D_min"; + } + ClrOLR_D_err { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_D_err"; + String fullnamepath "/ClrOLR_D_err"; + } + GPHeight_D_ct { + Int16 _FillValue 0; + String origname "GPHeight_D_ct"; + String fullnamepath "/GPHeight_D_ct"; + } + CoarseCloudPres_A { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_A"; + String fullnamepath "/CoarseCloudPres_A"; + } + H2O_MMR_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_A_err"; + String fullnamepath "/H2O_MMR_TqJ_A_err"; + } + EmisIR_TqJ_D_ct { + Int16 _FillValue 0; + String origname "EmisIR_TqJ_D_ct"; + String fullnamepath "/EmisIR_TqJ_D_ct"; + } + TotCH4_A_max { + Float32 _FillValue -9999.000000; + String origname "TotCH4_A_max"; + String fullnamepath "/TotCH4_A_max"; + } + Emis_MW_D_ct { + Int16 _FillValue 0; + String origname "Emis_MW_D_ct"; + String fullnamepath "/Emis_MW_D_ct"; + } + H2O_MMR_Lyr_D_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_D_max"; + String fullnamepath "/H2O_MMR_Lyr_D_max"; + } + CH4_VMR_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_A_min"; + String fullnamepath "/CH4_VMR_TqJ_A_min"; + } + TropHeight_D { + Float32 _FillValue -9999.000000; + String origname "TropHeight_D"; + String fullnamepath "/TropHeight_D"; + } + TropPres_D_max { + Float32 _FillValue -9999.000000; + String origname "TropPres_D_max"; + String fullnamepath "/TropPres_D_max"; + } + Temperature_MW_A_sdev { + Float32 _FillValue -9999.000000; + String origname "Temperature_MW_A_sdev"; + String fullnamepath "/Temperature_MW_A_sdev"; + } + RelHum_D { + Float32 _FillValue -9999.000000; + String origname "RelHum_D"; + String fullnamepath "/RelHum_D"; + } + EmisIR_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_D"; + String fullnamepath "/EmisIR_TqJ_D"; + } + EmisIR_A { + Float32 _FillValue -9999.000000; + String origname "EmisIR_A"; + String fullnamepath "/EmisIR_A"; + } + O3_VMR_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_A_min"; + String fullnamepath "/O3_VMR_TqJ_A_min"; + } + TotO3_A_max { + Float32 _FillValue -9999.000000; + String origname "TotO3_A_max"; + String fullnamepath "/TotO3_A_max"; + } + ClrOLR_D_max { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_D_max"; + String fullnamepath "/ClrOLR_D_max"; + } + CO_VMR_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_A_sdev"; + String fullnamepath "/CO_VMR_A_sdev"; + } + CoarseCloudFrc_A_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_A_max"; + String fullnamepath "/CoarseCloudFrc_A_max"; + } + Emis_MW_A { + Float32 _FillValue -9999.000000; + String origname "Emis_MW_A"; + String fullnamepath "/Emis_MW_A"; + } + RelHumSurf_liquid_D_max { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_D_max"; + String fullnamepath "/RelHumSurf_liquid_D_max"; + } + GPHeight_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "GPHeight_TqJ_A"; + String fullnamepath "/GPHeight_TqJ_A"; + } + OLR_A { + Float32 _FillValue -9999.000000; + String origname "OLR_A"; + String fullnamepath "/OLR_A"; + } + TropPres_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "TropPres_TqJ_A_sdev"; + String fullnamepath "/TropPres_TqJ_A_sdev"; + } + TotalCounts_MW_A { + Int16 _FillValue 0; + String origname "TotalCounts_MW_A"; + String fullnamepath "/TotalCounts_MW_A"; + } + CloudTopPres_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_D"; + String fullnamepath "/CloudTopPres_TqJ_D"; + } + RelHumSurf_liquid_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_TqJ_D"; + String fullnamepath "/RelHumSurf_liquid_TqJ_D"; + } + TotCO_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "TotCO_TqJ_D"; + String fullnamepath "/TotCO_TqJ_D"; + } + TotCO_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCO_D_sdev"; + String fullnamepath "/TotCO_D_sdev"; + } + EmisIR_D_sdev { + Float32 _FillValue -9999.000000; + String origname "EmisIR_D_sdev"; + String fullnamepath "/EmisIR_D_sdev"; + } + H2O_MMR_Surf_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_TqJ_A_max"; + String fullnamepath "/H2O_MMR_Surf_TqJ_A_max"; + } + CO_VMR_D_err { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_D_err"; + String fullnamepath "/CO_VMR_D_err"; + } + H2O_MMR_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_D_err"; + String fullnamepath "/H2O_MMR_TqJ_D_err"; + } + SurfAirTemp_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_A"; + String fullnamepath "/SurfAirTemp_TqJ_A"; + } + ClrOLR_A_max { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_A_max"; + String fullnamepath "/ClrOLR_A_max"; + } + RelHumSurf_liquid_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_TqJ_A_max"; + String fullnamepath "/RelHumSurf_liquid_TqJ_A_max"; + } + CoarseCloudTemp_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_D_sdev"; + String fullnamepath "/CoarseCloudTemp_D_sdev"; + } + GPHeight_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "GPHeight_TqJ_A_sdev"; + String fullnamepath "/GPHeight_TqJ_A_sdev"; + } + H2O_MMR_Lyr_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_D_sdev"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_D_sdev"; + } + H2O_MMR_Surf_TqJ_D_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_Surf_TqJ_D_ct"; + String fullnamepath "/H2O_MMR_Surf_TqJ_D_ct"; + } + RelHumSurf_liquid_D { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_D"; + String fullnamepath "/RelHumSurf_liquid_D"; + } + SurfAirTemp_D_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_D_sdev"; + String fullnamepath "/SurfAirTemp_D_sdev"; + } + CloudTopPres_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_A"; + String fullnamepath "/CloudTopPres_TqJ_A"; + } + RelHumSurf_liquid_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_TqJ_A_min"; + String fullnamepath "/RelHumSurf_liquid_TqJ_A_min"; + } + TotH2OVap_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_A_min"; + String fullnamepath "/TotH2OVap_TqJ_A_min"; + } + TotH2OVap_MW_A { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_MW_A"; + String fullnamepath "/TotH2OVap_MW_A"; + } + SurfAirTemp_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_D"; + String fullnamepath "/SurfAirTemp_TqJ_D"; + } + RelHum_TqJ_D_ct { + Int16 _FillValue 0; + String origname "RelHum_TqJ_D_ct"; + String fullnamepath "/RelHum_TqJ_D_ct"; + } + TotCO_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "TotCO_TqJ_A"; + String fullnamepath "/TotCO_TqJ_A"; + } + SurfSkinTemp_D { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_D"; + String fullnamepath "/SurfSkinTemp_D"; + } + CoarseCloudPres_D_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_D_max"; + String fullnamepath "/CoarseCloudPres_D_max"; + } + H2O_MMR_A_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_A_min"; + String fullnamepath "/H2O_MMR_A_min"; + } + ClrOLR_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_D"; + String fullnamepath "/ClrOLR_TqJ_D"; + } + CoarseCloudFrc_D_ct { + Int16 _FillValue 0; + String origname "CoarseCloudFrc_D_ct"; + String fullnamepath "/CoarseCloudFrc_D_ct"; + } + RelHum_liquid_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_TqJ_A"; + String fullnamepath "/RelHum_liquid_TqJ_A"; + } + CH4_VMR_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_A_err"; + String fullnamepath "/CH4_VMR_TqJ_A_err"; + } + CoarseCloudTemp_D_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_D_max"; + String fullnamepath "/CoarseCloudTemp_D_max"; + } + RelHumSurf_liquid_A_min { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_A_min"; + String fullnamepath "/RelHumSurf_liquid_A_min"; + } + RelHumSurf_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_TqJ_A_min"; + String fullnamepath "/RelHumSurf_TqJ_A_min"; + } + TotCO_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "TotCO_TqJ_A_max"; + String fullnamepath "/TotCO_TqJ_A_max"; + } + Temperature_MW_A_min { + Float32 _FillValue -9999.000000; + String origname "Temperature_MW_A_min"; + String fullnamepath "/Temperature_MW_A_min"; + } + RelHumSurf_liquid_D_min { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_D_min"; + String fullnamepath "/RelHumSurf_liquid_D_min"; + } + Temperature_MW_D_sdev { + Float32 _FillValue -9999.000000; + String origname "Temperature_MW_D_sdev"; + String fullnamepath "/Temperature_MW_D_sdev"; + } + TotCH4_D { + Float32 _FillValue -9999.000000; + String origname "TotCH4_D"; + String fullnamepath "/TotCH4_D"; + } + EmisIR_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_D_min"; + String fullnamepath "/EmisIR_TqJ_D_min"; + } + TotCH4_A { + Float32 _FillValue -9999.000000; + String origname "TotCH4_A"; + String fullnamepath "/TotCH4_A"; + } + RelHum_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "RelHum_TqJ_D"; + String fullnamepath "/RelHum_TqJ_D"; + } + H2O_MMR_Lyr_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_A_err"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_A_err"; + } + SurfAirTemp_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_A_min"; + String fullnamepath "/SurfAirTemp_TqJ_A_min"; + } + CH4_VMR_A_min { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_A_min"; + String fullnamepath "/CH4_VMR_A_min"; + } + TropTemp_D { + Float32 _FillValue -9999.000000; + String origname "TropTemp_D"; + String fullnamepath "/TropTemp_D"; + } + CloudFrc_D_ct { + Int16 _FillValue 0; + String origname "CloudFrc_D_ct"; + String fullnamepath "/CloudFrc_D_ct"; + } + GPHeight_MW_A_min { + Float32 _FillValue -9999.000000; + String origname "GPHeight_MW_A_min"; + String fullnamepath "/GPHeight_MW_A_min"; + } + CO_VMR_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_A"; + String fullnamepath "/CO_VMR_TqJ_A"; + } + TotO3_D_ct { + Int16 _FillValue 0; + String origname "TotO3_D_ct"; + String fullnamepath "/TotO3_D_ct"; + } + TotO3_TqJ_A_ct { + Int16 _FillValue 0; + String origname "TotO3_TqJ_A_ct"; + String fullnamepath "/TotO3_TqJ_A_ct"; + } + Temperature_A { + Float32 _FillValue -9999.000000; + String origname "Temperature_A"; + String fullnamepath "/Temperature_A"; + } + GPHeight_MW_D_max { + Float32 _FillValue -9999.000000; + String origname "GPHeight_MW_D_max"; + String fullnamepath "/GPHeight_MW_D_max"; + } + ClrOLR_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_D_err"; + String fullnamepath "/ClrOLR_TqJ_D_err"; + } + CloudTopTemp_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_D_sdev"; + String fullnamepath "/CloudTopTemp_TqJ_D_sdev"; + } + Temperature_D_sdev { + Float32 _FillValue -9999.000000; + String origname "Temperature_D_sdev"; + String fullnamepath "/Temperature_D_sdev"; + } + OLR_D_ct { + Int16 _FillValue 0; + String origname "OLR_D_ct"; + String fullnamepath "/OLR_D_ct"; + } + Temperature_A_sdev { + Float32 _FillValue -9999.000000; + String origname "Temperature_A_sdev"; + String fullnamepath "/Temperature_A_sdev"; + } + SurfSkinTemp_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_A_max"; + String fullnamepath "/SurfSkinTemp_TqJ_A_max"; + } + TotH2OVap_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_TqJ_D_max"; + String fullnamepath "/TotH2OVap_TqJ_D_max"; + } + ClrOLR_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_D_max"; + String fullnamepath "/ClrOLR_TqJ_D_max"; + } + RelHum_liquid_TqJ_D_ct { + Int16 _FillValue 0; + String origname "RelHum_liquid_TqJ_D_ct"; + String fullnamepath "/RelHum_liquid_TqJ_D_ct"; + } + O3_VMR_D_ct { + Int16 _FillValue 0; + String origname "O3_VMR_D_ct"; + String fullnamepath "/O3_VMR_D_ct"; + } + Temperature_A_min { + Float32 _FillValue -9999.000000; + String origname "Temperature_A_min"; + String fullnamepath "/Temperature_A_min"; + } + TropHeight_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TropHeight_TqJ_D_sdev"; + String fullnamepath "/TropHeight_TqJ_D_sdev"; + } + TotCO_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "TotCO_TqJ_D_min"; + String fullnamepath "/TotCO_TqJ_D_min"; + } + Emis_MW_D_max { + Float32 _FillValue -9999.000000; + String origname "Emis_MW_D_max"; + String fullnamepath "/Emis_MW_D_max"; + } + EmisIR_D { + Float32 _FillValue -9999.000000; + String origname "EmisIR_D"; + String fullnamepath "/EmisIR_D"; + } + CoarseCloudPres_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_TqJ_D_max"; + String fullnamepath "/CoarseCloudPres_TqJ_D_max"; + } + FineCloudFrc_A_ct { + Int16 _FillValue 0; + String origname "FineCloudFrc_A_ct"; + String fullnamepath "/FineCloudFrc_A_ct"; + } + RelHum_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHum_TqJ_D_sdev"; + String fullnamepath "/RelHum_TqJ_D_sdev"; + } + SurfPres_Forecast_A_max { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_A_max"; + String fullnamepath "/SurfPres_Forecast_A_max"; + } + GPHeight_D_max { + Float32 _FillValue -9999.000000; + String origname "GPHeight_D_max"; + String fullnamepath "/GPHeight_D_max"; + } + TotH2OVap_A { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_A"; + String fullnamepath "/TotH2OVap_A"; + } + EmisIR_A_min { + Float32 _FillValue -9999.000000; + String origname "EmisIR_A_min"; + String fullnamepath "/EmisIR_A_min"; + } + TotO3_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_D_min"; + String fullnamepath "/TotO3_TqJ_D_min"; + } + SurfSkinTemp_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_A_sdev"; + String fullnamepath "/SurfSkinTemp_TqJ_A_sdev"; + } + TropHeight_TqJ_A_ct { + Int16 _FillValue 0; + String origname "TropHeight_TqJ_A_ct"; + String fullnamepath "/TropHeight_TqJ_A_ct"; + } + SurfSkinTemp_A_max { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_A_max"; + String fullnamepath "/SurfSkinTemp_A_max"; + } + CloudTopPres_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_D_max"; + String fullnamepath "/CloudTopPres_TqJ_D_max"; + } + CoarseCloudTemp_D_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_D_min"; + String fullnamepath "/CoarseCloudTemp_D_min"; + } + CO_VMR_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_D_err"; + String fullnamepath "/CO_VMR_TqJ_D_err"; + } + TotO3_A_min { + Float32 _FillValue -9999.000000; + String origname "TotO3_A_min"; + String fullnamepath "/TotO3_A_min"; + } + CH4_VMR_D_min { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_D_min"; + String fullnamepath "/CH4_VMR_D_min"; + } + Temperature_D_min { + Float32 _FillValue -9999.000000; + String origname "Temperature_D_min"; + String fullnamepath "/Temperature_D_min"; + } + TropHeight_A { + Float32 _FillValue -9999.000000; + String origname "TropHeight_A"; + String fullnamepath "/TropHeight_A"; + } + SurfPres_Forecast_TqJ_D_ct { + Int16 _FillValue 0; + String origname "SurfPres_Forecast_TqJ_D_ct"; + String fullnamepath "/SurfPres_Forecast_TqJ_D_ct"; + } + CH4_VMR_D_max { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_D_max"; + String fullnamepath "/CH4_VMR_D_max"; + } + TotO3_D_err { + Float32 _FillValue -9999.000000; + String origname "TotO3_D_err"; + String fullnamepath "/TotO3_D_err"; + } + CH4_VMR_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_A_sdev"; + String fullnamepath "/CH4_VMR_A_sdev"; + } + Temperature_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "Temperature_TqJ_A_max"; + String fullnamepath "/Temperature_TqJ_A_max"; + } + TotH2OVap_D_max { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_D_max"; + String fullnamepath "/TotH2OVap_D_max"; + } + CO_VMR_A { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_A"; + String fullnamepath "/CO_VMR_A"; + } + H2O_MMR_TqJ_D_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_TqJ_D_ct"; + String fullnamepath "/H2O_MMR_TqJ_D_ct"; + } + ClrOLR_A_ct { + Int16 _FillValue 0; + String origname "ClrOLR_A_ct"; + String fullnamepath "/ClrOLR_A_ct"; + } + TotCldLiqH2O_MW_D_err { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_D_err"; + String fullnamepath "/TotCldLiqH2O_MW_D_err"; + } + EmisIR_A_max { + Float32 _FillValue -9999.000000; + String origname "EmisIR_A_max"; + String fullnamepath "/EmisIR_A_max"; + } + H2O_MMR_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_D_max"; + String fullnamepath "/H2O_MMR_TqJ_D_max"; + } + RelHumSurf_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_TqJ_A"; + String fullnamepath "/RelHumSurf_TqJ_A"; + } + OLR_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_A_max"; + String fullnamepath "/OLR_TqJ_A_max"; + } + Temperature_MW_A_ct { + Int16 _FillValue 0; + String origname "Temperature_MW_A_ct"; + String fullnamepath "/Temperature_MW_A_ct"; + } + CloudTopTemp_A { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_A"; + String fullnamepath "/CloudTopTemp_A"; + } + CH4_VMR_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_D_sdev"; + String fullnamepath "/CH4_VMR_D_sdev"; + } + TotCldLiqH2O_MW_D { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_D"; + String fullnamepath "/TotCldLiqH2O_MW_D"; + } + CO_VMR_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_A_err"; + String fullnamepath "/CO_VMR_TqJ_A_err"; + } + CloudTopPres_A_ct { + Int16 _FillValue 0; + String origname "CloudTopPres_A_ct"; + String fullnamepath "/CloudTopPres_A_ct"; + } + RelHum_liquid_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_TqJ_A_min"; + String fullnamepath "/RelHum_liquid_TqJ_A_min"; + } + H2O_MMR_Lyr_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_A"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_A"; + } + H2O_MMR_Lyr_D_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_Lyr_D_ct"; + String fullnamepath "/H2O_MMR_Lyr_D_ct"; + } + CloudFrc_D_max { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_D_max"; + String fullnamepath "/CloudFrc_D_max"; + } + CH4_VMR_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_D_err"; + String fullnamepath "/CH4_VMR_TqJ_D_err"; + } + TotO3_TqJ_D_ct { + Int16 _FillValue 0; + String origname "TotO3_TqJ_D_ct"; + String fullnamepath "/TotO3_TqJ_D_ct"; + } + H2O_MMR_A_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_A_sdev"; + String fullnamepath "/H2O_MMR_A_sdev"; + } + RelHum_liquid_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_TqJ_A_sdev"; + String fullnamepath "/RelHum_liquid_TqJ_A_sdev"; + } + SurfSkinTemp_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_TqJ_D_min"; + String fullnamepath "/SurfSkinTemp_TqJ_D_min"; + } + SurfAirTemp_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_A_max"; + String fullnamepath "/SurfAirTemp_TqJ_A_max"; + } + SurfPres_Forecast_D_max { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_D_max"; + String fullnamepath "/SurfPres_Forecast_D_max"; + } + GPHeight_A { + Float32 _FillValue -9999.000000; + String origname "GPHeight_A"; + String fullnamepath "/GPHeight_A"; + } + EmisIR_TqJ_A_ct { + Int16 _FillValue 0; + String origname "EmisIR_TqJ_A_ct"; + String fullnamepath "/EmisIR_TqJ_A_ct"; + } + O3_VMR_A_max { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_A_max"; + String fullnamepath "/O3_VMR_A_max"; + } + RelHumSurf_D_min { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_D_min"; + String fullnamepath "/RelHumSurf_D_min"; + } + OLR_A_err { + Float32 _FillValue -9999.000000; + String origname "OLR_A_err"; + String fullnamepath "/OLR_A_err"; + } + SurfPres_Forecast_D_min { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_D_min"; + String fullnamepath "/SurfPres_Forecast_D_min"; + } + RelHumSurf_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_TqJ_D_sdev"; + String fullnamepath "/RelHumSurf_TqJ_D_sdev"; + } + H2O_MMR_Lyr_A_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_A_max"; + String fullnamepath "/H2O_MMR_Lyr_A_max"; + } + CoarseCloudFrc_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_TqJ_D_sdev"; + String fullnamepath "/CoarseCloudFrc_TqJ_D_sdev"; + } + CoarseCloudFrc_D_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_D_max"; + String fullnamepath "/CoarseCloudFrc_D_max"; + } + TotH2OVap_MW_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_MW_D_sdev"; + String fullnamepath "/TotH2OVap_MW_D_sdev"; + } + TotO3_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_A_max"; + String fullnamepath "/TotO3_TqJ_A_max"; + } + CH4_VMR_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_TqJ_A_sdev"; + String fullnamepath "/CH4_VMR_TqJ_A_sdev"; + } + TropTemp_A_max { + Float32 _FillValue -9999.000000; + String origname "TropTemp_A_max"; + String fullnamepath "/TropTemp_A_max"; + } + CloudTopTemp_D_max { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_D_max"; + String fullnamepath "/CloudTopTemp_D_max"; + } + TropPres_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "TropPres_TqJ_A_min"; + String fullnamepath "/TropPres_TqJ_A_min"; + } + TropPres_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "TropPres_TqJ_D_max"; + String fullnamepath "/TropPres_TqJ_D_max"; + } + EmisIR_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "EmisIR_TqJ_A_err"; + String fullnamepath "/EmisIR_TqJ_A_err"; + } + TropHeight_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TropHeight_D_sdev"; + String fullnamepath "/TropHeight_D_sdev"; + } + RelHumSurf_liquid_A_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_A_sdev"; + String fullnamepath "/RelHumSurf_liquid_A_sdev"; + } + RelHumSurf_liquid_A { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_A"; + String fullnamepath "/RelHumSurf_liquid_A"; + } + TotO3_A_err { + Float32 _FillValue -9999.000000; + String origname "TotO3_A_err"; + String fullnamepath "/TotO3_A_err"; + } + CO_VMR_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_D_max"; + String fullnamepath "/CO_VMR_TqJ_D_max"; + } + FineCloudFrc_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_TqJ_D_min"; + String fullnamepath "/FineCloudFrc_TqJ_D_min"; + } + CloudTopPres_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_TqJ_D_err"; + String fullnamepath "/CloudTopPres_TqJ_D_err"; + } + TotO3_TqJ_A_err { + Float32 _FillValue -9999.000000; + String origname "TotO3_TqJ_A_err"; + String fullnamepath "/TotO3_TqJ_A_err"; + } + ClrOLR_D_ct { + Int16 _FillValue 0; + String origname "ClrOLR_D_ct"; + String fullnamepath "/ClrOLR_D_ct"; + } + SurfPres_Forecast_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_TqJ_A"; + String fullnamepath "/SurfPres_Forecast_TqJ_A"; + } + CoarseCloudPres_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_TqJ_A_min"; + String fullnamepath "/CoarseCloudPres_TqJ_A_min"; + } + GPHeight_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "GPHeight_TqJ_A_min"; + String fullnamepath "/GPHeight_TqJ_A_min"; + } + CoarseCloudTemp_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_TqJ_D"; + String fullnamepath "/CoarseCloudTemp_TqJ_D"; + } + RelHum_liquid_D { + Float32 _FillValue -9999.000000; + String origname "RelHum_liquid_D"; + String fullnamepath "/RelHum_liquid_D"; + } + SurfAirTemp_TqJ_A_ct { + Int16 _FillValue 0; + String origname "SurfAirTemp_TqJ_A_ct"; + String fullnamepath "/SurfAirTemp_TqJ_A_ct"; + } + H2O_MMR_Surf_A_max { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_A_max"; + String fullnamepath "/H2O_MMR_Surf_A_max"; + } + H2O_MMR_Lyr_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_A_sdev"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_A_sdev"; + } + TotO3_A_ct { + Int16 _FillValue 0; + String origname "TotO3_A_ct"; + String fullnamepath "/TotO3_A_ct"; + } + Temperature_MW_A_max { + Float32 _FillValue -9999.000000; + String origname "Temperature_MW_A_max"; + String fullnamepath "/Temperature_MW_A_max"; + } + TotH2OVap_MW_D_max { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_MW_D_max"; + String fullnamepath "/TotH2OVap_MW_D_max"; + } + GPHeight_A_sdev { + Float32 _FillValue -9999.000000; + String origname "GPHeight_A_sdev"; + String fullnamepath "/GPHeight_A_sdev"; + } + SurfAirTemp_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_TqJ_D_min"; + String fullnamepath "/SurfAirTemp_TqJ_D_min"; + } + SurfSkinTemp_D_err { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_D_err"; + String fullnamepath "/SurfSkinTemp_D_err"; + } + Emis_MW_A_max { + Float32 _FillValue -9999.000000; + String origname "Emis_MW_A_max"; + String fullnamepath "/Emis_MW_A_max"; + } + H2O_MMR_Lyr_D_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_D_err"; + String fullnamepath "/H2O_MMR_Lyr_D_err"; + } + TropPres_TqJ_A_ct { + Int16 _FillValue 0; + String origname "TropPres_TqJ_A_ct"; + String fullnamepath "/TropPres_TqJ_A_ct"; + } + OLR_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_D_err"; + String fullnamepath "/OLR_TqJ_D_err"; + } + Emis_MW_A_min { + Float32 _FillValue -9999.000000; + String origname "Emis_MW_A_min"; + String fullnamepath "/Emis_MW_A_min"; + } + TropHeight_A_max { + Float32 _FillValue -9999.000000; + String origname "TropHeight_A_max"; + String fullnamepath "/TropHeight_A_max"; + } + FineCloudFrc_TqJ_D_ct { + Int16 _FillValue 0; + String origname "FineCloudFrc_TqJ_D_ct"; + String fullnamepath "/FineCloudFrc_TqJ_D_ct"; + } + H2O_MMR_Lyr_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_TqJ_A_min"; + String fullnamepath "/H2O_MMR_Lyr_TqJ_A_min"; + } + CoarseCloudFrc_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudFrc_TqJ_D_max"; + String fullnamepath "/CoarseCloudFrc_TqJ_D_max"; + } + RelHumSurf_liquid_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_TqJ_D_sdev"; + String fullnamepath "/RelHumSurf_liquid_TqJ_D_sdev"; + } + CoarseCloudTemp_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_TqJ_D_min"; + String fullnamepath "/CoarseCloudTemp_TqJ_D_min"; + } + H2O_MMR_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_D_min"; + String fullnamepath "/H2O_MMR_TqJ_D_min"; + } + TotH2OVap_D_err { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_D_err"; + String fullnamepath "/TotH2OVap_D_err"; + } + H2O_MMR_Lyr_A { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_A"; + String fullnamepath "/H2O_MMR_Lyr_A"; + } + H2O_MMR_Surf_TqJ_A_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_Surf_TqJ_A_ct"; + String fullnamepath "/H2O_MMR_Surf_TqJ_A_ct"; + } + H2O_MMR_Surf_D_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Surf_D_err"; + String fullnamepath "/H2O_MMR_Surf_D_err"; + } + GPHeight_MW_A { + Float32 _FillValue -9999.000000; + String origname "GPHeight_MW_A"; + String fullnamepath "/GPHeight_MW_A"; + } + SurfPres_Forecast_D { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_D"; + String fullnamepath "/SurfPres_Forecast_D"; + } + SurfPres_Forecast_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_TqJ_D_max"; + String fullnamepath "/SurfPres_Forecast_TqJ_D_max"; + } + CloudFrc_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudFrc_D_sdev"; + String fullnamepath "/CloudFrc_D_sdev"; + } + ClrOLR_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_TqJ_A_sdev"; + String fullnamepath "/ClrOLR_TqJ_A_sdev"; + } + O3_VMR_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_D_min"; + String fullnamepath "/O3_VMR_TqJ_D_min"; + } + TotO3_D_max { + Float32 _FillValue -9999.000000; + String origname "TotO3_D_max"; + String fullnamepath "/TotO3_D_max"; + } + TotO3_D_min { + Float32 _FillValue -9999.000000; + String origname "TotO3_D_min"; + String fullnamepath "/TotO3_D_min"; + } + RelHumSurf_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_TqJ_D_max"; + String fullnamepath "/RelHumSurf_TqJ_D_max"; + } + TotCH4_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "TotCH4_TqJ_D_max"; + String fullnamepath "/TotCH4_TqJ_D_max"; + } + RelHumSurf_liquid_A_max { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_liquid_A_max"; + String fullnamepath "/RelHumSurf_liquid_A_max"; + } + SurfPres_Forecast_A_min { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_A_min"; + String fullnamepath "/SurfPres_Forecast_A_min"; + } + CoarseCloudTemp_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_TqJ_D_max"; + String fullnamepath "/CoarseCloudTemp_TqJ_D_max"; + } + TotCH4_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "TotCH4_TqJ_A"; + String fullnamepath "/TotCH4_TqJ_A"; + } + CH4_VMR_D_err { + Float32 _FillValue -9999.000000; + String origname "CH4_VMR_D_err"; + String fullnamepath "/CH4_VMR_D_err"; + } + RelHumSurf_A_min { + Float32 _FillValue -9999.000000; + String origname "RelHumSurf_A_min"; + String fullnamepath "/RelHumSurf_A_min"; + } + CO_VMR_TqJ_D { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_D"; + String fullnamepath "/CO_VMR_TqJ_D"; + } + SurfPres_Forecast_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_TqJ_A_max"; + String fullnamepath "/SurfPres_Forecast_TqJ_A_max"; + } + GPHeight_D_sdev { + Float32 _FillValue -9999.000000; + String origname "GPHeight_D_sdev"; + String fullnamepath "/GPHeight_D_sdev"; + } + CloudTopTemp_TqJ_D_max { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_D_max"; + String fullnamepath "/CloudTopTemp_TqJ_D_max"; + } + CoarseCloudPres_D_min { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudPres_D_min"; + String fullnamepath "/CoarseCloudPres_D_min"; + } + SurfSkinTemp_A_min { + Float32 _FillValue -9999.000000; + String origname "SurfSkinTemp_A_min"; + String fullnamepath "/SurfSkinTemp_A_min"; + } + FineCloudFrc_D { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_D"; + String fullnamepath "/FineCloudFrc_D"; + } + RelHum_D_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHum_D_sdev"; + String fullnamepath "/RelHum_D_sdev"; + } + TotH2OVap_TqJ_D_ct { + Int16 _FillValue 0; + String origname "TotH2OVap_TqJ_D_ct"; + String fullnamepath "/TotH2OVap_TqJ_D_ct"; + } + O3_VMR_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_D_sdev"; + String fullnamepath "/O3_VMR_TqJ_D_sdev"; + } + CloudTopTemp_A_sdev { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_A_sdev"; + String fullnamepath "/CloudTopTemp_A_sdev"; + } + H2O_MMR_Surf_D_ct { + Int16 _FillValue 0; + String origname "H2O_MMR_Surf_D_ct"; + String fullnamepath "/H2O_MMR_Surf_D_ct"; + } + SurfAirTemp_TqJ_D_ct { + Int16 _FillValue 0; + String origname "SurfAirTemp_TqJ_D_ct"; + String fullnamepath "/SurfAirTemp_TqJ_D_ct"; + } + SurfPres_Forecast_D_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_D_sdev"; + String fullnamepath "/SurfPres_Forecast_D_sdev"; + } + Emis_MW_D_min { + Float32 _FillValue -9999.000000; + String origname "Emis_MW_D_min"; + String fullnamepath "/Emis_MW_D_min"; + } + CoarseCloudTemp_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_TqJ_D_sdev"; + String fullnamepath "/CoarseCloudTemp_TqJ_D_sdev"; + } + OLR_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "OLR_TqJ_A_sdev"; + String fullnamepath "/OLR_TqJ_A_sdev"; + } + ClrOLR_A_min { + Float32 _FillValue -9999.000000; + String origname "ClrOLR_A_min"; + String fullnamepath "/ClrOLR_A_min"; + } + SurfPres_Forecast_TqJ_D_min { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_TqJ_D_min"; + String fullnamepath "/SurfPres_Forecast_TqJ_D_min"; + } + TotH2OVap_A_max { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_A_max"; + String fullnamepath "/TotH2OVap_A_max"; + } + TotCH4_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "TotCH4_TqJ_A_min"; + String fullnamepath "/TotCH4_TqJ_A_min"; + } + CloudTopTemp_A_min { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_A_min"; + String fullnamepath "/CloudTopTemp_A_min"; + } + TotCldLiqH2O_MW_A_ct { + Int16 _FillValue 0; + String origname "TotCldLiqH2O_MW_A_ct"; + String fullnamepath "/TotCldLiqH2O_MW_A_ct"; + } + FineCloudFrc_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "FineCloudFrc_TqJ_A_max"; + String fullnamepath "/FineCloudFrc_TqJ_A_max"; + } + OLR_D { + Float32 _FillValue -9999.000000; + String origname "OLR_D"; + String fullnamepath "/OLR_D"; + } + CO_VMR_TqJ_A_min { + Float32 _FillValue -9999.000000; + String origname "CO_VMR_TqJ_A_min"; + String fullnamepath "/CO_VMR_TqJ_A_min"; + } + TotCldLiqH2O_MW_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TotCldLiqH2O_MW_D_sdev"; + String fullnamepath "/TotCldLiqH2O_MW_D_sdev"; + } + H2O_MMR_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_TqJ_D_sdev"; + String fullnamepath "/H2O_MMR_TqJ_D_sdev"; + } + Temperature_D_ct { + Int16 _FillValue 0; + String origname "Temperature_D_ct"; + String fullnamepath "/Temperature_D_ct"; + } + TropPres_TqJ_D_sdev { + Float32 _FillValue -9999.000000; + String origname "TropPres_TqJ_D_sdev"; + String fullnamepath "/TropPres_TqJ_D_sdev"; + } + CloudFrc_A_ct { + Int16 _FillValue 0; + String origname "CloudFrc_A_ct"; + String fullnamepath "/CloudFrc_A_ct"; + } + CloudTopTemp_TqJ_D_err { + Float32 _FillValue -9999.000000; + String origname "CloudTopTemp_TqJ_D_err"; + String fullnamepath "/CloudTopTemp_TqJ_D_err"; + } + Topography { + Float32 _FillValue -9999.000000; + String origname "Topography"; + String fullnamepath "/Topography"; + } + CH4_VMR_A_ct { + Int16 _FillValue 0; + String origname "CH4_VMR_A_ct"; + String fullnamepath "/CH4_VMR_A_ct"; + } + CloudTopPres_D_max { + Float32 _FillValue -9999.000000; + String origname "CloudTopPres_D_max"; + String fullnamepath "/CloudTopPres_D_max"; + } + RelHum_A_sdev { + Float32 _FillValue -9999.000000; + String origname "RelHum_A_sdev"; + String fullnamepath "/RelHum_A_sdev"; + } + O3_VMR_TqJ_D_ct { + Int16 _FillValue 0; + String origname "O3_VMR_TqJ_D_ct"; + String fullnamepath "/O3_VMR_TqJ_D_ct"; + } + TotH2OVap_MW_A_max { + Float32 _FillValue -9999.000000; + String origname "TotH2OVap_MW_A_max"; + String fullnamepath "/TotH2OVap_MW_A_max"; + } + O3_VMR_TqJ_A { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_A"; + String fullnamepath "/O3_VMR_TqJ_A"; + } + O3_VMR_TqJ_A_sdev { + Float32 _FillValue -9999.000000; + String origname "O3_VMR_TqJ_A_sdev"; + String fullnamepath "/O3_VMR_TqJ_A_sdev"; + } + TotCO_A_ct { + Int16 _FillValue 0; + String origname "TotCO_A_ct"; + String fullnamepath "/TotCO_A_ct"; + } + SurfAirTemp_D_err { + Float32 _FillValue -9999.000000; + String origname "SurfAirTemp_D_err"; + String fullnamepath "/SurfAirTemp_D_err"; + } + CloudTopTemp_TqJ_D_ct { + Int16 _FillValue 0; + String origname "CloudTopTemp_TqJ_D_ct"; + String fullnamepath "/CloudTopTemp_TqJ_D_ct"; + } + SurfPres_Forecast_A_sdev { + Float32 _FillValue -9999.000000; + String origname "SurfPres_Forecast_A_sdev"; + String fullnamepath "/SurfPres_Forecast_A_sdev"; + } + H2O_MMR_Lyr_A_err { + Float32 _FillValue -9999.000000; + String origname "H2O_MMR_Lyr_A_err"; + String fullnamepath "/H2O_MMR_Lyr_A_err"; + } + CoarseCloudTemp_TqJ_A_max { + Float32 _FillValue -9999.000000; + String origname "CoarseCloudTemp_TqJ_A_max"; + String fullnamepath "/CoarseCloudTemp_TqJ_A_max"; + } + CoarseCloudLayer { + String long_name "Mid-layer pressure"; + String units "hPa"; + String format "F7.2"; + String origname "CoarseCloudLayer"; + String fullnamepath "/CoarseCloudLayer"; + } + EmisFreqIR { + String long_name "Wavenumber"; + String units "cm^-1"; + String format "F5.1"; + String origname "EmisFreqIR"; + String fullnamepath "/EmisFreqIR"; + } + EmisFreqMW { + String long_name "Frequency"; + String units "GHz"; + String format "F5.1"; + String origname "EmisFreqMW"; + String fullnamepath "/EmisFreqMW"; + } + FineCloudLayer { + String long_name "Mid-layer pressure"; + String units "hPa"; + String format "F7.2"; + String origname "FineCloudLayer"; + String fullnamepath "/FineCloudLayer"; + } + H2OPressureLay { + String long_name "Mid-layer Pressure"; + String units "hPa"; + String format "F7.2"; + String origname "H2OPressureLay"; + String fullnamepath "/H2OPressureLay"; + } + H2OPressureLev { + String long_name "Pressure"; + String units "hPa"; + String format "F7.2"; + String origname "H2OPressureLev"; + String fullnamepath "/H2OPressureLev"; + } + Latitude { + String long_name "Latitude"; + String units "degrees_north"; + String format "F5.1"; + String origname "Latitude"; + String fullnamepath "/Latitude"; + } + Longitude { + String long_name "Longitude"; + String units "degrees_east"; + String format "F6.1"; + String origname "Longitude"; + String fullnamepath "/Longitude"; + } + StdPressureLev { + String long_name "Pressure"; + String units "hPa"; + String format "F7.2"; + String origname "StdPressureLev"; + String fullnamepath "/StdPressureLev"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,779 @@ +Dataset { + Float32 ClrOLR_A[Latitude = 180][Longitude = 360]; + Float32 GPHeight_MW_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 CO_VMR_TqJ_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_A_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 Temperature_A_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_A_min[Latitude = 180][Longitude = 360]; + Float32 RelHum_A_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 TropHeight_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Int16 TropHeight_D_ct[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 SurfPres_Forecast_D_ct[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_A_sdev[Latitude = 180][Longitude = 360]; + Float32 RelHum_TqJ_D_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_TqJ_D_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_D_max[Latitude = 180][Longitude = 360]; + Int16 RelHumSurf_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 Emis_MW_D[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_A[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_A_err[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_D[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 TotCO_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Int16 TropPres_D_ct[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_TqJ_A_sdev[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 TotCO_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_A_err[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_D_min[Latitude = 180][Longitude = 360]; + Int16 Temperature_TqJ_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 TotCH4_A_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_A_min[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_D_err[Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_D_err[Latitude = 180][Longitude = 360]; + Int16 RelHum_A_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 RelHumSurf_liquid_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_D_sdev[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 EmisIR_A_sdev[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 TropTemp_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TropPres_D_sdev[Latitude = 180][Longitude = 360]; + Float32 OLR_D_err[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_D_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 GPHeight_TqJ_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_A_err[Latitude = 180][Longitude = 360]; + Int16 TropTemp_D_ct[Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_A_err[Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_D_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_D_sdev[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_A[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_D_err[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_TqJ_A[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 RelHum_liquid_TqJ_A_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TropHeight_TqJ_A_min[Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_Lyr_TqJ_A_ct[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Int16 TotalCounts_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 OLR_A_max[Latitude = 180][Longitude = 360]; + Float32 TropPres_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 TotO3_D[Latitude = 180][Longitude = 360]; + Int16 CoarseCloudTemp_D_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TropHeight_D_min[Latitude = 180][Longitude = 360]; + Int16 TotH2OVap_D_ct[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_D_max[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Int16 O3_VMR_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 GPHeight_MW_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 CloudTopPres_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_A[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_A_sdev[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_D_err[Latitude = 180][Longitude = 360]; + Int16 TotalCounts_A[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 GPHeight_TqJ_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Int16 TotH2OVap_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 TotCH4_D_min[Latitude = 180][Longitude = 360]; + Int16 CoarseCloudPres_TqJ_D_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_MW_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_TqJ_D[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_D_min[Latitude = 180][Longitude = 360]; + Int16 RelHumSurf_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Int16 CloudFrc_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_D[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TropPres_A_min[Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_TqJ_D_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_A_min[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 ClrOLR_D[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 CloudTopTemp_D_ct[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_A_max[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_A_sdev[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_A_err[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Int16 FineCloudFrc_D_ct[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 TotCH4_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 TropTemp_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_A_max[Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 TotCH4_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_D_min[Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_D_err[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_A[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 Temperature_TqJ_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CO_VMR_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropTemp_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_D[Latitude = 180][Longitude = 360]; + Int16 TropPres_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_A_err[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_A_err[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_D_err[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_D_min[Latitude = 180][Longitude = 360]; + Int16 TotH2OVap_MW_A_ct[Latitude = 180][Longitude = 360]; + Int16 O3_VMR_TqJ_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_D_err[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_D[Latitude = 180][Longitude = 360]; + Float32 TropTemp_D_min[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_TqJ_D_max[Latitude = 180][Longitude = 360]; + Int16 Emis_MW_A_ct[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_A_min[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Int16 CH4_VMR_TqJ_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_TqJ_D[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TotCH4_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 GPHeight_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_A_max[Latitude = 180][Longitude = 360]; + Int16 Temperature_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_A_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 SurfSkinTemp_D_ct[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_A_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 EmisIR_D_err[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 Temperature_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Int16 EmisIR_A_ct[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 Temperature_MW_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_A_err[Latitude = 180][Longitude = 360]; + Float32 TotCH4_A_sdev[Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_D_sdev[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_D_max[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_D_min[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_A[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 TropHeight_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_A_max[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Int16 SurfSkinTemp_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_A_err[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_A_err[Latitude = 180][Longitude = 360]; + Float32 TropTemp_D_sdev[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_D_min[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_D[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TropPres_D_min[Latitude = 180][Longitude = 360]; + Float32 TotCO_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_D_max[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_D_max[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 OLR_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TotCO_D[Latitude = 180][Longitude = 360]; + Int16 CoarseCloudFrc_TqJ_D_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TotCH4_D_max[Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_A_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_TqJ_A_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_A_err[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_A_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_D_min[Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_D_err[Latitude = 180][Longitude = 360]; + Float32 GPHeight_MW_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CO_VMR_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHum_TqJ_A_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 RelHumSurf_liquid_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_A_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_D_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_A_sdev[Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_A_err[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_D[Latitude = 180][Longitude = 360]; + Int16 SurfAirTemp_A_ct[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_TqJ_A_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 TotCH4_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_A_err[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 TotCH4_D_sdev[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_A_err[Latitude = 180][Longitude = 360]; + Float32 GPHeight_TqJ_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_TqJ_D_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TropPres_TqJ_D[Latitude = 180][Longitude = 360]; + Int16 RelHum_TqJ_A_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 Temperature_MW_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 Temperature_D_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_D[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_D_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_TqJ_A_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_A_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 EmisIR_D_max[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 TropPres_A_max[Latitude = 180][Longitude = 360]; + Float32 Temperature_MW_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHum_D_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 TotalCounts_MW_D[Latitude = 180][Longitude = 360]; + Int16 CH4_VMR_TqJ_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 OLR_D_min[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_D_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_D_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_A_sdev[Latitude = 180][Longitude = 360]; + Int16 RelHumSurf_D_ct[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_D_sdev[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_A_err[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 OLR_D_sdev[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_A_min[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_MW_D_min[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_D[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_A[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_A_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 CloudTopPres_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Int16 RelHum_liquid_D_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_A[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_D_sdev[Latitude = 180][Longitude = 360]; + Int16 CloudTopTemp_A_ct[Latitude = 180][Longitude = 360]; + Int16 CO_VMR_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_TqJ_A_min[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_A_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_A_min[Latitude = 180][Longitude = 360]; + Int16 CH4_VMR_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_A[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_A_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropTemp_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_D_min[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_TqJ_A_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 FineCloudFrc_TqJ_A_ct[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 TotO3_A[Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_D_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TropPres_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_TqJ_D_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 TotH2OVap_A_ct[Latitude = 180][Longitude = 360]; + Float32 TropTemp_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 RelHum_TqJ_A[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_A_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 GPHeight_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_A_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TropTemp_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Int16 GPHeight_MW_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 TropPres_A_ct[Latitude = 180][Longitude = 360]; + Float32 EmisIR_D_min[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Int16 TotCH4_D_ct[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_D_max[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_A_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 TropHeight_A_ct[Latitude = 180][Longitude = 360]; + Int16 SurfSkinTemp_A_ct[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_A_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_A_max[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_TqJ_D[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_A_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_A[Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_Lyr_A_ct[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 Emis_MW_D_sdev[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Int16 CloudFrc_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 OLR_D_max[Latitude = 180][Longitude = 360]; + Int16 OLR_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 RelHum_TqJ_A_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_A_min[Latitude = 180][Longitude = 360]; + Int16 ClrOLR_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 TropPres_A[Latitude = 180][Longitude = 360]; + Int16 TotalCounts_D[Latitude = 180][Longitude = 360]; + Int16 RelHumSurf_liquid_A_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_A_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TotCO_A_sdev[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_D_sdev[Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_D_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TotCO_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_A[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_D_sdev[Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_Surf_A_ct[Latitude = 180][Longitude = 360]; + Float32 TropHeight_D_max[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_TqJ_A_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TropTemp_A[Latitude = 180][Longitude = 360]; + Float32 TropHeight_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_A_max[Latitude = 180][Longitude = 360]; + Float32 TotCH4_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_A_min[Latitude = 180][Longitude = 360]; + Float32 RelHum_A[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_D[Latitude = 180][Longitude = 360]; + Float32 Temperature_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_A_max[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_A_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 TropTemp_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_D_sdev[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_A_min[Latitude = 180][Longitude = 360]; + Int16 TotCldLiqH2O_MW_D_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_A[Latitude = 180][Longitude = 360]; + Float32 TropPres_D[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_D[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 CoarseCloudFrc_TqJ_A_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CloudFrc_D_err[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_D_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_D_min[Latitude = 180][Longitude = 360]; + Float32 TotCO_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_D_min[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_D_min[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_D_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 RelHum_TqJ_A_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TotCO_A_min[Latitude = 180][Longitude = 360]; + Int16 TotCO_D_ct[Latitude = 180][Longitude = 360]; + Int16 TropTemp_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_TqJ_D_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 ClrOLR_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Int16 CoarseCloudTemp_TqJ_A_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_A[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 Emis_MW_A_sdev[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_Lyr_TqJ_D_ct[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 TotCH4_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_A[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_D[Latitude = 180][Longitude = 360]; + Float32 TotCO_D_max[Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_A_max[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Int16 EmisIR_D_ct[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Int16 RelHum_liquid_A_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 GPHeight_TqJ_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropHeight_A_min[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_MW_D[Latitude = 180][Longitude = 360]; + Int16 RelHumSurf_liquid_D_ct[Latitude = 180][Longitude = 360]; + Int16 CO_VMR_TqJ_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_TqJ_A_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TotCH4_A_min[Latitude = 180][Longitude = 360]; + Float32 TropTemp_D_max[Latitude = 180][Longitude = 360]; + Int16 TotalCounts_TqJ_D[Latitude = 180][Longitude = 360]; + Int16 OLR_A_ct[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TropPres_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_D[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_A_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 CoarseCloudPres_A_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 RelHum_TqJ_D_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 CoarseCloudTemp_A_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 ClrOLR_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TropTemp_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 TropHeight_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_D_err[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_A_err[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_TqJ_A[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 SurfPres_Forecast_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_D_max[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_D_min[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Int16 OLR_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_TqJ_A_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 RelHum_D_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_TqJ_A[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 RelHum_D_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_D[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Int16 SurfAirTemp_D_ct[Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_D_max[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_A[Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TotCO_A[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_TqJ_D_max[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 CloudFrc_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 TotO3_D_sdev[Latitude = 180][Longitude = 360]; + Float32 RelHum_A_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_A_err[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_A_sdev[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_TqJ_A[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 TotCO_A_max[Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_TqJ_D_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_D_sdev[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_A_err[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_TqJ_A_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_D[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CloudFrc_A_err[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 GPHeight_MW_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 CoarseCloudFrc_A_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 CO_VMR_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 OLR_A_min[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_D[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_TqJ_D_sdev[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Int16 TotCO_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_TqJ_A_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_MW_A_min[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_D_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 EmisIR_A_err[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 GPHeight_TqJ_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_D_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_A[Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 GPHeight_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 SurfSkinTemp_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_D_max[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_A_min[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_D_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 TotCH4_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_A_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_A_max[Latitude = 180][Longitude = 360]; + Int16 TotH2OVap_MW_D_ct[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropHeight_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 GPHeight_MW_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 GPHeight_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 Temperature_MW_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 Temperature_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_A_min[Latitude = 180][Longitude = 360]; + Float32 TropHeight_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 GPHeight_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 CloudTopTemp_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 GPHeight_TqJ_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropHeight_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_D_min[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_A[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_D_err[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 CoarseCloudPres_TqJ_A_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_A_sdev[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 TropTemp_A_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_D_min[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 TropTemp_TqJ_D[Latitude = 180][Longitude = 360]; + Int16 SurfPres_Forecast_A_ct[Latitude = 180][Longitude = 360]; + Float32 TropHeight_TqJ_D[Latitude = 180][Longitude = 360]; + Int16 LandSeaMask[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_A_max[Latitude = 180][Longitude = 360]; + Float32 TropTemp_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_D_sdev[Latitude = 180][Longitude = 360]; + Int16 CloudTopPres_D_ct[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_A_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 GPHeight_TqJ_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 GPHeight_MW_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropTemp_A_min[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_D_err[Latitude = 180][Longitude = 360]; + Int16 CoarseCloudTemp_TqJ_D_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 Temperature_MW_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_D_sdev[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 TotCO_D_min[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_TqJ_D[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 RelHumSurf_A_ct[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_A_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 CoarseCloudPres_D_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 TropPres_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_D_err[Latitude = 180][Longitude = 360]; + Int16 GPHeight_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_A[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_A_err[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 EmisIR_TqJ_D_ct[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 TotCH4_A_max[Latitude = 180][Longitude = 360]; + Int16 Emis_MW_D_ct[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_D_max[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropHeight_D[Latitude = 180][Longitude = 360]; + Float32 TropPres_D_max[Latitude = 180][Longitude = 360]; + Float32 Temperature_MW_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHum_D[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_D[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 EmisIR_A[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_A_max[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_D_max[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_A_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 Emis_MW_A[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_D_max[Latitude = 180][Longitude = 360]; + Float32 GPHeight_TqJ_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 OLR_A[Latitude = 180][Longitude = 360]; + Float32 TropPres_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Int16 TotalCounts_MW_A[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 TotCO_TqJ_D[Latitude = 180][Longitude = 360]; + Float32 TotCO_D_sdev[Latitude = 180][Longitude = 360]; + Float32 EmisIR_D_sdev[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_D_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_D_err[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_A_max[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_D_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 GPHeight_TqJ_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_D_sdev[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_Surf_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_D[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_D_sdev[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_MW_A[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_D[Latitude = 180][Longitude = 360]; + Int16 RelHum_TqJ_D_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TotCO_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_D[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_D_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_A_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_D[Latitude = 180][Longitude = 360]; + Int16 CoarseCloudFrc_D_ct[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_TqJ_A[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_A_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_D_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_A_min[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 TotCO_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 Temperature_MW_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_D_min[Latitude = 180][Longitude = 360]; + Float32 Temperature_MW_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotCH4_D[Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_D_min[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 TotCH4_A[Latitude = 180][Longitude = 360]; + Float32 RelHum_TqJ_D[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_A_err[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropTemp_D[Latitude = 180][Longitude = 360]; + Int16 CloudFrc_D_ct[Latitude = 180][Longitude = 360]; + Float32 GPHeight_MW_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 TotO3_D_ct[Latitude = 180][Longitude = 360]; + Int16 TotO3_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 Temperature_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 GPHeight_MW_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_D_err[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 Temperature_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 OLR_D_ct[Latitude = 180][Longitude = 360]; + Float32 Temperature_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_D_max[Latitude = 180][Longitude = 360]; + Int16 RelHum_liquid_TqJ_D_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 O3_VMR_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 Temperature_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropHeight_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 TotCO_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 Emis_MW_D_max[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 EmisIR_D[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_TqJ_D_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Int16 FineCloudFrc_A_ct[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 RelHum_TqJ_D_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_A_max[Latitude = 180][Longitude = 360]; + Float32 GPHeight_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_A[Latitude = 180][Longitude = 360]; + Float32 EmisIR_A_min[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Int16 TropHeight_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_A_max[Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_D_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_D_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_A_min[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 Temperature_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropHeight_A[Latitude = 180][Longitude = 360]; + Int16 SurfPres_Forecast_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_D_err[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 Temperature_TqJ_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_D_max[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_TqJ_D_ct[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 ClrOLR_A_ct[Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_D_err[Latitude = 180][Longitude = 360]; + Float32 EmisIR_A_max[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_D_max[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_A_max[Latitude = 180][Longitude = 360]; + Int16 Temperature_MW_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_A[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_D[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_A_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 CloudTopPres_A_ct[Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_TqJ_A_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_A[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_Lyr_D_ct[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CloudFrc_D_max[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_D_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 TotO3_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_A_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_TqJ_A_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_D_max[Latitude = 180][Longitude = 360]; + Float32 GPHeight_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 EmisIR_TqJ_A_ct[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_D_min[Latitude = 180][Longitude = 360]; + Float32 OLR_A_err[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_D_min[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_A_max[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_TqJ_D_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_D_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_MW_D_sdev[Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_TqJ_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropTemp_A_max[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_D_max[Latitude = 180][Longitude = 360]; + Float32 TropPres_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 TropPres_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 EmisIR_TqJ_A_err[EmisFreqIR = 4][Latitude = 180][Longitude = 360]; + Float32 TropHeight_D_sdev[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_A_sdev[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_A[Latitude = 180][Longitude = 360]; + Float32 TotO3_A_err[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_D_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_TqJ_D_min[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_TqJ_D_err[Latitude = 180][Longitude = 360]; + Float32 TotO3_TqJ_A_err[Latitude = 180][Longitude = 360]; + Int16 ClrOLR_D_ct[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_TqJ_A_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 GPHeight_TqJ_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_TqJ_D[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 RelHum_liquid_D[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 SurfAirTemp_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_A_max[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_A_sdev[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Int16 TotO3_A_ct[Latitude = 180][Longitude = 360]; + Float32 Temperature_MW_A_max[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_MW_D_max[Latitude = 180][Longitude = 360]; + Float32 GPHeight_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_D_err[Latitude = 180][Longitude = 360]; + Float32 Emis_MW_A_max[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_D_err[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Int16 TropPres_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_D_err[Latitude = 180][Longitude = 360]; + Float32 Emis_MW_A_min[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 TropHeight_A_max[Latitude = 180][Longitude = 360]; + Int16 FineCloudFrc_TqJ_D_ct[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_TqJ_A_min[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudFrc_TqJ_D_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_TqJ_D_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_D_min[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_D_err[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_A[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_Surf_TqJ_A_ct[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Surf_D_err[Latitude = 180][Longitude = 360]; + Float32 GPHeight_MW_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_D[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 CloudFrc_D_sdev[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_D_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotO3_D_max[Latitude = 180][Longitude = 360]; + Float32 TotO3_D_min[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 TotCH4_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_liquid_A_max[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_A_min[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_TqJ_D_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 TotCH4_TqJ_A[Latitude = 180][Longitude = 360]; + Float32 CH4_VMR_D_err[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 RelHumSurf_A_min[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_D[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_TqJ_A_max[Latitude = 180][Longitude = 360]; + Float32 GPHeight_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_D_max[Latitude = 180][Longitude = 360]; + Float32 CoarseCloudPres_D_min[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 SurfSkinTemp_A_min[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_D[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 RelHum_D_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 TotH2OVap_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_D_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_A_sdev[Latitude = 180][Longitude = 360]; + Int16 H2O_MMR_Surf_D_ct[Latitude = 180][Longitude = 360]; + Int16 SurfAirTemp_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_D_sdev[Latitude = 180][Longitude = 360]; + Float32 Emis_MW_D_min[EmisFreqMW = 3][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_TqJ_D_sdev[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 OLR_TqJ_A_sdev[Latitude = 180][Longitude = 360]; + Float32 ClrOLR_A_min[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_TqJ_D_min[Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_A_max[Latitude = 180][Longitude = 360]; + Float32 TotCH4_TqJ_A_min[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_A_min[Latitude = 180][Longitude = 360]; + Int16 TotCldLiqH2O_MW_A_ct[Latitude = 180][Longitude = 360]; + Float32 FineCloudFrc_TqJ_A_max[FineCloudLayer = 12][Latitude = 180][Longitude = 360]; + Float32 OLR_D[Latitude = 180][Longitude = 360]; + Float32 CO_VMR_TqJ_A_min[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotCldLiqH2O_MW_D_sdev[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_TqJ_D_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 Temperature_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TropPres_TqJ_D_sdev[Latitude = 180][Longitude = 360]; + Int16 CloudFrc_A_ct[Latitude = 180][Longitude = 360]; + Float32 CloudTopTemp_TqJ_D_err[Latitude = 180][Longitude = 360]; + Float32 Topography[Latitude = 180][Longitude = 360]; + Int16 CH4_VMR_A_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 CloudTopPres_D_max[Latitude = 180][Longitude = 360]; + Float32 RelHum_A_sdev[H2OPressureLev = 12][Latitude = 180][Longitude = 360]; + Int16 O3_VMR_TqJ_D_ct[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 TotH2OVap_MW_A_max[Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_A[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Float32 O3_VMR_TqJ_A_sdev[StdPressureLev = 24][Latitude = 180][Longitude = 360]; + Int16 TotCO_A_ct[Latitude = 180][Longitude = 360]; + Float32 SurfAirTemp_D_err[Latitude = 180][Longitude = 360]; + Int16 CloudTopTemp_TqJ_D_ct[Latitude = 180][Longitude = 360]; + Float32 SurfPres_Forecast_A_sdev[Latitude = 180][Longitude = 360]; + Float32 H2O_MMR_Lyr_A_err[H2OPressureLay = 12][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudTemp_TqJ_A_max[CoarseCloudLayer = 3][Latitude = 180][Longitude = 360]; + Float32 CoarseCloudLayer[CoarseCloudLayer = 3]; + Float32 EmisFreqIR[EmisFreqIR = 4]; + Float32 EmisFreqMW[EmisFreqMW = 3]; + Float32 FineCloudLayer[FineCloudLayer = 12]; + Float32 H2OPressureLay[H2OPressureLay = 12]; + Float32 H2OPressureLev[H2OPressureLev = 12]; + Float64 Latitude[Latitude = 180]; + Float64 Longitude[Longitude = 360]; + Float32 StdPressureLev[StdPressureLev = 24]; +} AIRS.2015.01.01.L3.RetStd_IR001.v6.0.11.0.G15013155825.nc.h5; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/big_airs_metadata.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,19007 @@ + + + + + + + + + + + + + + + + -9999.000000 + + + ClrOLR_A + + + /ClrOLR_A + + + + + + + + -9999.000000 + + + GPHeight_MW_A_sdev + + + /GPHeight_MW_A_sdev + + + + + + + + 0 + + + CO_VMR_TqJ_D_ct + + + /CO_VMR_TqJ_D_ct + + + + + + + + -9999.000000 + + + RelHum_liquid_A_max + + + /RelHum_liquid_A_max + + + + + + + + -9999.000000 + + + Temperature_A_err + + + /Temperature_A_err + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_A + + + /TotH2OVap_TqJ_A + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_A_min + + + /TotCldLiqH2O_MW_A_min + + + + + + + + -9999.000000 + + + RelHum_A_min + + + /RelHum_A_min + + + + + + + 0 + + + TropHeight_TqJ_D_ct + + + /TropHeight_TqJ_D_ct + + + + + + + 0 + + + TropHeight_D_ct + + + /TropHeight_D_ct + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_D + + + /O3_VMR_TqJ_D + + + + + + + 0 + + + SurfPres_Forecast_D_ct + + + /SurfPres_Forecast_D_ct + + + + + + + -9999.000000 + + + CloudFrc_A_sdev + + + /CloudFrc_A_sdev + + + + + + + + -9999.000000 + + + RelHum_TqJ_D_max + + + /RelHum_TqJ_D_max + + + + + + + + -9999.000000 + + + CoarseCloudPres_TqJ_D_sdev + + + /CoarseCloudPres_TqJ_D_sdev + + + + + + + -9999.000000 + + + CloudFrc_TqJ_D_max + + + /CloudFrc_TqJ_D_max + + + + + + + 0 + + + RelHumSurf_TqJ_D_ct + + + /RelHumSurf_TqJ_D_ct + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_A_max + + + /O3_VMR_TqJ_A_max + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_D_min + + + /CloudTopPres_TqJ_D_min + + + + + + + + -9999.000000 + + + Emis_MW_D + + + /Emis_MW_D + + + + + + + -9999.000000 + + + CloudTopPres_A + + + /CloudTopPres_A + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_D + + + /SurfSkinTemp_TqJ_D + + + + + + + -9999.000000 + + + CloudFrc_TqJ_A_err + + + /CloudFrc_TqJ_A_err + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_D + + + /H2O_MMR_TqJ_D + + + + + + + 0 + + + TotCO_TqJ_A_ct + + + /TotCO_TqJ_A_ct + + + + + + + 0 + + + TropPres_D_ct + + + /TropPres_D_ct + + + + + + + + -9999.000000 + + + FineCloudFrc_TqJ_A_sdev + + + /FineCloudFrc_TqJ_A_sdev + + + + + + + -9999.000000 + + + TotCO_TqJ_D_max + + + /TotCO_TqJ_D_max + + + + + + + -9999.000000 + + + ClrOLR_TqJ_A + + + /ClrOLR_TqJ_A + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_A_err + + + /TotCldLiqH2O_MW_A_err + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_D_min + + + /H2O_MMR_Surf_TqJ_D_min + + + + + + + + 0 + + + Temperature_TqJ_D_ct + + + /Temperature_TqJ_D_ct + + + + + + + 0 + + + TotCH4_A_ct + + + /TotCH4_A_ct + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_A_min + + + /H2O_MMR_Lyr_A_min + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_D_sdev + + + /CO_VMR_TqJ_D_sdev + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_D_err + + + /H2O_MMR_Surf_TqJ_D_err + + + + + + + + -9999.000000 + + + Temperature_TqJ_D + + + /Temperature_TqJ_D + + + + + + + -9999.000000 + + + CloudFrc_TqJ_D_err + + + /CloudFrc_TqJ_D_err + + + + + + + + 0 + + + RelHum_A_ct + + + /RelHum_A_ct + + + + + + + 0 + + + RelHumSurf_liquid_TqJ_A_ct + + + /RelHumSurf_liquid_TqJ_A_ct + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_D_sdev + + + /H2O_MMR_Lyr_D_sdev + + + + + + + + -9999.000000 + + + EmisIR_A_sdev + + + /EmisIR_A_sdev + + + + + + + -9999.000000 + + + TropTemp_A_sdev + + + /TropTemp_A_sdev + + + + + + + -9999.000000 + + + TropPres_D_sdev + + + /TropPres_D_sdev + + + + + + + -9999.000000 + + + OLR_D_err + + + /OLR_D_err + + + + + + + + -9999.000000 + + + O3_VMR_D + + + /O3_VMR_D + + + + + + + + 0 + + + H2O_MMR_D_ct + + + /H2O_MMR_D_ct + + + + + + + + -9999.000000 + + + GPHeight_TqJ_D + + + /GPHeight_TqJ_D + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_A_err + + + /SurfSkinTemp_TqJ_A_err + + + + + + + 0 + + + TropTemp_D_ct + + + /TropTemp_D_ct + + + + + + + + -9999.000000 + + + Temperature_TqJ_A_min + + + /Temperature_TqJ_A_min + + + + + + + -9999.000000 + + + TotH2OVap_A_err + + + /TotH2OVap_A_err + + + + + + + + -9999.000000 + + + Temperature_TqJ_D_err + + + /Temperature_TqJ_D_err + + + + + + + -9999.000000 + + + OLR_TqJ_D_min + + + /OLR_TqJ_D_min + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_D_max + + + /SurfSkinTemp_TqJ_D_max + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_A + + + /SurfSkinTemp_TqJ_A + + + + + + + -9999.000000 + + + CloudTopPres_D_sdev + + + /CloudTopPres_D_sdev + + + + + + + -9999.000000 + + + SurfPres_Forecast_A + + + /SurfPres_Forecast_A + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_D_err + + + /H2O_MMR_Lyr_TqJ_D_err + + + + + + + + -9999.000000 + + + CoarseCloudTemp_TqJ_A + + + /CoarseCloudTemp_TqJ_A + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_D_min + + + /CH4_VMR_TqJ_D_min + + + + + + + + 0 + + + RelHum_liquid_TqJ_A_ct + + + /RelHum_liquid_TqJ_A_ct + + + + + + + -9999.000000 + + + TropHeight_TqJ_A_min + + + /TropHeight_TqJ_A_min + + + + + + + + 0 + + + H2O_MMR_Lyr_TqJ_A_ct + + + /H2O_MMR_Lyr_TqJ_A_ct + + + + + + + 0 + + + TotalCounts_TqJ_A + + + /TotalCounts_TqJ_A + + + + + + + -9999.000000 + + + OLR_A_max + + + /OLR_A_max + + + + + + + -9999.000000 + + + TropPres_TqJ_A_max + + + /TropPres_TqJ_A_max + + + + + + + -9999.000000 + + + TotO3_D + + + /TotO3_D + + + + + + + + 0 + + + CoarseCloudTemp_D_ct + + + /CoarseCloudTemp_D_ct + + + + + + + -9999.000000 + + + TropHeight_D_min + + + /TropHeight_D_min + + + + + + + 0 + + + TotH2OVap_D_ct + + + /TotH2OVap_D_ct + + + + + + + + -9999.000000 + + + FineCloudFrc_D_max + + + /FineCloudFrc_D_max + + + + + + + + 0 + + + O3_VMR_A_ct + + + /O3_VMR_A_ct + + + + + + + + -9999.000000 + + + GPHeight_MW_A_max + + + /GPHeight_MW_A_max + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_A_max + + + /CO_VMR_TqJ_A_max + + + + + + + 0 + + + CloudTopPres_TqJ_A_ct + + + /CloudTopPres_TqJ_A_ct + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_A + + + /H2O_MMR_TqJ_A + + + + + + + + -9999.000000 + + + EmisIR_TqJ_A_sdev + + + /EmisIR_TqJ_A_sdev + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_D_err + + + /TotH2OVap_TqJ_D_err + + + + + + + 0 + + + TotalCounts_A + + + /TotalCounts_A + + + + + + + + -9999.000000 + + + O3_VMR_A_sdev + + + /O3_VMR_A_sdev + + + + + + + + -9999.000000 + + + GPHeight_TqJ_D_max + + + /GPHeight_TqJ_D_max + + + + + + + + -9999.000000 + + + O3_VMR_D_sdev + + + /O3_VMR_D_sdev + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_D_max + + + /CH4_VMR_TqJ_D_max + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_A_sdev + + + /CloudTopTemp_TqJ_A_sdev + + + + + + + 0 + + + TotH2OVap_TqJ_A_ct + + + /TotH2OVap_TqJ_A_ct + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_D_min + + + /CloudTopTemp_TqJ_D_min + + + + + + + -9999.000000 + + + TotCH4_D_min + + + /TotCH4_D_min + + + + + + + + 0 + + + CoarseCloudPres_TqJ_D_ct + + + /CoarseCloudPres_TqJ_D_ct + + + + + + + -9999.000000 + + + TotH2OVap_MW_A_sdev + + + /TotH2OVap_MW_A_sdev + + + + + + + + -9999.000000 + + + CoarseCloudFrc_TqJ_D + + + /CoarseCloudFrc_TqJ_D + + + + + + + -9999.000000 + + + CloudFrc_TqJ_D_min + + + /CloudFrc_TqJ_D_min + + + + + + + 0 + + + RelHumSurf_TqJ_A_ct + + + /RelHumSurf_TqJ_A_ct + + + + + + + 0 + + + CloudFrc_TqJ_D_ct + + + /CloudFrc_TqJ_D_ct + + + + + + + + -9999.000000 + + + CoarseCloudTemp_D + + + /CoarseCloudTemp_D + + + + + + + -9999.000000 + + + TropPres_A_min + + + /TropPres_A_min + + + + + + + + -9999.000000 + + + RelHum_liquid_TqJ_D_max + + + /RelHum_liquid_TqJ_D_max + + + + + + + + -9999.000000 + + + FineCloudFrc_A_min + + + /FineCloudFrc_A_min + + + + + + + -9999.000000 + + + ClrOLR_D + + + /ClrOLR_D + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_A + + + /H2O_MMR_Surf_TqJ_A + + + + + + + + -9999.000000 + + + O3_VMR_A_min + + + /O3_VMR_A_min + + + + + + + 0 + + + CloudTopTemp_D_ct + + + /CloudTopTemp_D_ct + + + + + + + + -9999.000000 + + + FineCloudFrc_A_max + + + /FineCloudFrc_A_max + + + + + + + + -9999.000000 + + + FineCloudFrc_A_sdev + + + /FineCloudFrc_A_sdev + + + + + + + -9999.000000 + + + CloudTopTemp_A_err + + + /CloudTopTemp_A_err + + + + + + + -9999.000000 + + + RelHumSurf_A_sdev + + + /RelHumSurf_A_sdev + + + + + + + -9999.000000 + + + CloudFrc_TqJ_A + + + /CloudFrc_TqJ_A + + + + + + + + -9999.000000 + + + CO_VMR_A_min + + + /CO_VMR_A_min + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_D_sdev + + + /SurfAirTemp_TqJ_D_sdev + + + + + + + + 0 + + + FineCloudFrc_D_ct + + + /FineCloudFrc_D_ct + + + + + + + -9999.000000 + + + TotCH4_TqJ_D_min + + + /TotCH4_TqJ_D_min + + + + + + + -9999.000000 + + + TropTemp_TqJ_A_max + + + /TropTemp_TqJ_A_max + + + + + + + -9999.000000 + + + RelHumSurf_A_max + + + /RelHumSurf_A_max + + + + + + + + -9999.000000 + + + Temperature_TqJ_D_sdev + + + /Temperature_TqJ_D_sdev + + + + + + + 0 + + + TotCH4_TqJ_D_ct + + + /TotCH4_TqJ_D_ct + + + + + + + -9999.000000 + + + H2O_MMR_Surf_D_min + + + /H2O_MMR_Surf_D_min + + + + + + + + -9999.000000 + + + EmisIR_TqJ_D_err + + + /EmisIR_TqJ_D_err + + + + + + + + -9999.000000 + + + H2O_MMR_A + + + /H2O_MMR_A + + + + + + + + -9999.000000 + + + O3_VMR_D_min + + + /O3_VMR_D_min + + + + + + + + 0 + + + Temperature_TqJ_A_ct + + + /Temperature_TqJ_A_ct + + + + + + + + -9999.000000 + + + CO_VMR_D_max + + + /CO_VMR_D_max + + + + + + + -9999.000000 + + + TropTemp_TqJ_D_max + + + /TropTemp_TqJ_D_max + + + + + + + -9999.000000 + + + CloudTopPres_D + + + /CloudTopPres_D + + + + + + + 0 + + + TropPres_TqJ_D_ct + + + /TropPres_TqJ_D_ct + + + + + + + -9999.000000 + + + CloudTopPres_A_err + + + /CloudTopPres_A_err + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_A_err + + + /CloudTopPres_TqJ_A_err + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_A_min + + + /CloudTopPres_TqJ_A_min + + + + + + + -9999.000000 + + + CloudTopPres_D_err + + + /CloudTopPres_D_err + + + + + + + -9999.000000 + + + CloudTopPres_D_min + + + /CloudTopPres_D_min + + + + + + + 0 + + + TotH2OVap_MW_A_ct + + + /TotH2OVap_MW_A_ct + + + + + + + + 0 + + + O3_VMR_TqJ_A_ct + + + /O3_VMR_TqJ_A_ct + + + + + + + -9999.000000 + + + TotO3_TqJ_D_err + + + /TotO3_TqJ_D_err + + + + + + + -9999.000000 + + + H2O_MMR_Surf_D + + + /H2O_MMR_Surf_D + + + + + + + -9999.000000 + + + TropTemp_D_min + + + /TropTemp_D_min + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_D + + + /CH4_VMR_TqJ_D + + + + + + + -9999.000000 + + + RelHumSurf_liquid_TqJ_D_max + + + /RelHumSurf_liquid_TqJ_D_max + + + + + + + + 0 + + + Emis_MW_A_ct + + + /Emis_MW_A_ct + + + + + + + + -9999.000000 + + + EmisIR_TqJ_A_min + + + /EmisIR_TqJ_A_min + + + + + + + + 0 + + + CH4_VMR_TqJ_D_ct + + + /CH4_VMR_TqJ_D_ct + + + + + + + -9999.000000 + + + TotO3_TqJ_D + + + /TotO3_TqJ_D + + + + + + + + -9999.000000 + + + RelHum_liquid_TqJ_D + + + /RelHum_liquid_TqJ_D + + + + + + + -9999.000000 + + + TotCH4_TqJ_A_max + + + /TotCH4_TqJ_A_max + + + + + + + + -9999.000000 + + + GPHeight_A_max + + + /GPHeight_A_max + + + + + + + + -9999.000000 + + + O3_VMR_D_max + + + /O3_VMR_D_max + + + + + + + -9999.000000 + + + SurfAirTemp_A_max + + + /SurfAirTemp_A_max + + + + + + + + 0 + + + Temperature_A_ct + + + /Temperature_A_ct + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_A_min + + + /H2O_MMR_TqJ_A_min + + + + + + + 0 + + + SurfSkinTemp_D_ct + + + /SurfSkinTemp_D_ct + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_A_err + + + /O3_VMR_TqJ_A_err + + + + + + + + -9999.000000 + + + EmisIR_D_err + + + /EmisIR_D_err + + + + + + + + -9999.000000 + + + Temperature_A_max + + + /Temperature_A_max + + + + + + + -9999.000000 + + + RelHumSurf_liquid_TqJ_D_min + + + /RelHumSurf_liquid_TqJ_D_min + + + + + + + -9999.000000 + + + ClrOLR_TqJ_D_sdev + + + /ClrOLR_TqJ_D_sdev + + + + + + + + 0 + + + EmisIR_A_ct + + + /EmisIR_A_ct + + + + + + + -9999.000000 + + + OLR_TqJ_D + + + /OLR_TqJ_D + + + + + + + + -9999.000000 + + + Temperature_MW_A + + + /Temperature_MW_A + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_A_sdev + + + /SurfAirTemp_TqJ_A_sdev + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_D_sdev + + + /CloudTopPres_TqJ_D_sdev + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_A_err + + + /CloudTopTemp_TqJ_A_err + + + + + + + -9999.000000 + + + TotCH4_A_sdev + + + /TotCH4_A_sdev + + + + + + + + -9999.000000 + + + EmisIR_TqJ_D_sdev + + + /EmisIR_TqJ_D_sdev + + + + + + + -9999.000000 + + + RelHumSurf_D_max + + + /RelHumSurf_D_max + + + + + + + -9999.000000 + + + SurfAirTemp_D_min + + + /SurfAirTemp_D_min + + + + + + + + -9999.000000 + + + FineCloudFrc_A + + + /FineCloudFrc_A + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_D_max + + + /SurfAirTemp_TqJ_D_max + + + + + + + -9999.000000 + + + TropHeight_TqJ_D_min + + + /TropHeight_TqJ_D_min + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_A_max + + + /H2O_MMR_Lyr_TqJ_A_max + + + + + + + 0 + + + SurfSkinTemp_TqJ_D_ct + + + /SurfSkinTemp_TqJ_D_ct + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_A_err + + + /SurfAirTemp_TqJ_A_err + + + + + + + -9999.000000 + + + ClrOLR_A_err + + + /ClrOLR_A_err + + + + + + + -9999.000000 + + + TropTemp_D_sdev + + + /TropTemp_D_sdev + + + + + + + -9999.000000 + + + CloudTopTemp_D_min + + + /CloudTopTemp_D_min + + + + + + + + -9999.000000 + + + CoarseCloudPres_D + + + /CoarseCloudPres_D + + + + + + + -9999.000000 + + + TropPres_D_min + + + /TropPres_D_min + + + + + + + -9999.000000 + + + TotCO_TqJ_A_sdev + + + /TotCO_TqJ_A_sdev + + + + + + + -9999.000000 + + + H2O_MMR_Surf_A_sdev + + + /H2O_MMR_Surf_A_sdev + + + + + + + -9999.000000 + + + TotH2OVap_A_sdev + + + /TotH2OVap_A_sdev + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_D_max + + + /TotCldLiqH2O_MW_D_max + + + + + + + + -9999.000000 + + + CH4_VMR_A_max + + + /CH4_VMR_A_max + + + + + + + + -9999.000000 + + + CH4_VMR_A + + + /CH4_VMR_A + + + + + + + -9999.000000 + + + H2O_MMR_Surf_D_max + + + /H2O_MMR_Surf_D_max + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_D_sdev + + + /SurfSkinTemp_TqJ_D_sdev + + + + + + + -9999.000000 + + + OLR_A_sdev + + + /OLR_A_sdev + + + + + + + -9999.000000 + + + TotCO_D + + + /TotCO_D + + + + + + + + 0 + + + CoarseCloudFrc_TqJ_D_ct + + + /CoarseCloudFrc_TqJ_D_ct + + + + + + + -9999.000000 + + + TotCH4_D_max + + + /TotCH4_D_max + + + + + + + + 0 + + + H2O_MMR_A_ct + + + /H2O_MMR_A_ct + + + + + + + + 0 + + + H2O_MMR_TqJ_A_ct + + + /H2O_MMR_TqJ_A_ct + + + + + + + -9999.000000 + + + SurfSkinTemp_A_err + + + /SurfSkinTemp_A_err + + + + + + + -9999.000000 + + + SurfPres_Forecast_TqJ_D_sdev + + + /SurfPres_Forecast_TqJ_D_sdev + + + + + + + + -9999.000000 + + + CO_VMR_A_err + + + /CO_VMR_A_err + + + + + + + -9999.000000 + + + TotH2OVap_D_min + + + /TotH2OVap_D_min + + + + + + + + -9999.000000 + + + Temperature_TqJ_A + + + /Temperature_TqJ_A + + + + + + + -9999.000000 + + + TotO3_TqJ_D_max + + + /TotO3_TqJ_D_max + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_D_err + + + /SurfAirTemp_TqJ_D_err + + + + + + + + -9999.000000 + + + GPHeight_MW_D_min + + + /GPHeight_MW_D_min + + + + + + + + -9999.000000 + + + CO_VMR_D_sdev + + + /CO_VMR_D_sdev + + + + + + + + -9999.000000 + + + RelHum_TqJ_A_max + + + /RelHum_TqJ_A_max + + + + + + + 0 + + + RelHumSurf_liquid_TqJ_D_ct + + + /RelHumSurf_liquid_TqJ_D_ct + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_A_sdev + + + /H2O_MMR_TqJ_A_sdev + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_D_sdev + + + /CH4_VMR_TqJ_D_sdev + + + + + + + + -9999.000000 + + + O3_VMR_D_err + + + /O3_VMR_D_err + + + + + + + -9999.000000 + + + TotO3_A_sdev + + + /TotO3_A_sdev + + + + + + + -9999.000000 + + + OLR_TqJ_A_err + + + /OLR_TqJ_A_err + + + + + + + -9999.000000 + + + CloudFrc_TqJ_D + + + /CloudFrc_TqJ_D + + + + + + + 0 + + + SurfAirTemp_A_ct + + + /SurfAirTemp_A_ct + + + + + + + + -9999.000000 + + + CoarseCloudFrc_TqJ_A_sdev + + + /CoarseCloudFrc_TqJ_A_sdev + + + + + + + -9999.000000 + + + RelHumSurf_TqJ_D + + + /RelHumSurf_TqJ_D + + + + + + + -9999.000000 + + + TotCH4_TqJ_A_sdev + + + /TotCH4_TqJ_A_sdev + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_A_sdev + + + /CO_VMR_TqJ_A_sdev + + + + + + + -9999.000000 + + + H2O_MMR_Surf_A_err + + + /H2O_MMR_Surf_A_err + + + + + + + -9999.000000 + + + RelHumSurf_TqJ_A_max + + + /RelHumSurf_TqJ_A_max + + + + + + + -9999.000000 + + + TotCH4_D_sdev + + + /TotCH4_D_sdev + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_A_err + + + /TotH2OVap_TqJ_A_err + + + + + + + + -9999.000000 + + + GPHeight_TqJ_D_min + + + /GPHeight_TqJ_D_min + + + + + + + -9999.000000 + + + SurfSkinTemp_A_sdev + + + /SurfSkinTemp_A_sdev + + + + + + + + -9999.000000 + + + CO_VMR_D + + + /CO_VMR_D + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_D + + + /CloudTopTemp_TqJ_D + + + + + + + -9999.000000 + + + TotO3_TqJ_A_sdev + + + /TotO3_TqJ_A_sdev + + + + + + + + -9999.000000 + + + CoarseCloudFrc_TqJ_D_min + + + /CoarseCloudFrc_TqJ_D_min + + + + + + + -9999.000000 + + + TropPres_TqJ_D + + + /TropPres_TqJ_D + + + + + + + + 0 + + + RelHum_TqJ_A_ct + + + /RelHum_TqJ_A_ct + + + + + + + + 0 + + + Temperature_MW_D_ct + + + /Temperature_MW_D_ct + + + + + + + + -9999.000000 + + + Temperature_D_err + + + /Temperature_D_err + + + + + + + -9999.000000 + + + TotH2OVap_D + + + /TotH2OVap_D + + + + + + + + -9999.000000 + + + H2O_MMR_D_sdev + + + /H2O_MMR_D_sdev + + + + + + + + -9999.000000 + + + CoarseCloudPres_TqJ_A_sdev + + + /CoarseCloudPres_TqJ_A_sdev + + + + + + + + -9999.000000 + + + CoarseCloudPres_A_min + + + /CoarseCloudPres_A_min + + + + + + + + -9999.000000 + + + EmisIR_D_max + + + /EmisIR_D_max + + + + + + + -9999.000000 + + + TropPres_A_max + + + /TropPres_A_max + + + + + + + + -9999.000000 + + + Temperature_MW_D_min + + + /Temperature_MW_D_min + + + + + + + + -9999.000000 + + + RelHum_D_max + + + /RelHum_D_max + + + + + + + 0 + + + TotalCounts_MW_D + + + /TotalCounts_MW_D + + + + + + + + 0 + + + CH4_VMR_TqJ_A_ct + + + /CH4_VMR_TqJ_A_ct + + + + + + + -9999.000000 + + + OLR_D_min + + + /OLR_D_min + + + + + + + + -9999.000000 + + + CoarseCloudPres_D_sdev + + + /CoarseCloudPres_D_sdev + + + + + + + + -9999.000000 + + + RelHum_liquid_D_max + + + /RelHum_liquid_D_max + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_A + + + /CH4_VMR_TqJ_A + + + + + + + -9999.000000 + + + SurfAirTemp_A_sdev + + + /SurfAirTemp_A_sdev + + + + + + + 0 + + + RelHumSurf_D_ct + + + /RelHumSurf_D_ct + + + + + + + + -9999.000000 + + + CO_VMR_D_min + + + /CO_VMR_D_min + + + + + + + -9999.000000 + + + TotO3_TqJ_A_min + + + /TotO3_TqJ_A_min + + + + + + + -9999.000000 + + + RelHumSurf_liquid_D_sdev + + + /RelHumSurf_liquid_D_sdev + + + + + + + -9999.000000 + + + SurfAirTemp_A_err + + + /SurfAirTemp_A_err + + + + + + + -9999.000000 + + + CloudFrc_TqJ_A_max + + + /CloudFrc_TqJ_A_max + + + + + + + -9999.000000 + + + OLR_TqJ_D_sdev + + + /OLR_TqJ_D_sdev + + + + + + + -9999.000000 + + + OLR_D_sdev + + + /OLR_D_sdev + + + + + + + -9999.000000 + + + SurfPres_Forecast_TqJ_A_sdev + + + /SurfPres_Forecast_TqJ_A_sdev + + + + + + + -9999.000000 + + + TotH2OVap_A_min + + + /TotH2OVap_A_min + + + + + + + -9999.000000 + + + TotH2OVap_MW_D_min + + + /TotH2OVap_MW_D_min + + + + + + + -9999.000000 + + + SurfAirTemp_D + + + /SurfAirTemp_D + + + + + + + + -9999.000000 + + + CoarseCloudFrc_A + + + /CoarseCloudFrc_A + + + + + + + + -9999.000000 + + + CoarseCloudPres_A_max + + + /CoarseCloudPres_A_max + + + + + + + 0 + + + CloudTopPres_TqJ_D_ct + + + /CloudTopPres_TqJ_D_ct + + + + + + + + 0 + + + RelHum_liquid_D_ct + + + /RelHum_liquid_D_ct + + + + + + + -9999.000000 + + + OLR_TqJ_D_max + + + /OLR_TqJ_D_max + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_A_sdev + + + /H2O_MMR_Surf_TqJ_A_sdev + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_A + + + /TotCldLiqH2O_MW_A + + + + + + + -9999.000000 + + + TotH2OVap_D_sdev + + + /TotH2OVap_D_sdev + + + + + + + 0 + + + CloudTopTemp_A_ct + + + /CloudTopTemp_A_ct + + + + + + + + 0 + + + CO_VMR_A_ct + + + /CO_VMR_A_ct + + + + + + + + -9999.000000 + + + FineCloudFrc_TqJ_A_min + + + /FineCloudFrc_TqJ_A_min + + + + + + + + -9999.000000 + + + Temperature_TqJ_A_err + + + /Temperature_TqJ_A_err + + + + + + + -9999.000000 + + + OLR_TqJ_A_min + + + /OLR_TqJ_A_min + + + + + + + + 0 + + + CH4_VMR_D_ct + + + /CH4_VMR_D_ct + + + + + + + + -9999.000000 + + + RelHum_liquid_A + + + /RelHum_liquid_A + + + + + + + + -9999.000000 + + + O3_VMR_A_err + + + /O3_VMR_A_err + + + + + + + -9999.000000 + + + TropTemp_TqJ_A_sdev + + + /TropTemp_TqJ_A_sdev + + + + + + + -9999.000000 + + + ClrOLR_TqJ_A_min + + + /ClrOLR_TqJ_A_min + + + + + + + -9999.000000 + + + CloudFrc_D_min + + + /CloudFrc_D_min + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_D_min + + + /TotH2OVap_TqJ_D_min + + + + + + + -9999.000000 + + + CloudFrc_TqJ_D_sdev + + + /CloudFrc_TqJ_D_sdev + + + + + + + + -9999.000000 + + + CoarseCloudFrc_TqJ_A_min + + + /CoarseCloudFrc_TqJ_A_min + + + + + + + + 0 + + + FineCloudFrc_TqJ_A_ct + + + /FineCloudFrc_TqJ_A_ct + + + + + + + -9999.000000 + + + TotO3_A + + + /TotO3_A + + + + + + + + -9999.000000 + + + RelHum_liquid_D_min + + + /RelHum_liquid_D_min + + + + + + + -9999.000000 + + + TropPres_A_sdev + + + /TropPres_A_sdev + + + + + + + + -9999.000000 + + + CoarseCloudPres_TqJ_D_min + + + /CoarseCloudPres_TqJ_D_min + + + + + + + 0 + + + TotH2OVap_A_ct + + + /TotH2OVap_A_ct + + + + + + + -9999.000000 + + + TropTemp_TqJ_A + + + /TropTemp_TqJ_A + + + + + + + + -9999.000000 + + + RelHum_TqJ_A + + + /RelHum_TqJ_A + + + + + + + + -9999.000000 + + + RelHum_liquid_A_sdev + + + /RelHum_liquid_A_sdev + + + + + + + + 0 + + + GPHeight_A_ct + + + /GPHeight_A_ct + + + + + + + -9999.000000 + + + SurfPres_Forecast_TqJ_D + + + /SurfPres_Forecast_TqJ_D + + + + + + + + -9999.000000 + + + RelHum_liquid_A_min + + + /RelHum_liquid_A_min + + + + + + + -9999.000000 + + + TropTemp_TqJ_D_sdev + + + /TropTemp_TqJ_D_sdev + + + + + + + -9999.000000 + + + TotO3_TqJ_D_sdev + + + /TotO3_TqJ_D_sdev + + + + + + + + 0 + + + GPHeight_MW_A_ct + + + /GPHeight_MW_A_ct + + + + + + + 0 + + + TropPres_A_ct + + + /TropPres_A_ct + + + + + + + + -9999.000000 + + + EmisIR_D_min + + + /EmisIR_D_min + + + + + + + 0 + + + TotCH4_D_ct + + + /TotCH4_D_ct + + + + + + + -9999.000000 + + + SurfAirTemp_D_max + + + /SurfAirTemp_D_max + + + + + + + + -9999.000000 + + + CH4_VMR_A_err + + + /CH4_VMR_A_err + + + + + + + 0 + + + TropHeight_A_ct + + + /TropHeight_A_ct + + + + + + + 0 + + + SurfSkinTemp_A_ct + + + /SurfSkinTemp_A_ct + + + + + + + + -9999.000000 + + + CoarseCloudFrc_A_sdev + + + /CoarseCloudFrc_A_sdev + + + + + + + -9999.000000 + + + CloudTopTemp_A_max + + + /CloudTopTemp_A_max + + + + + + + + -9999.000000 + + + FineCloudFrc_TqJ_D + + + /FineCloudFrc_TqJ_D + + + + + + + + -9999.000000 + + + H2O_MMR_A_max + + + /H2O_MMR_A_max + + + + + + + -9999.000000 + + + ClrOLR_TqJ_D_min + + + /ClrOLR_TqJ_D_min + + + + + + + -9999.000000 + + + TotO3_TqJ_A + + + /TotO3_TqJ_A + + + + + + + + 0 + + + H2O_MMR_Lyr_A_ct + + + /H2O_MMR_Lyr_A_ct + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_A + + + /CloudTopTemp_TqJ_A + + + + + + + + -9999.000000 + + + Emis_MW_D_sdev + + + /Emis_MW_D_sdev + + + + + + + -9999.000000 + + + RelHumSurf_liquid_TqJ_A_sdev + + + /RelHumSurf_liquid_TqJ_A_sdev + + + + + + + 0 + + + CloudFrc_TqJ_A_ct + + + /CloudFrc_TqJ_A_ct + + + + + + + -9999.000000 + + + OLR_D_max + + + /OLR_D_max + + + + + + + 0 + + + OLR_TqJ_D_ct + + + /OLR_TqJ_D_ct + + + + + + + + -9999.000000 + + + RelHum_TqJ_A_sdev + + + /RelHum_TqJ_A_sdev + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_D_min + + + /CO_VMR_TqJ_D_min + + + + + + + -9999.000000 + + + CloudTopPres_A_min + + + /CloudTopPres_A_min + + + + + + + 0 + + + ClrOLR_TqJ_A_ct + + + /ClrOLR_TqJ_A_ct + + + + + + + -9999.000000 + + + TropPres_A + + + /TropPres_A + + + + + + + 0 + + + TotalCounts_D + + + /TotalCounts_D + + + + + + + 0 + + + RelHumSurf_liquid_A_ct + + + /RelHumSurf_liquid_A_ct + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_A_max + + + /H2O_MMR_TqJ_A_max + + + + + + + -9999.000000 + + + TotCO_A_sdev + + + /TotCO_A_sdev + + + + + + + -9999.000000 + + + ClrOLR_D_sdev + + + /ClrOLR_D_sdev + + + + + + + + -9999.000000 + + + Temperature_TqJ_A_sdev + + + /Temperature_TqJ_A_sdev + + + + + + + + -9999.000000 + + + H2O_MMR_D_max + + + /H2O_MMR_D_max + + + + + + + -9999.000000 + + + TotCO_TqJ_D_sdev + + + /TotCO_TqJ_D_sdev + + + + + + + -9999.000000 + + + SurfSkinTemp_A + + + /SurfSkinTemp_A + + + + + + + -9999.000000 + + + SurfSkinTemp_D_sdev + + + /SurfSkinTemp_D_sdev + + + + + + + 0 + + + H2O_MMR_Surf_A_ct + + + /H2O_MMR_Surf_A_ct + + + + + + + -9999.000000 + + + TropHeight_D_max + + + /TropHeight_D_max + + + + + + + + -9999.000000 + + + CoarseCloudTemp_TqJ_A_min + + + /CoarseCloudTemp_TqJ_A_min + + + + + + + -9999.000000 + + + TropTemp_A + + + /TropTemp_A + + + + + + + -9999.000000 + + + TropHeight_A_sdev + + + /TropHeight_A_sdev + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_A_max + + + /TotCldLiqH2O_MW_A_max + + + + + + + -9999.000000 + + + TotCH4_TqJ_D + + + /TotCH4_TqJ_D + + + + + + + -9999.000000 + + + CloudFrc_A_min + + + /CloudFrc_A_min + + + + + + + + -9999.000000 + + + RelHum_A + + + /RelHum_A + + + + + + + -9999.000000 + + + CloudTopTemp_D + + + /CloudTopTemp_D + + + + + + + + -9999.000000 + + + Temperature_D_max + + + /Temperature_D_max + + + + + + + -9999.000000 + + + CloudTopPres_A_max + + + /CloudTopPres_A_max + + + + + + + + -9999.000000 + + + CoarseCloudTemp_A_min + + + /CoarseCloudTemp_A_min + + + + + + + 0 + + + TropTemp_TqJ_D_ct + + + /TropTemp_TqJ_D_ct + + + + + + + + -9999.000000 + + + Temperature_TqJ_D_max + + + /Temperature_TqJ_D_max + + + + + + + -9999.000000 + + + RelHumSurf_D_sdev + + + /RelHumSurf_D_sdev + + + + + + + -9999.000000 + + + CloudFrc_TqJ_A_min + + + /CloudFrc_TqJ_A_min + + + + + + + 0 + + + TotCldLiqH2O_MW_D_ct + + + /TotCldLiqH2O_MW_D_ct + + + + + + + -9999.000000 + + + H2O_MMR_Surf_A + + + /H2O_MMR_Surf_A + + + + + + + -9999.000000 + + + TropPres_D + + + /TropPres_D + + + + + + + + -9999.000000 + + + CoarseCloudFrc_D + + + /CoarseCloudFrc_D + + + + + + + + 0 + + + CoarseCloudFrc_TqJ_A_ct + + + /CoarseCloudFrc_TqJ_A_ct + + + + + + + -9999.000000 + + + CloudFrc_D_err + + + /CloudFrc_D_err + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_D_err + + + /O3_VMR_TqJ_D_err + + + + + + + -9999.000000 + + + SurfSkinTemp_D_min + + + /SurfSkinTemp_D_min + + + + + + + -9999.000000 + + + TotCO_TqJ_A_min + + + /TotCO_TqJ_A_min + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_A_min + + + /H2O_MMR_Surf_TqJ_A_min + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_D_min + + + /TotCldLiqH2O_MW_D_min + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_D_min + + + /H2O_MMR_Lyr_D_min + + + + + + + + -9999.000000 + + + CoarseCloudFrc_D_sdev + + + /CoarseCloudFrc_D_sdev + + + + + + + + -9999.000000 + + + RelHum_TqJ_A_min + + + /RelHum_TqJ_A_min + + + + + + + -9999.000000 + + + TotCO_A_min + + + /TotCO_A_min + + + + + + + 0 + + + TotCO_D_ct + + + /TotCO_D_ct + + + + + + + 0 + + + TropTemp_TqJ_A_ct + + + /TropTemp_TqJ_A_ct + + + + + + + + -9999.000000 + + + CH4_VMR_D + + + /CH4_VMR_D + + + + + + + + -9999.000000 + + + RelHum_liquid_TqJ_D_sdev + + + /RelHum_liquid_TqJ_D_sdev + + + + + + + 0 + + + ClrOLR_TqJ_D_ct + + + /ClrOLR_TqJ_D_ct + + + + + + + + 0 + + + CoarseCloudTemp_TqJ_A_ct + + + /CoarseCloudTemp_TqJ_A_ct + + + + + + + + -9999.000000 + + + EmisIR_TqJ_A + + + /EmisIR_TqJ_A + + + + + + + + -9999.000000 + + + Emis_MW_A_sdev + + + /Emis_MW_A_sdev + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_A_min + + + /SurfSkinTemp_TqJ_A_min + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_D_sdev + + + /H2O_MMR_Surf_TqJ_D_sdev + + + + + + + + 0 + + + H2O_MMR_Lyr_TqJ_D_ct + + + /H2O_MMR_Lyr_TqJ_D_ct + + + + + + + -9999.000000 + + + TotCH4_TqJ_D_sdev + + + /TotCH4_TqJ_D_sdev + + + + + + + -9999.000000 + + + CloudFrc_A + + + /CloudFrc_A + + + + + + + -9999.000000 + + + SurfPres_Forecast_TqJ_A_min + + + /SurfPres_Forecast_TqJ_A_min + + + + + + + -9999.000000 + + + RelHumSurf_D + + + /RelHumSurf_D + + + + + + + -9999.000000 + + + TotCO_D_max + + + /TotCO_D_max + + + + + + + + -9999.000000 + + + EmisIR_TqJ_A_max + + + /EmisIR_TqJ_A_max + + + + + + + + 0 + + + EmisIR_D_ct + + + /EmisIR_D_ct + + + + + + + + 0 + + + RelHum_liquid_A_ct + + + /RelHum_liquid_A_ct + + + + + + + + 0 + + + GPHeight_TqJ_D_ct + + + /GPHeight_TqJ_D_ct + + + + + + + -9999.000000 + + + TropHeight_A_min + + + /TropHeight_A_min + + + + + + + -9999.000000 + + + TotH2OVap_MW_D + + + /TotH2OVap_MW_D + + + + + + + 0 + + + RelHumSurf_liquid_D_ct + + + /RelHumSurf_liquid_D_ct + + + + + + + + 0 + + + CO_VMR_TqJ_A_ct + + + /CO_VMR_TqJ_A_ct + + + + + + + + -9999.000000 + + + CoarseCloudFrc_TqJ_A_max + + + /CoarseCloudFrc_TqJ_A_max + + + + + + + -9999.000000 + + + TotCH4_A_min + + + /TotCH4_A_min + + + + + + + -9999.000000 + + + TropTemp_D_max + + + /TropTemp_D_max + + + + + + + 0 + + + TotalCounts_TqJ_D + + + /TotalCounts_TqJ_D + + + + + + + 0 + + + OLR_A_ct + + + /OLR_A_ct + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_A_sdev + + + /CloudTopPres_TqJ_A_sdev + + + + + + + -9999.000000 + + + TropPres_TqJ_D_min + + + /TropPres_TqJ_D_min + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_D + + + /H2O_MMR_Lyr_TqJ_D + + + + + + + + -9999.000000 + + + CoarseCloudTemp_A_max + + + /CoarseCloudTemp_A_max + + + + + + + + 0 + + + CoarseCloudPres_A_ct + + + /CoarseCloudPres_A_ct + + + + + + + + -9999.000000 + + + RelHum_TqJ_D_min + + + /RelHum_TqJ_D_min + + + + + + + + -9999.000000 + + + Temperature_TqJ_D_min + + + /Temperature_TqJ_D_min + + + + + + + + 0 + + + CoarseCloudTemp_A_ct + + + /CoarseCloudTemp_A_ct + + + + + + + -9999.000000 + + + ClrOLR_A_sdev + + + /ClrOLR_A_sdev + + + + + + + -9999.000000 + + + TropTemp_TqJ_A_min + + + /TropTemp_TqJ_A_min + + + + + + + -9999.000000 + + + TropHeight_TqJ_A + + + /TropHeight_TqJ_A + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_D_err + + + /SurfSkinTemp_TqJ_D_err + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_D_max + + + /O3_VMR_TqJ_D_max + + + + + + + -9999.000000 + + + ClrOLR_TqJ_A_err + + + /ClrOLR_TqJ_A_err + + + + + + + + -9999.000000 + + + CoarseCloudFrc_TqJ_A + + + /CoarseCloudFrc_TqJ_A + + + + + + + 0 + + + SurfPres_Forecast_TqJ_A_ct + + + /SurfPres_Forecast_TqJ_A_ct + + + + + + + -9999.000000 + + + SurfSkinTemp_D_max + + + /SurfSkinTemp_D_max + + + + + + + + -9999.000000 + + + FineCloudFrc_D_min + + + /FineCloudFrc_D_min + + + + + + + 0 + + + OLR_TqJ_A_ct + + + /OLR_TqJ_A_ct + + + + + + + + -9999.000000 + + + RelHum_liquid_TqJ_A_max + + + /RelHum_liquid_TqJ_A_max + + + + + + + + -9999.000000 + + + RelHum_D_min + + + /RelHum_D_min + + + + + + + + -9999.000000 + + + CoarseCloudPres_TqJ_A + + + /CoarseCloudPres_TqJ_A + + + + + + + + 0 + + + RelHum_D_ct + + + /RelHum_D_ct + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_D + + + /H2O_MMR_Lyr_D + + + + + + + 0 + + + SurfAirTemp_D_ct + + + /SurfAirTemp_D_ct + + + + + + + + -9999.000000 + + + EmisIR_TqJ_D_max + + + /EmisIR_TqJ_D_max + + + + + + + -9999.000000 + + + SurfAirTemp_A + + + /SurfAirTemp_A + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_A_sdev + + + /TotCldLiqH2O_MW_A_sdev + + + + + + + -9999.000000 + + + TotCO_A + + + /TotCO_A + + + + + + + + -9999.000000 + + + FineCloudFrc_TqJ_D_max + + + /FineCloudFrc_TqJ_D_max + + + + + + + -9999.000000 + + + CloudFrc_TqJ_A_sdev + + + /CloudFrc_TqJ_A_sdev + + + + + + + -9999.000000 + + + TotO3_D_sdev + + + /TotO3_D_sdev + + + + + + + + -9999.000000 + + + RelHum_A_max + + + /RelHum_A_max + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_A_err + + + /H2O_MMR_Surf_TqJ_A_err + + + + + + + -9999.000000 + + + CloudTopPres_A_sdev + + + /CloudTopPres_A_sdev + + + + + + + + -9999.000000 + + + FineCloudFrc_TqJ_A + + + /FineCloudFrc_TqJ_A + + + + + + + -9999.000000 + + + TotCO_A_max + + + /TotCO_A_max + + + + + + + + -9999.000000 + + + RelHum_liquid_TqJ_D_min + + + /RelHum_liquid_TqJ_D_min + + + + + + + -9999.000000 + + + CloudTopTemp_D_sdev + + + /CloudTopTemp_D_sdev + + + + + + + -9999.000000 + + + RelHumSurf_liquid_TqJ_A + + + /RelHumSurf_liquid_TqJ_A + + + + + + + + -9999.000000 + + + H2O_MMR_A_err + + + /H2O_MMR_A_err + + + + + + + + -9999.000000 + + + CoarseCloudTemp_TqJ_A_sdev + + + /CoarseCloudTemp_TqJ_A_sdev + + + + + + + + -9999.000000 + + + H2O_MMR_D + + + /H2O_MMR_D + + + + + + + -9999.000000 + + + CloudFrc_A_err + + + /CloudFrc_A_err + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_A_sdev + + + /TotH2OVap_TqJ_A_sdev + + + + + + + + -9999.000000 + + + GPHeight_MW_D_sdev + + + /GPHeight_MW_D_sdev + + + + + + + + 0 + + + CoarseCloudFrc_A_ct + + + /CoarseCloudFrc_A_ct + + + + + + + + 0 + + + CO_VMR_D_ct + + + /CO_VMR_D_ct + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_D + + + /H2O_MMR_Surf_TqJ_D + + + + + + + -9999.000000 + + + OLR_A_min + + + /OLR_A_min + + + + + + + -9999.000000 + + + CloudFrc_D + + + /CloudFrc_D + + + + + + + + -9999.000000 + + + FineCloudFrc_TqJ_D_sdev + + + /FineCloudFrc_TqJ_D_sdev + + + + + + + 0 + + + TotCO_TqJ_D_ct + + + /TotCO_TqJ_D_ct + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_A_max + + + /TotH2OVap_TqJ_A_max + + + + + + + + -9999.000000 + + + CoarseCloudPres_TqJ_A_max + + + /CoarseCloudPres_TqJ_A_max + + + + + + + -9999.000000 + + + TotH2OVap_MW_A_min + + + /TotH2OVap_MW_A_min + + + + + + + + -9999.000000 + + + H2O_MMR_D_min + + + /H2O_MMR_D_min + + + + + + + + -9999.000000 + + + EmisIR_A_err + + + /EmisIR_A_err + + + + + + + + -9999.000000 + + + GPHeight_TqJ_A_max + + + /GPHeight_TqJ_A_max + + + + + + + + -9999.000000 + + + RelHum_liquid_D_sdev + + + /RelHum_liquid_D_sdev + + + + + + + + -9999.000000 + + + O3_VMR_A + + + /O3_VMR_A + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_D + + + /TotH2OVap_TqJ_D + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_A_max + + + /CloudTopTemp_TqJ_A_max + + + + + + + -9999.000000 + + + RelHumSurf_A + + + /RelHumSurf_A + + + + + + + -9999.000000 + + + OLR_TqJ_A + + + /OLR_TqJ_A + + + + + + + + -9999.000000 + + + GPHeight_A_min + + + /GPHeight_A_min + + + + + + + 0 + + + SurfSkinTemp_TqJ_A_ct + + + /SurfSkinTemp_TqJ_A_ct + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_D_max + + + /H2O_MMR_Lyr_TqJ_D_max + + + + + + + -9999.000000 + + + SurfAirTemp_A_min + + + /SurfAirTemp_A_min + + + + + + + + -9999.000000 + + + CoarseCloudFrc_D_min + + + /CoarseCloudFrc_D_min + + + + + + + 0 + + + TotCH4_TqJ_A_ct + + + /TotCH4_TqJ_A_ct + + + + + + + + -9999.000000 + + + CoarseCloudTemp_A_sdev + + + /CoarseCloudTemp_A_sdev + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_A_max + + + /CloudTopPres_TqJ_A_max + + + + + + + 0 + + + TotH2OVap_MW_D_ct + + + /TotH2OVap_MW_D_ct + + + + + + + + -9999.000000 + + + CO_VMR_A_max + + + /CO_VMR_A_max + + + + + + + -9999.000000 + + + TropHeight_TqJ_A_max + + + /TropHeight_TqJ_A_max + + + + + + + + -9999.000000 + + + GPHeight_MW_D + + + /GPHeight_MW_D + + + + + + + + -9999.000000 + + + GPHeight_D + + + /GPHeight_D + + + + + + + + -9999.000000 + + + Temperature_MW_D_max + + + /Temperature_MW_D_max + + + + + + + + -9999.000000 + + + Temperature_D + + + /Temperature_D + + + + + + + -9999.000000 + + + H2O_MMR_Surf_A_min + + + /H2O_MMR_Surf_A_min + + + + + + + -9999.000000 + + + TropHeight_TqJ_A_sdev + + + /TropHeight_TqJ_A_sdev + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_A_min + + + /CloudTopTemp_TqJ_A_min + + + + + + + + -9999.000000 + + + GPHeight_D_min + + + /GPHeight_D_min + + + + + + + 0 + + + CloudTopTemp_TqJ_A_ct + + + /CloudTopTemp_TqJ_A_ct + + + + + + + + -9999.000000 + + + GPHeight_TqJ_D_sdev + + + /GPHeight_TqJ_D_sdev + + + + + + + -9999.000000 + + + TropHeight_TqJ_D_max + + + /TropHeight_TqJ_D_max + + + + + + + -9999.000000 + + + ClrOLR_D_min + + + /ClrOLR_D_min + + + + + + + + -9999.000000 + + + CoarseCloudTemp_A + + + /CoarseCloudTemp_A + + + + + + + + -9999.000000 + + + H2O_MMR_D_err + + + /H2O_MMR_D_err + + + + + + + + 0 + + + CoarseCloudPres_TqJ_A_ct + + + /CoarseCloudPres_TqJ_A_ct + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_A_sdev + + + /H2O_MMR_Lyr_A_sdev + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_A_max + + + /CH4_VMR_TqJ_A_max + + + + + + + 0 + + + TropTemp_A_ct + + + /TropTemp_A_ct + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_D_min + + + /H2O_MMR_Lyr_TqJ_D_min + + + + + + + -9999.000000 + + + TropTemp_TqJ_D + + + /TropTemp_TqJ_D + + + + + + + 0 + + + SurfPres_Forecast_A_ct + + + /SurfPres_Forecast_A_ct + + + + + + + -9999.000000 + + + TropHeight_TqJ_D + + + /TropHeight_TqJ_D + + + + + + + 0 + + + LandSeaMask + + + /LandSeaMask + + + + + + + -9999.000000 + + + CloudFrc_A_max + + + /CloudFrc_A_max + + + + + + + -9999.000000 + + + TropTemp_TqJ_D_min + + + /TropTemp_TqJ_D_min + + + + + + + -9999.000000 + + + H2O_MMR_Surf_D_sdev + + + /H2O_MMR_Surf_D_sdev + + + + + + + 0 + + + CloudTopPres_D_ct + + + /CloudTopPres_D_ct + + + + + + + -9999.000000 + + + RelHumSurf_TqJ_A_sdev + + + /RelHumSurf_TqJ_A_sdev + + + + + + + + -9999.000000 + + + CoarseCloudFrc_A_min + + + /CoarseCloudFrc_A_min + + + + + + + + 0 + + + GPHeight_TqJ_A_ct + + + /GPHeight_TqJ_A_ct + + + + + + + + 0 + + + GPHeight_MW_D_ct + + + /GPHeight_MW_D_ct + + + + + + + -9999.000000 + + + TropTemp_A_min + + + /TropTemp_A_min + + + + + + + -9999.000000 + + + CloudTopTemp_D_err + + + /CloudTopTemp_D_err + + + + + + + + 0 + + + CoarseCloudTemp_TqJ_D_ct + + + /CoarseCloudTemp_TqJ_D_ct + + + + + + + + -9999.000000 + + + Temperature_MW_D + + + /Temperature_MW_D + + + + + + + + -9999.000000 + + + FineCloudFrc_D_sdev + + + /FineCloudFrc_D_sdev + + + + + + + -9999.000000 + + + TotCO_D_min + + + /TotCO_D_min + + + + + + + -9999.000000 + + + ClrOLR_TqJ_A_max + + + /ClrOLR_TqJ_A_max + + + + + + + + -9999.000000 + + + CoarseCloudPres_TqJ_D + + + /CoarseCloudPres_TqJ_D + + + + + + + 0 + + + RelHumSurf_A_ct + + + /RelHumSurf_A_ct + + + + + + + + -9999.000000 + + + CoarseCloudPres_A_sdev + + + /CoarseCloudPres_A_sdev + + + + + + + + 0 + + + CoarseCloudPres_D_ct + + + /CoarseCloudPres_D_ct + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_D_max + + + /H2O_MMR_Surf_TqJ_D_max + + + + + + + -9999.000000 + + + TropPres_TqJ_A + + + /TropPres_TqJ_A + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_D_sdev + + + /TotH2OVap_TqJ_D_sdev + + + + + + + -9999.000000 + + + RelHumSurf_TqJ_D_min + + + /RelHumSurf_TqJ_D_min + + + + + + + -9999.000000 + + + ClrOLR_D_err + + + /ClrOLR_D_err + + + + + + + + 0 + + + GPHeight_D_ct + + + /GPHeight_D_ct + + + + + + + + -9999.000000 + + + CoarseCloudPres_A + + + /CoarseCloudPres_A + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_A_err + + + /H2O_MMR_TqJ_A_err + + + + + + + + 0 + + + EmisIR_TqJ_D_ct + + + /EmisIR_TqJ_D_ct + + + + + + + -9999.000000 + + + TotCH4_A_max + + + /TotCH4_A_max + + + + + + + + 0 + + + Emis_MW_D_ct + + + /Emis_MW_D_ct + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_D_max + + + /H2O_MMR_Lyr_D_max + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_A_min + + + /CH4_VMR_TqJ_A_min + + + + + + + -9999.000000 + + + TropHeight_D + + + /TropHeight_D + + + + + + + -9999.000000 + + + TropPres_D_max + + + /TropPres_D_max + + + + + + + + -9999.000000 + + + Temperature_MW_A_sdev + + + /Temperature_MW_A_sdev + + + + + + + + -9999.000000 + + + RelHum_D + + + /RelHum_D + + + + + + + + -9999.000000 + + + EmisIR_TqJ_D + + + /EmisIR_TqJ_D + + + + + + + + -9999.000000 + + + EmisIR_A + + + /EmisIR_A + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_A_min + + + /O3_VMR_TqJ_A_min + + + + + + + -9999.000000 + + + TotO3_A_max + + + /TotO3_A_max + + + + + + + -9999.000000 + + + ClrOLR_D_max + + + /ClrOLR_D_max + + + + + + + + -9999.000000 + + + CO_VMR_A_sdev + + + /CO_VMR_A_sdev + + + + + + + + -9999.000000 + + + CoarseCloudFrc_A_max + + + /CoarseCloudFrc_A_max + + + + + + + + -9999.000000 + + + Emis_MW_A + + + /Emis_MW_A + + + + + + + -9999.000000 + + + RelHumSurf_liquid_D_max + + + /RelHumSurf_liquid_D_max + + + + + + + + -9999.000000 + + + GPHeight_TqJ_A + + + /GPHeight_TqJ_A + + + + + + + -9999.000000 + + + OLR_A + + + /OLR_A + + + + + + + -9999.000000 + + + TropPres_TqJ_A_sdev + + + /TropPres_TqJ_A_sdev + + + + + + + 0 + + + TotalCounts_MW_A + + + /TotalCounts_MW_A + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_D + + + /CloudTopPres_TqJ_D + + + + + + + -9999.000000 + + + RelHumSurf_liquid_TqJ_D + + + /RelHumSurf_liquid_TqJ_D + + + + + + + -9999.000000 + + + TotCO_TqJ_D + + + /TotCO_TqJ_D + + + + + + + -9999.000000 + + + TotCO_D_sdev + + + /TotCO_D_sdev + + + + + + + + -9999.000000 + + + EmisIR_D_sdev + + + /EmisIR_D_sdev + + + + + + + -9999.000000 + + + H2O_MMR_Surf_TqJ_A_max + + + /H2O_MMR_Surf_TqJ_A_max + + + + + + + + -9999.000000 + + + CO_VMR_D_err + + + /CO_VMR_D_err + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_D_err + + + /H2O_MMR_TqJ_D_err + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_A + + + /SurfAirTemp_TqJ_A + + + + + + + -9999.000000 + + + ClrOLR_A_max + + + /ClrOLR_A_max + + + + + + + -9999.000000 + + + RelHumSurf_liquid_TqJ_A_max + + + /RelHumSurf_liquid_TqJ_A_max + + + + + + + + -9999.000000 + + + CoarseCloudTemp_D_sdev + + + /CoarseCloudTemp_D_sdev + + + + + + + + -9999.000000 + + + GPHeight_TqJ_A_sdev + + + /GPHeight_TqJ_A_sdev + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_D_sdev + + + /H2O_MMR_Lyr_TqJ_D_sdev + + + + + + + 0 + + + H2O_MMR_Surf_TqJ_D_ct + + + /H2O_MMR_Surf_TqJ_D_ct + + + + + + + -9999.000000 + + + RelHumSurf_liquid_D + + + /RelHumSurf_liquid_D + + + + + + + -9999.000000 + + + SurfAirTemp_D_sdev + + + /SurfAirTemp_D_sdev + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_A + + + /CloudTopPres_TqJ_A + + + + + + + -9999.000000 + + + RelHumSurf_liquid_TqJ_A_min + + + /RelHumSurf_liquid_TqJ_A_min + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_A_min + + + /TotH2OVap_TqJ_A_min + + + + + + + -9999.000000 + + + TotH2OVap_MW_A + + + /TotH2OVap_MW_A + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_D + + + /SurfAirTemp_TqJ_D + + + + + + + + 0 + + + RelHum_TqJ_D_ct + + + /RelHum_TqJ_D_ct + + + + + + + -9999.000000 + + + TotCO_TqJ_A + + + /TotCO_TqJ_A + + + + + + + -9999.000000 + + + SurfSkinTemp_D + + + /SurfSkinTemp_D + + + + + + + + -9999.000000 + + + CoarseCloudPres_D_max + + + /CoarseCloudPres_D_max + + + + + + + + -9999.000000 + + + H2O_MMR_A_min + + + /H2O_MMR_A_min + + + + + + + -9999.000000 + + + ClrOLR_TqJ_D + + + /ClrOLR_TqJ_D + + + + + + + + 0 + + + CoarseCloudFrc_D_ct + + + /CoarseCloudFrc_D_ct + + + + + + + + -9999.000000 + + + RelHum_liquid_TqJ_A + + + /RelHum_liquid_TqJ_A + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_A_err + + + /CH4_VMR_TqJ_A_err + + + + + + + + -9999.000000 + + + CoarseCloudTemp_D_max + + + /CoarseCloudTemp_D_max + + + + + + + -9999.000000 + + + RelHumSurf_liquid_A_min + + + /RelHumSurf_liquid_A_min + + + + + + + -9999.000000 + + + RelHumSurf_TqJ_A_min + + + /RelHumSurf_TqJ_A_min + + + + + + + -9999.000000 + + + TotCO_TqJ_A_max + + + /TotCO_TqJ_A_max + + + + + + + + -9999.000000 + + + Temperature_MW_A_min + + + /Temperature_MW_A_min + + + + + + + -9999.000000 + + + RelHumSurf_liquid_D_min + + + /RelHumSurf_liquid_D_min + + + + + + + + -9999.000000 + + + Temperature_MW_D_sdev + + + /Temperature_MW_D_sdev + + + + + + + -9999.000000 + + + TotCH4_D + + + /TotCH4_D + + + + + + + + -9999.000000 + + + EmisIR_TqJ_D_min + + + /EmisIR_TqJ_D_min + + + + + + + -9999.000000 + + + TotCH4_A + + + /TotCH4_A + + + + + + + + -9999.000000 + + + RelHum_TqJ_D + + + /RelHum_TqJ_D + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_A_err + + + /H2O_MMR_Lyr_TqJ_A_err + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_A_min + + + /SurfAirTemp_TqJ_A_min + + + + + + + + -9999.000000 + + + CH4_VMR_A_min + + + /CH4_VMR_A_min + + + + + + + -9999.000000 + + + TropTemp_D + + + /TropTemp_D + + + + + + + 0 + + + CloudFrc_D_ct + + + /CloudFrc_D_ct + + + + + + + + -9999.000000 + + + GPHeight_MW_A_min + + + /GPHeight_MW_A_min + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_A + + + /CO_VMR_TqJ_A + + + + + + + 0 + + + TotO3_D_ct + + + /TotO3_D_ct + + + + + + + 0 + + + TotO3_TqJ_A_ct + + + /TotO3_TqJ_A_ct + + + + + + + + -9999.000000 + + + Temperature_A + + + /Temperature_A + + + + + + + + -9999.000000 + + + GPHeight_MW_D_max + + + /GPHeight_MW_D_max + + + + + + + -9999.000000 + + + ClrOLR_TqJ_D_err + + + /ClrOLR_TqJ_D_err + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_D_sdev + + + /CloudTopTemp_TqJ_D_sdev + + + + + + + + -9999.000000 + + + Temperature_D_sdev + + + /Temperature_D_sdev + + + + + + + 0 + + + OLR_D_ct + + + /OLR_D_ct + + + + + + + + -9999.000000 + + + Temperature_A_sdev + + + /Temperature_A_sdev + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_A_max + + + /SurfSkinTemp_TqJ_A_max + + + + + + + -9999.000000 + + + TotH2OVap_TqJ_D_max + + + /TotH2OVap_TqJ_D_max + + + + + + + -9999.000000 + + + ClrOLR_TqJ_D_max + + + /ClrOLR_TqJ_D_max + + + + + + + + 0 + + + RelHum_liquid_TqJ_D_ct + + + /RelHum_liquid_TqJ_D_ct + + + + + + + + 0 + + + O3_VMR_D_ct + + + /O3_VMR_D_ct + + + + + + + + -9999.000000 + + + Temperature_A_min + + + /Temperature_A_min + + + + + + + -9999.000000 + + + TropHeight_TqJ_D_sdev + + + /TropHeight_TqJ_D_sdev + + + + + + + -9999.000000 + + + TotCO_TqJ_D_min + + + /TotCO_TqJ_D_min + + + + + + + + -9999.000000 + + + Emis_MW_D_max + + + /Emis_MW_D_max + + + + + + + + -9999.000000 + + + EmisIR_D + + + /EmisIR_D + + + + + + + + -9999.000000 + + + CoarseCloudPres_TqJ_D_max + + + /CoarseCloudPres_TqJ_D_max + + + + + + + + 0 + + + FineCloudFrc_A_ct + + + /FineCloudFrc_A_ct + + + + + + + + -9999.000000 + + + RelHum_TqJ_D_sdev + + + /RelHum_TqJ_D_sdev + + + + + + + -9999.000000 + + + SurfPres_Forecast_A_max + + + /SurfPres_Forecast_A_max + + + + + + + + -9999.000000 + + + GPHeight_D_max + + + /GPHeight_D_max + + + + + + + -9999.000000 + + + TotH2OVap_A + + + /TotH2OVap_A + + + + + + + + -9999.000000 + + + EmisIR_A_min + + + /EmisIR_A_min + + + + + + + -9999.000000 + + + TotO3_TqJ_D_min + + + /TotO3_TqJ_D_min + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_A_sdev + + + /SurfSkinTemp_TqJ_A_sdev + + + + + + + 0 + + + TropHeight_TqJ_A_ct + + + /TropHeight_TqJ_A_ct + + + + + + + -9999.000000 + + + SurfSkinTemp_A_max + + + /SurfSkinTemp_A_max + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_D_max + + + /CloudTopPres_TqJ_D_max + + + + + + + + -9999.000000 + + + CoarseCloudTemp_D_min + + + /CoarseCloudTemp_D_min + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_D_err + + + /CO_VMR_TqJ_D_err + + + + + + + -9999.000000 + + + TotO3_A_min + + + /TotO3_A_min + + + + + + + + -9999.000000 + + + CH4_VMR_D_min + + + /CH4_VMR_D_min + + + + + + + + -9999.000000 + + + Temperature_D_min + + + /Temperature_D_min + + + + + + + -9999.000000 + + + TropHeight_A + + + /TropHeight_A + + + + + + + 0 + + + SurfPres_Forecast_TqJ_D_ct + + + /SurfPres_Forecast_TqJ_D_ct + + + + + + + + -9999.000000 + + + CH4_VMR_D_max + + + /CH4_VMR_D_max + + + + + + + -9999.000000 + + + TotO3_D_err + + + /TotO3_D_err + + + + + + + + -9999.000000 + + + CH4_VMR_A_sdev + + + /CH4_VMR_A_sdev + + + + + + + + -9999.000000 + + + Temperature_TqJ_A_max + + + /Temperature_TqJ_A_max + + + + + + + -9999.000000 + + + TotH2OVap_D_max + + + /TotH2OVap_D_max + + + + + + + + -9999.000000 + + + CO_VMR_A + + + /CO_VMR_A + + + + + + + + 0 + + + H2O_MMR_TqJ_D_ct + + + /H2O_MMR_TqJ_D_ct + + + + + + + 0 + + + ClrOLR_A_ct + + + /ClrOLR_A_ct + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_D_err + + + /TotCldLiqH2O_MW_D_err + + + + + + + + -9999.000000 + + + EmisIR_A_max + + + /EmisIR_A_max + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_D_max + + + /H2O_MMR_TqJ_D_max + + + + + + + -9999.000000 + + + RelHumSurf_TqJ_A + + + /RelHumSurf_TqJ_A + + + + + + + -9999.000000 + + + OLR_TqJ_A_max + + + /OLR_TqJ_A_max + + + + + + + + 0 + + + Temperature_MW_A_ct + + + /Temperature_MW_A_ct + + + + + + + -9999.000000 + + + CloudTopTemp_A + + + /CloudTopTemp_A + + + + + + + + -9999.000000 + + + CH4_VMR_D_sdev + + + /CH4_VMR_D_sdev + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_D + + + /TotCldLiqH2O_MW_D + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_A_err + + + /CO_VMR_TqJ_A_err + + + + + + + 0 + + + CloudTopPres_A_ct + + + /CloudTopPres_A_ct + + + + + + + + -9999.000000 + + + RelHum_liquid_TqJ_A_min + + + /RelHum_liquid_TqJ_A_min + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_A + + + /H2O_MMR_Lyr_TqJ_A + + + + + + + + 0 + + + H2O_MMR_Lyr_D_ct + + + /H2O_MMR_Lyr_D_ct + + + + + + + -9999.000000 + + + CloudFrc_D_max + + + /CloudFrc_D_max + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_D_err + + + /CH4_VMR_TqJ_D_err + + + + + + + 0 + + + TotO3_TqJ_D_ct + + + /TotO3_TqJ_D_ct + + + + + + + + -9999.000000 + + + H2O_MMR_A_sdev + + + /H2O_MMR_A_sdev + + + + + + + + -9999.000000 + + + RelHum_liquid_TqJ_A_sdev + + + /RelHum_liquid_TqJ_A_sdev + + + + + + + -9999.000000 + + + SurfSkinTemp_TqJ_D_min + + + /SurfSkinTemp_TqJ_D_min + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_A_max + + + /SurfAirTemp_TqJ_A_max + + + + + + + -9999.000000 + + + SurfPres_Forecast_D_max + + + /SurfPres_Forecast_D_max + + + + + + + + -9999.000000 + + + GPHeight_A + + + /GPHeight_A + + + + + + + + 0 + + + EmisIR_TqJ_A_ct + + + /EmisIR_TqJ_A_ct + + + + + + + + -9999.000000 + + + O3_VMR_A_max + + + /O3_VMR_A_max + + + + + + + -9999.000000 + + + RelHumSurf_D_min + + + /RelHumSurf_D_min + + + + + + + -9999.000000 + + + OLR_A_err + + + /OLR_A_err + + + + + + + -9999.000000 + + + SurfPres_Forecast_D_min + + + /SurfPres_Forecast_D_min + + + + + + + -9999.000000 + + + RelHumSurf_TqJ_D_sdev + + + /RelHumSurf_TqJ_D_sdev + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_A_max + + + /H2O_MMR_Lyr_A_max + + + + + + + + -9999.000000 + + + CoarseCloudFrc_TqJ_D_sdev + + + /CoarseCloudFrc_TqJ_D_sdev + + + + + + + + -9999.000000 + + + CoarseCloudFrc_D_max + + + /CoarseCloudFrc_D_max + + + + + + + -9999.000000 + + + TotH2OVap_MW_D_sdev + + + /TotH2OVap_MW_D_sdev + + + + + + + -9999.000000 + + + TotO3_TqJ_A_max + + + /TotO3_TqJ_A_max + + + + + + + + -9999.000000 + + + CH4_VMR_TqJ_A_sdev + + + /CH4_VMR_TqJ_A_sdev + + + + + + + -9999.000000 + + + TropTemp_A_max + + + /TropTemp_A_max + + + + + + + -9999.000000 + + + CloudTopTemp_D_max + + + /CloudTopTemp_D_max + + + + + + + -9999.000000 + + + TropPres_TqJ_A_min + + + /TropPres_TqJ_A_min + + + + + + + -9999.000000 + + + TropPres_TqJ_D_max + + + /TropPres_TqJ_D_max + + + + + + + + -9999.000000 + + + EmisIR_TqJ_A_err + + + /EmisIR_TqJ_A_err + + + + + + + -9999.000000 + + + TropHeight_D_sdev + + + /TropHeight_D_sdev + + + + + + + -9999.000000 + + + RelHumSurf_liquid_A_sdev + + + /RelHumSurf_liquid_A_sdev + + + + + + + -9999.000000 + + + RelHumSurf_liquid_A + + + /RelHumSurf_liquid_A + + + + + + + -9999.000000 + + + TotO3_A_err + + + /TotO3_A_err + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_D_max + + + /CO_VMR_TqJ_D_max + + + + + + + + -9999.000000 + + + FineCloudFrc_TqJ_D_min + + + /FineCloudFrc_TqJ_D_min + + + + + + + -9999.000000 + + + CloudTopPres_TqJ_D_err + + + /CloudTopPres_TqJ_D_err + + + + + + + -9999.000000 + + + TotO3_TqJ_A_err + + + /TotO3_TqJ_A_err + + + + + + + 0 + + + ClrOLR_D_ct + + + /ClrOLR_D_ct + + + + + + + -9999.000000 + + + SurfPres_Forecast_TqJ_A + + + /SurfPres_Forecast_TqJ_A + + + + + + + + -9999.000000 + + + CoarseCloudPres_TqJ_A_min + + + /CoarseCloudPres_TqJ_A_min + + + + + + + + -9999.000000 + + + GPHeight_TqJ_A_min + + + /GPHeight_TqJ_A_min + + + + + + + + -9999.000000 + + + CoarseCloudTemp_TqJ_D + + + /CoarseCloudTemp_TqJ_D + + + + + + + + -9999.000000 + + + RelHum_liquid_D + + + /RelHum_liquid_D + + + + + + + 0 + + + SurfAirTemp_TqJ_A_ct + + + /SurfAirTemp_TqJ_A_ct + + + + + + + -9999.000000 + + + H2O_MMR_Surf_A_max + + + /H2O_MMR_Surf_A_max + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_A_sdev + + + /H2O_MMR_Lyr_TqJ_A_sdev + + + + + + + 0 + + + TotO3_A_ct + + + /TotO3_A_ct + + + + + + + + -9999.000000 + + + Temperature_MW_A_max + + + /Temperature_MW_A_max + + + + + + + -9999.000000 + + + TotH2OVap_MW_D_max + + + /TotH2OVap_MW_D_max + + + + + + + + -9999.000000 + + + GPHeight_A_sdev + + + /GPHeight_A_sdev + + + + + + + -9999.000000 + + + SurfAirTemp_TqJ_D_min + + + /SurfAirTemp_TqJ_D_min + + + + + + + -9999.000000 + + + SurfSkinTemp_D_err + + + /SurfSkinTemp_D_err + + + + + + + + -9999.000000 + + + Emis_MW_A_max + + + /Emis_MW_A_max + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_D_err + + + /H2O_MMR_Lyr_D_err + + + + + + + 0 + + + TropPres_TqJ_A_ct + + + /TropPres_TqJ_A_ct + + + + + + + -9999.000000 + + + OLR_TqJ_D_err + + + /OLR_TqJ_D_err + + + + + + + + -9999.000000 + + + Emis_MW_A_min + + + /Emis_MW_A_min + + + + + + + -9999.000000 + + + TropHeight_A_max + + + /TropHeight_A_max + + + + + + + + 0 + + + FineCloudFrc_TqJ_D_ct + + + /FineCloudFrc_TqJ_D_ct + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_TqJ_A_min + + + /H2O_MMR_Lyr_TqJ_A_min + + + + + + + + -9999.000000 + + + CoarseCloudFrc_TqJ_D_max + + + /CoarseCloudFrc_TqJ_D_max + + + + + + + -9999.000000 + + + RelHumSurf_liquid_TqJ_D_sdev + + + /RelHumSurf_liquid_TqJ_D_sdev + + + + + + + + -9999.000000 + + + CoarseCloudTemp_TqJ_D_min + + + /CoarseCloudTemp_TqJ_D_min + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_D_min + + + /H2O_MMR_TqJ_D_min + + + + + + + -9999.000000 + + + TotH2OVap_D_err + + + /TotH2OVap_D_err + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_A + + + /H2O_MMR_Lyr_A + + + + + + + 0 + + + H2O_MMR_Surf_TqJ_A_ct + + + /H2O_MMR_Surf_TqJ_A_ct + + + + + + + -9999.000000 + + + H2O_MMR_Surf_D_err + + + /H2O_MMR_Surf_D_err + + + + + + + + -9999.000000 + + + GPHeight_MW_A + + + /GPHeight_MW_A + + + + + + + -9999.000000 + + + SurfPres_Forecast_D + + + /SurfPres_Forecast_D + + + + + + + -9999.000000 + + + SurfPres_Forecast_TqJ_D_max + + + /SurfPres_Forecast_TqJ_D_max + + + + + + + -9999.000000 + + + CloudFrc_D_sdev + + + /CloudFrc_D_sdev + + + + + + + -9999.000000 + + + ClrOLR_TqJ_A_sdev + + + /ClrOLR_TqJ_A_sdev + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_D_min + + + /O3_VMR_TqJ_D_min + + + + + + + -9999.000000 + + + TotO3_D_max + + + /TotO3_D_max + + + + + + + -9999.000000 + + + TotO3_D_min + + + /TotO3_D_min + + + + + + + -9999.000000 + + + RelHumSurf_TqJ_D_max + + + /RelHumSurf_TqJ_D_max + + + + + + + -9999.000000 + + + TotCH4_TqJ_D_max + + + /TotCH4_TqJ_D_max + + + + + + + -9999.000000 + + + RelHumSurf_liquid_A_max + + + /RelHumSurf_liquid_A_max + + + + + + + -9999.000000 + + + SurfPres_Forecast_A_min + + + /SurfPres_Forecast_A_min + + + + + + + + -9999.000000 + + + CoarseCloudTemp_TqJ_D_max + + + /CoarseCloudTemp_TqJ_D_max + + + + + + + -9999.000000 + + + TotCH4_TqJ_A + + + /TotCH4_TqJ_A + + + + + + + + -9999.000000 + + + CH4_VMR_D_err + + + /CH4_VMR_D_err + + + + + + + -9999.000000 + + + RelHumSurf_A_min + + + /RelHumSurf_A_min + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_D + + + /CO_VMR_TqJ_D + + + + + + + -9999.000000 + + + SurfPres_Forecast_TqJ_A_max + + + /SurfPres_Forecast_TqJ_A_max + + + + + + + + -9999.000000 + + + GPHeight_D_sdev + + + /GPHeight_D_sdev + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_D_max + + + /CloudTopTemp_TqJ_D_max + + + + + + + + -9999.000000 + + + CoarseCloudPres_D_min + + + /CoarseCloudPres_D_min + + + + + + + -9999.000000 + + + SurfSkinTemp_A_min + + + /SurfSkinTemp_A_min + + + + + + + + -9999.000000 + + + FineCloudFrc_D + + + /FineCloudFrc_D + + + + + + + + -9999.000000 + + + RelHum_D_sdev + + + /RelHum_D_sdev + + + + + + + 0 + + + TotH2OVap_TqJ_D_ct + + + /TotH2OVap_TqJ_D_ct + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_D_sdev + + + /O3_VMR_TqJ_D_sdev + + + + + + + -9999.000000 + + + CloudTopTemp_A_sdev + + + /CloudTopTemp_A_sdev + + + + + + + 0 + + + H2O_MMR_Surf_D_ct + + + /H2O_MMR_Surf_D_ct + + + + + + + 0 + + + SurfAirTemp_TqJ_D_ct + + + /SurfAirTemp_TqJ_D_ct + + + + + + + -9999.000000 + + + SurfPres_Forecast_D_sdev + + + /SurfPres_Forecast_D_sdev + + + + + + + + -9999.000000 + + + Emis_MW_D_min + + + /Emis_MW_D_min + + + + + + + + -9999.000000 + + + CoarseCloudTemp_TqJ_D_sdev + + + /CoarseCloudTemp_TqJ_D_sdev + + + + + + + -9999.000000 + + + OLR_TqJ_A_sdev + + + /OLR_TqJ_A_sdev + + + + + + + -9999.000000 + + + ClrOLR_A_min + + + /ClrOLR_A_min + + + + + + + -9999.000000 + + + SurfPres_Forecast_TqJ_D_min + + + /SurfPres_Forecast_TqJ_D_min + + + + + + + -9999.000000 + + + TotH2OVap_A_max + + + /TotH2OVap_A_max + + + + + + + -9999.000000 + + + TotCH4_TqJ_A_min + + + /TotCH4_TqJ_A_min + + + + + + + -9999.000000 + + + CloudTopTemp_A_min + + + /CloudTopTemp_A_min + + + + + + + 0 + + + TotCldLiqH2O_MW_A_ct + + + /TotCldLiqH2O_MW_A_ct + + + + + + + + -9999.000000 + + + FineCloudFrc_TqJ_A_max + + + /FineCloudFrc_TqJ_A_max + + + + + + + -9999.000000 + + + OLR_D + + + /OLR_D + + + + + + + + -9999.000000 + + + CO_VMR_TqJ_A_min + + + /CO_VMR_TqJ_A_min + + + + + + + -9999.000000 + + + TotCldLiqH2O_MW_D_sdev + + + /TotCldLiqH2O_MW_D_sdev + + + + + + + + -9999.000000 + + + H2O_MMR_TqJ_D_sdev + + + /H2O_MMR_TqJ_D_sdev + + + + + + + + 0 + + + Temperature_D_ct + + + /Temperature_D_ct + + + + + + + -9999.000000 + + + TropPres_TqJ_D_sdev + + + /TropPres_TqJ_D_sdev + + + + + + + 0 + + + CloudFrc_A_ct + + + /CloudFrc_A_ct + + + + + + + -9999.000000 + + + CloudTopTemp_TqJ_D_err + + + /CloudTopTemp_TqJ_D_err + + + + + + + -9999.000000 + + + Topography + + + /Topography + + + + + + + + 0 + + + CH4_VMR_A_ct + + + /CH4_VMR_A_ct + + + + + + + -9999.000000 + + + CloudTopPres_D_max + + + /CloudTopPres_D_max + + + + + + + + -9999.000000 + + + RelHum_A_sdev + + + /RelHum_A_sdev + + + + + + + + 0 + + + O3_VMR_TqJ_D_ct + + + /O3_VMR_TqJ_D_ct + + + + + + + -9999.000000 + + + TotH2OVap_MW_A_max + + + /TotH2OVap_MW_A_max + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_A + + + /O3_VMR_TqJ_A + + + + + + + + -9999.000000 + + + O3_VMR_TqJ_A_sdev + + + /O3_VMR_TqJ_A_sdev + + + + + + + 0 + + + TotCO_A_ct + + + /TotCO_A_ct + + + + + + + -9999.000000 + + + SurfAirTemp_D_err + + + /SurfAirTemp_D_err + + + + + + + 0 + + + CloudTopTemp_TqJ_D_ct + + + /CloudTopTemp_TqJ_D_ct + + + + + + + -9999.000000 + + + SurfPres_Forecast_A_sdev + + + /SurfPres_Forecast_A_sdev + + + + + + + + -9999.000000 + + + H2O_MMR_Lyr_A_err + + + /H2O_MMR_Lyr_A_err + + + + + + + + -9999.000000 + + + CoarseCloudTemp_TqJ_A_max + + + /CoarseCloudTemp_TqJ_A_max + + + + + + Mid-layer pressure + + + hPa + + + F7.2 + + + CoarseCloudLayer + + + /CoarseCloudLayer + + + + + + Wavenumber + + + cm^-1 + + + F5.1 + + + EmisFreqIR + + + /EmisFreqIR + + + + + + Frequency + + + GHz + + + F5.1 + + + EmisFreqMW + + + /EmisFreqMW + + + + + + Mid-layer pressure + + + hPa + + + F7.2 + + + FineCloudLayer + + + /FineCloudLayer + + + + + + Mid-layer Pressure + + + hPa + + + F7.2 + + + H2OPressureLay + + + /H2OPressureLay + + + + + + Pressure + + + hPa + + + F7.2 + + + H2OPressureLev + + + /H2OPressureLev + + + + + + Latitude + + + degrees_north + + + F5.1 + + + Latitude + + + /Latitude + + + + + + Longitude + + + degrees_east + + + F6.1 + + + Longitude + + + /Longitude + + + + + + Pressure + + + hPa + + + F7.2 + + + StdPressureLev + + + /StdPressureLev + + + + + HDFEOS_V2.18 + + + GROUP=SwathStructure +END_GROUP=SwathStructure +GROUP=GridStructure + GROUP=GRID_1 + GridName=\"ascending\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqIR\" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_A\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"SurfPres_Forecast_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"SurfPres_Forecast_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"SurfPres_Forecast_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"SurfPres_Forecast_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"SurfPres_Forecast_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"SurfSkinTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"SurfSkinTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"SurfSkinTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"SurfSkinTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"SurfSkinTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"SurfSkinTemp_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"EmisIR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"EmisIR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"EmisIR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"EmisIR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"EmisIR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"EmisIR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"Temperature_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"Temperature_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"Temperature_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"Temperature_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"Temperature_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"Temperature_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"SurfAirTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"SurfAirTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"SurfAirTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName=\"SurfAirTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName=\"SurfAirTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName=\"SurfAirTemp_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName=\"TropPres_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName=\"TropPres_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName=\"TropPres_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName=\"TropPres_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName=\"TropPres_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName=\"TropTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName=\"TropTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName=\"TropTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName=\"TropTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName=\"TropTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName=\"TotH2OVap_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName=\"TotH2OVap_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName=\"TotH2OVap_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName=\"TotH2OVap_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName=\"TotH2OVap_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName=\"TotH2OVap_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName=\"H2O_MMR_Lyr_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName=\"H2O_MMR_Lyr_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName=\"H2O_MMR_Lyr_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName=\"H2O_MMR_Lyr_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName=\"H2O_MMR_Lyr_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName=\"H2O_MMR_Lyr_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName=\"H2O_MMR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName=\"H2O_MMR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName=\"H2O_MMR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName=\"H2O_MMR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName=\"H2O_MMR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName=\"H2O_MMR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName=\"H2O_MMR_Surf_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName=\"H2O_MMR_Surf_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName=\"H2O_MMR_Surf_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName=\"H2O_MMR_Surf_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName=\"H2O_MMR_Surf_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName=\"H2O_MMR_Surf_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName=\"RelHum_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName=\"RelHum_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName=\"RelHum_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName=\"RelHum_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName=\"RelHum_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName=\"RelHumSurf_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName=\"RelHumSurf_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName=\"RelHumSurf_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName=\"RelHumSurf_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName=\"RelHumSurf_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName=\"RelHum_liquid_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName=\"RelHum_liquid_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName=\"RelHum_liquid_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName=\"RelHum_liquid_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName=\"RelHum_liquid_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName=\"RelHumSurf_liquid_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName=\"RelHumSurf_liquid_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName=\"RelHumSurf_liquid_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName=\"RelHumSurf_liquid_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName=\"RelHumSurf_liquid_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName=\"TropHeight_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName=\"TropHeight_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName=\"TropHeight_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName=\"TropHeight_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName=\"TropHeight_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName=\"GPHeight_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName=\"GPHeight_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName=\"GPHeight_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName=\"GPHeight_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName=\"GPHeight_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName=\"CloudFrc_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName=\"CloudFrc_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName=\"CloudFrc_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName=\"CloudFrc_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName=\"CloudFrc_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName=\"CloudFrc_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName=\"CloudTopPres_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName=\"CloudTopPres_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName=\"CloudTopPres_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName=\"CloudTopPres_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName=\"CloudTopPres_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName=\"CloudTopPres_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName=\"CloudTopTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName=\"CloudTopTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName=\"CloudTopTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName=\"CloudTopTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName=\"CloudTopTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName=\"CloudTopTemp_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName=\"FineCloudFrc_A\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName=\"FineCloudFrc_A_ct\" + DataType=DFNT_INT16 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName=\"FineCloudFrc_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName=\"FineCloudFrc_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName=\"FineCloudFrc_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName=\"CoarseCloudFrc_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName=\"CoarseCloudFrc_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName=\"CoarseCloudFrc_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName=\"CoarseCloudFrc_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName=\"CoarseCloudFrc_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName=\"CoarseCloudPres_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName=\"CoarseCloudPres_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName=\"CoarseCloudPres_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName=\"CoarseCloudPres_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName=\"CoarseCloudPres_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName=\"CoarseCloudTemp_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName=\"CoarseCloudTemp_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName=\"CoarseCloudTemp_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName=\"CoarseCloudTemp_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName=\"CoarseCloudTemp_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName=\"TotO3_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName=\"TotO3_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName=\"TotO3_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName=\"TotO3_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName=\"TotO3_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName=\"TotO3_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName=\"O3_VMR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName=\"O3_VMR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName=\"O3_VMR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName=\"O3_VMR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName=\"O3_VMR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName=\"O3_VMR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName=\"TotCO_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName=\"TotCO_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName=\"TotCO_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName=\"TotCO_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName=\"TotCO_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName=\"CO_VMR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName=\"CO_VMR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName=\"CO_VMR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + + + + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName=\"CO_VMR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName=\"CO_VMR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName=\"CO_VMR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName=\"TotCH4_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName=\"TotCH4_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName=\"TotCH4_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName=\"TotCH4_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName=\"TotCH4_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName=\"CH4_VMR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName=\"CH4_VMR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName=\"CH4_VMR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName=\"CH4_VMR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName=\"CH4_VMR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName=\"CH4_VMR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName=\"OLR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName=\"OLR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName=\"OLR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName=\"OLR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName=\"OLR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName=\"OLR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName=\"ClrOLR_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName=\"ClrOLR_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName=\"ClrOLR_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName=\"ClrOLR_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName=\"ClrOLR_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName=\"ClrOLR_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_1 + GROUP=GRID_2 + GridName=\"descending\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqIR\" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_D\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"SurfPres_Forecast_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"SurfPres_Forecast_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"SurfPres_Forecast_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"SurfPres_Forecast_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"SurfPres_Forecast_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"SurfSkinTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"SurfSkinTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"SurfSkinTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"SurfSkinTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"SurfSkinTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"SurfSkinTemp_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"EmisIR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"EmisIR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"EmisIR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"EmisIR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"EmisIR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"EmisIR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"Temperature_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"Temperature_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"Temperature_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"Temperature_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"Temperature_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"Temperature_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"SurfAirTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"SurfAirTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"SurfAirTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName=\"SurfAirTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName=\"SurfAirTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName=\"SurfAirTemp_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName=\"TropPres_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName=\"TropPres_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName=\"TropPres_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName=\"TropPres_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName=\"TropPres_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName=\"TropTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName=\"TropTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName=\"TropTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName=\"TropTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName=\"TropTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName=\"TotH2OVap_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName=\"TotH2OVap_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName=\"TotH2OVap_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName=\"TotH2OVap_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName=\"TotH2OVap_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName=\"TotH2OVap_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName=\"H2O_MMR_Lyr_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName=\"H2O_MMR_Lyr_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName=\"H2O_MMR_Lyr_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName=\"H2O_MMR_Lyr_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName=\"H2O_MMR_Lyr_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName=\"H2O_MMR_Lyr_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName=\"H2O_MMR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName=\"H2O_MMR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName=\"H2O_MMR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName=\"H2O_MMR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName=\"H2O_MMR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName=\"H2O_MMR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName=\"H2O_MMR_Surf_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName=\"H2O_MMR_Surf_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName=\"H2O_MMR_Surf_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName=\"H2O_MMR_Surf_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName=\"H2O_MMR_Surf_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName=\"H2O_MMR_Surf_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName=\"RelHum_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName=\"RelHum_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName=\"RelHum_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName=\"RelHum_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName=\"RelHum_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName=\"RelHumSurf_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName=\"RelHumSurf_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName=\"RelHumSurf_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName=\"RelHumSurf_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName=\"RelHumSurf_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName=\"RelHum_liquid_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName=\"RelHum_liquid_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName=\"RelHum_liquid_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName=\"RelHum_liquid_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName=\"RelHum_liquid_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName=\"RelHumSurf_liquid_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName=\"RelHumSurf_liquid_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName=\"RelHumSurf_liquid_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName=\"RelHumSurf_liquid_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName=\"RelHumSurf_liquid_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName=\"TropHeight_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName=\"TropHeight_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName=\"TropHeight_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName=\"TropHeight_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName=\"TropHeight_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName=\"GPHeight_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName=\"GPHeight_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName=\"GPHeight_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName=\"GPHeight_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName=\"GPHeight_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName=\"CloudFrc_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName=\"CloudFrc_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName=\"CloudFrc_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName=\"CloudFrc_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName=\"CloudFrc_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName=\"CloudFrc_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName=\"CloudTopPres_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName=\"CloudTopPres_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName=\"CloudTopPres_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName=\"CloudTopPres_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName=\"CloudTopPres_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName=\"CloudTopPres_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName=\"CloudTopTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName=\"CloudTopTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName=\"CloudTopTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName=\"CloudTopTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName=\"CloudTopTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName=\"CloudTopTemp_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName=\"FineCloudFrc_D\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName=\"FineCloudFrc_D_ct\" + DataType=DFNT_INT16 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName=\"FineCloudFrc_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName=\"FineCloudFrc_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName=\"FineCloudFrc_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName=\"CoarseCloudFrc_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName=\"CoarseCloudFrc_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName=\"CoarseCloudFrc_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName=\"CoarseCloudFrc_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName=\"CoarseCloudFrc_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName=\"CoarseCloudPres_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName=\"CoarseCloudPres_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName=\"CoarseCloudPres_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName=\"CoarseCloudPres_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + + + + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName=\"CoarseCloudPres_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName=\"CoarseCloudTemp_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName=\"CoarseCloudTemp_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName=\"CoarseCloudTemp_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName=\"CoarseCloudTemp_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName=\"CoarseCloudTemp_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName=\"TotO3_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName=\"TotO3_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName=\"TotO3_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName=\"TotO3_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName=\"TotO3_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName=\"TotO3_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName=\"O3_VMR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName=\"O3_VMR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName=\"O3_VMR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName=\"O3_VMR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName=\"O3_VMR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName=\"O3_VMR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName=\"TotCO_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName=\"TotCO_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName=\"TotCO_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName=\"TotCO_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName=\"TotCO_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName=\"CO_VMR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName=\"CO_VMR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName=\"CO_VMR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName=\"CO_VMR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName=\"CO_VMR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName=\"CO_VMR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName=\"TotCH4_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName=\"TotCH4_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName=\"TotCH4_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName=\"TotCH4_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName=\"TotCH4_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName=\"CH4_VMR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName=\"CH4_VMR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName=\"CH4_VMR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName=\"CH4_VMR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName=\"CH4_VMR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName=\"CH4_VMR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName=\"OLR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName=\"OLR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName=\"OLR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName=\"OLR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName=\"OLR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName=\"OLR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName=\"ClrOLR_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName=\"ClrOLR_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName=\"ClrOLR_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName=\"ClrOLR_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName=\"ClrOLR_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName=\"ClrOLR_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_2 + GROUP=GRID_3 + GridName=\"ascending_TqJoint\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqIR\" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_TqJ_A\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"SurfPres_Forecast_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"SurfPres_Forecast_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"SurfPres_Forecast_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"SurfPres_Forecast_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"SurfPres_Forecast_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"SurfSkinTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"SurfSkinTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"SurfSkinTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"SurfSkinTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"SurfSkinTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"SurfSkinTemp_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"EmisIR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"EmisIR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"EmisIR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"EmisIR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"EmisIR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"EmisIR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"Temperature_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"Temperature_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"Temperature_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"Temperature_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"Temperature_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"Temperature_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"SurfAirTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"SurfAirTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"SurfAirTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName=\"SurfAirTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName=\"SurfAirTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName=\"SurfAirTemp_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName=\"TropPres_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName=\"TropPres_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName=\"TropPres_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName=\"TropPres_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName=\"TropPres_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName=\"TropTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName=\"TropTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName=\"TropTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName=\"TropTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName=\"TropTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName=\"TotH2OVap_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName=\"TotH2OVap_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName=\"TotH2OVap_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName=\"TotH2OVap_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName=\"TotH2OVap_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName=\"TotH2OVap_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName=\"H2O_MMR_Lyr_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName=\"H2O_MMR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName=\"H2O_MMR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName=\"H2O_MMR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName=\"H2O_MMR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName=\"H2O_MMR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName=\"H2O_MMR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName=\"H2O_MMR_Surf_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName=\"H2O_MMR_Surf_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName=\"RelHum_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName=\"RelHum_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName=\"RelHum_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName=\"RelHum_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName=\"RelHum_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName=\"RelHumSurf_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName=\"RelHumSurf_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName=\"RelHumSurf_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName=\"RelHumSurf_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName=\"RelHumSurf_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName=\"RelHum_liquid_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName=\"RelHum_liquid_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName=\"RelHum_liquid_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName=\"RelHum_liquid_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName=\"RelHum_liquid_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName=\"RelHumSurf_liquid_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName=\"RelHumSurf_liquid_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName=\"RelHumSurf_liquid_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName=\"RelHumSurf_liquid_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName=\"RelHumSurf_liquid_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName=\"TropHeight_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName=\"TropHeight_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName=\"TropHeight_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName=\"TropHeight_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName=\"TropHeight_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName=\"GPHeight_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName=\"GPHeight_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName=\"GPHeight_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName=\"GPHeight_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName=\"GPHeight_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName=\"CloudFrc_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName=\"CloudFrc_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName=\"CloudFrc_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName=\"CloudFrc_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName=\"CloudFrc_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLA + + + TE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName=\"CloudFrc_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName=\"CloudTopPres_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName=\"CloudTopPres_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName=\"CloudTopPres_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName=\"CloudTopPres_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName=\"CloudTopPres_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName=\"CloudTopPres_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName=\"CloudTopTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName=\"CloudTopTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName=\"CloudTopTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName=\"CloudTopTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName=\"CloudTopTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName=\"CloudTopTemp_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName=\"FineCloudFrc_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName=\"FineCloudFrc_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName=\"FineCloudFrc_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName=\"FineCloudFrc_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName=\"FineCloudFrc_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName=\"CoarseCloudFrc_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName=\"CoarseCloudFrc_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName=\"CoarseCloudFrc_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName=\"CoarseCloudFrc_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName=\"CoarseCloudFrc_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName=\"CoarseCloudPres_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName=\"CoarseCloudPres_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName=\"CoarseCloudPres_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName=\"CoarseCloudPres_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName=\"CoarseCloudPres_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName=\"CoarseCloudTemp_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName=\"CoarseCloudTemp_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName=\"CoarseCloudTemp_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName=\"CoarseCloudTemp_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName=\"CoarseCloudTemp_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName=\"TotO3_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName=\"TotO3_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName=\"TotO3_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName=\"TotO3_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName=\"TotO3_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName=\"TotO3_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName=\"O3_VMR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName=\"O3_VMR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName=\"O3_VMR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName=\"O3_VMR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName=\"O3_VMR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName=\"O3_VMR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName=\"TotCO_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName=\"TotCO_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName=\"TotCO_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName=\"TotCO_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName=\"TotCO_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName=\"CO_VMR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName=\"CO_VMR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName=\"CO_VMR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName=\"CO_VMR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName=\"CO_VMR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName=\"CO_VMR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName=\"TotCH4_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName=\"TotCH4_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName=\"TotCH4_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName=\"TotCH4_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName=\"TotCH4_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName=\"CH4_VMR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName=\"CH4_VMR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName=\"CH4_VMR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName=\"CH4_VMR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName=\"CH4_VMR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName=\"CH4_VMR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName=\"OLR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName=\"OLR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName=\"OLR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName=\"OLR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName=\"OLR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName=\"OLR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName=\"ClrOLR_TqJ_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName=\"ClrOLR_TqJ_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName=\"ClrOLR_TqJ_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName=\"ClrOLR_TqJ_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName=\"ClrOLR_TqJ_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName=\"ClrOLR_TqJ_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_3 + GROUP=GRID_4 + GridName=\"descending_TqJoint\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqIR\" + Size=4 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_TqJ_D\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"SurfPres_Forecast_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"SurfPres_Forecast_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"SurfPres_Forecast_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"SurfPres_Forecast_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"SurfPres_Forecast_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"SurfSkinTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"SurfSkinTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"SurfSkinTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"SurfSkinTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"SurfSkinTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"SurfSkinTemp_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"EmisIR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"EmisIR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"EmisIR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"EmisIR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"EmisIR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"EmisIR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqIR\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"Temperature_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"Temperature_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"Temperature_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"Temperature_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"Temperature_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"Temperature_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"SurfAirTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"SurfAirTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"SurfAirTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + OBJECT=DataField_28 + DataFieldName=\"SurfAirTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_28 + OBJECT=DataField_29 + DataFieldName=\"SurfAirTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_29 + OBJECT=DataField_30 + DataFieldName=\"SurfAirTemp_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_30 + OBJECT=DataField_31 + DataFieldName=\"TropPres_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_31 + OBJECT=DataField_32 + DataFieldName=\"TropPres_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_32 + OBJECT=DataField_33 + DataFieldName=\"TropPres_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_33 + OBJECT=DataField_34 + DataFieldName=\"TropPres_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_34 + OBJECT=DataField_35 + DataFieldName=\"TropPres_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_35 + OBJECT=DataField_36 + DataFieldName=\"TropTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_36 + OBJECT=DataField_37 + DataFieldName=\"TropTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_37 + OBJECT=DataField_38 + DataFieldName=\"TropTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_38 + OBJECT=DataField_39 + DataFieldName=\"TropTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_39 + OBJECT=DataField_40 + DataFieldName=\"TropTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_40 + OBJECT=DataField_41 + DataFieldName=\"TotH2OVap_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_41 + OBJECT=DataField_42 + DataFieldName=\"TotH2OVap_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_42 + OBJECT=DataField_43 + DataFieldName=\"TotH2OVap_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_43 + OBJECT=DataField_44 + DataFieldName=\"TotH2OVap_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_44 + OBJECT=DataField_45 + DataFieldName=\"TotH2OVap_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_45 + OBJECT=DataField_46 + DataFieldName=\"TotH2OVap_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_46 + OBJECT=DataField_47 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_47 + OBJECT=DataField_48 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_48 + OBJECT=DataField_49 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_49 + OBJECT=DataField_50 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_50 + OBJECT=DataField_51 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_51 + OBJECT=DataField_52 + DataFieldName=\"H2O_MMR_Lyr_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLay\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_52 + OBJECT=DataField_53 + DataFieldName=\"H2O_MMR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_53 + OBJECT=DataField_54 + DataFieldName=\"H2O_MMR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_54 + OBJECT=DataField_55 + DataFieldName=\"H2O_MMR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_55 + OBJECT=DataField_56 + DataFieldName=\"H2O_MMR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_56 + OBJECT=DataField_57 + DataFieldName=\"H2O_MMR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_57 + OBJECT=DataField_58 + DataFieldName=\"H2O_MMR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_58 + OBJECT=DataField_59 + DataFieldName=\"H2O_MMR_Surf_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_59 + OBJECT=DataField_60 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_60 + OBJECT=DataField_61 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_61 + OBJECT=DataField_62 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_62 + OBJECT=DataField_63 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_63 + OBJECT=DataField_64 + DataFieldName=\"H2O_MMR_Surf_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_64 + OBJECT=DataField_65 + DataFieldName=\"RelHum_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_65 + OBJECT=DataField_66 + DataFieldName=\"RelHum_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_66 + OBJECT=DataField_67 + DataFieldName=\"RelHum_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_67 + OBJECT=DataField_68 + DataFieldName=\"RelHum_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_68 + OBJECT=DataField_69 + DataFieldName=\"RelHum_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_69 + OBJECT=DataField_70 + DataFieldName=\"RelHumSurf_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDF + + + E_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_70 + OBJECT=DataField_71 + DataFieldName=\"RelHumSurf_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_71 + OBJECT=DataField_72 + DataFieldName=\"RelHumSurf_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_72 + OBJECT=DataField_73 + DataFieldName=\"RelHumSurf_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_73 + OBJECT=DataField_74 + DataFieldName=\"RelHumSurf_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_74 + OBJECT=DataField_75 + DataFieldName=\"RelHum_liquid_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_75 + OBJECT=DataField_76 + DataFieldName=\"RelHum_liquid_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_76 + OBJECT=DataField_77 + DataFieldName=\"RelHum_liquid_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_77 + OBJECT=DataField_78 + DataFieldName=\"RelHum_liquid_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_78 + OBJECT=DataField_79 + DataFieldName=\"RelHum_liquid_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"H2OPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_79 + OBJECT=DataField_80 + DataFieldName=\"RelHumSurf_liquid_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_80 + OBJECT=DataField_81 + DataFieldName=\"RelHumSurf_liquid_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_81 + OBJECT=DataField_82 + DataFieldName=\"RelHumSurf_liquid_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_82 + OBJECT=DataField_83 + DataFieldName=\"RelHumSurf_liquid_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_83 + OBJECT=DataField_84 + DataFieldName=\"RelHumSurf_liquid_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_84 + OBJECT=DataField_85 + DataFieldName=\"TropHeight_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_85 + OBJECT=DataField_86 + DataFieldName=\"TropHeight_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_86 + OBJECT=DataField_87 + DataFieldName=\"TropHeight_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_87 + OBJECT=DataField_88 + DataFieldName=\"TropHeight_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_88 + OBJECT=DataField_89 + DataFieldName=\"TropHeight_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_89 + OBJECT=DataField_90 + DataFieldName=\"GPHeight_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_90 + OBJECT=DataField_91 + DataFieldName=\"GPHeight_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_91 + OBJECT=DataField_92 + DataFieldName=\"GPHeight_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_92 + OBJECT=DataField_93 + DataFieldName=\"GPHeight_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_93 + OBJECT=DataField_94 + DataFieldName=\"GPHeight_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_94 + OBJECT=DataField_95 + DataFieldName=\"CloudFrc_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_95 + OBJECT=DataField_96 + DataFieldName=\"CloudFrc_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_96 + OBJECT=DataField_97 + DataFieldName=\"CloudFrc_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_97 + OBJECT=DataField_98 + DataFieldName=\"CloudFrc_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_98 + OBJECT=DataField_99 + DataFieldName=\"CloudFrc_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_99 + OBJECT=DataField_100 + DataFieldName=\"CloudFrc_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_100 + OBJECT=DataField_101 + DataFieldName=\"CloudTopPres_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_101 + OBJECT=DataField_102 + DataFieldName=\"CloudTopPres_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_102 + OBJECT=DataField_103 + DataFieldName=\"CloudTopPres_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_103 + OBJECT=DataField_104 + DataFieldName=\"CloudTopPres_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_104 + OBJECT=DataField_105 + DataFieldName=\"CloudTopPres_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_105 + OBJECT=DataField_106 + DataFieldName=\"CloudTopPres_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_106 + OBJECT=DataField_107 + DataFieldName=\"CloudTopTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_107 + OBJECT=DataField_108 + DataFieldName=\"CloudTopTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_108 + OBJECT=DataField_109 + DataFieldName=\"CloudTopTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_109 + OBJECT=DataField_110 + DataFieldName=\"CloudTopTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_110 + OBJECT=DataField_111 + DataFieldName=\"CloudTopTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_111 + OBJECT=DataField_112 + DataFieldName=\"CloudTopTemp_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_112 + OBJECT=DataField_113 + DataFieldName=\"FineCloudFrc_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_113 + OBJECT=DataField_114 + DataFieldName=\"FineCloudFrc_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_114 + OBJECT=DataField_115 + DataFieldName=\"FineCloudFrc_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_115 + OBJECT=DataField_116 + DataFieldName=\"FineCloudFrc_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_116 + OBJECT=DataField_117 + DataFieldName=\"FineCloudFrc_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"FineCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_117 + OBJECT=DataField_118 + DataFieldName=\"CoarseCloudFrc_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_118 + OBJECT=DataField_119 + DataFieldName=\"CoarseCloudFrc_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_119 + OBJECT=DataField_120 + DataFieldName=\"CoarseCloudFrc_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_120 + OBJECT=DataField_121 + DataFieldName=\"CoarseCloudFrc_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_121 + OBJECT=DataField_122 + DataFieldName=\"CoarseCloudFrc_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_122 + OBJECT=DataField_123 + DataFieldName=\"CoarseCloudPres_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_123 + OBJECT=DataField_124 + DataFieldName=\"CoarseCloudPres_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_124 + OBJECT=DataField_125 + DataFieldName=\"CoarseCloudPres_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_125 + OBJECT=DataField_126 + DataFieldName=\"CoarseCloudPres_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_126 + OBJECT=DataField_127 + DataFieldName=\"CoarseCloudPres_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_127 + OBJECT=DataField_128 + DataFieldName=\"CoarseCloudTemp_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_128 + OBJECT=DataField_129 + DataFieldName=\"CoarseCloudTemp_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_129 + OBJECT=DataField_130 + DataFieldName=\"CoarseCloudTemp_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_130 + OBJECT=DataField_131 + DataFieldName=\"CoarseCloudTemp_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_131 + OBJECT=DataField_132 + DataFieldName=\"CoarseCloudTemp_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"CoarseCloudLayer\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_132 + OBJECT=DataField_133 + DataFieldName=\"TotO3_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_133 + OBJECT=DataField_134 + DataFieldName=\"TotO3_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_134 + OBJECT=DataField_135 + DataFieldName=\"TotO3_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_135 + OBJECT=DataField_136 + DataFieldName=\"TotO3_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_136 + OBJECT=DataField_137 + DataFieldName=\"TotO3_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_137 + OBJECT=DataField_138 + DataFieldName=\"TotO3_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_138 + OBJECT=DataField_139 + DataFieldName=\"O3_VMR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_139 + OBJECT=DataField_140 + DataFieldName=\"O3_VMR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_140 + OBJECT=DataField_141 + DataFieldName=\"O3_VMR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_141 + OBJECT=DataField_142 + DataFieldName=\"O3_VMR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_142 + OBJECT=DataField_143 + DataFieldName=\"O3_VMR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_143 + OBJECT=DataField_144 + DataFieldName=\"O3_VMR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_144 + OBJECT=DataField_145 + DataFieldName=\"TotCO_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_145 + OBJECT=DataField_146 + DataFieldName=\"TotCO_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_146 + OBJECT=DataField_147 + DataFieldName=\"TotCO_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_147 + OBJECT=DataField_148 + DataFieldName=\"TotCO_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_148 + OBJECT=DataField_149 + DataFieldName=\"TotCO_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_149 + OBJECT=DataField_150 + DataFieldName=\"CO_VMR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_150 + OBJECT=DataField_151 + DataFieldName=\"CO_VMR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_151 + OBJECT=DataField_152 + DataFieldName=\"CO_VMR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_152 + OBJECT=DataField_153 + DataFieldName=\"CO_VMR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_153 + OBJECT=DataField_154 + DataFieldName=\"CO_VMR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_154 + OBJECT=DataField_155 + DataFieldName=\"CO_VMR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_155 + OBJECT=DataField_156 + DataFieldName=\"TotCH4_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_156 + OBJECT=DataField_157 + DataFieldName=\"TotCH4_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_157 + OBJECT=DataField_158 + DataFieldName=\"TotCH4_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_158 + OBJECT=DataField_159 + DataFieldName=\"TotCH4_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_159 + OBJECT=DataField_160 + DataFieldName=\"TotCH4_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_160 + OBJECT=DataField_161 + DataFieldName=\"CH4_VMR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_161 + OBJECT=DataField_162 + DataFieldName=\"CH4_VMR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_162 + OBJECT=DataField_163 + DataFieldName=\"CH4_VMR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_163 + OBJECT=DataField_164 + DataFieldName=\"CH4_VMR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_164 + OBJECT=DataField_165 + DataFieldName=\"CH4_VMR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_165 + OBJECT=DataField_166 + DataFieldName=\"CH4_VMR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_166 + OBJECT=DataField_167 + DataFieldName=\"OLR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_167 + OBJECT=DataField_168 + DataFieldName=\"OLR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_168 + OBJECT=DataField_169 + DataFieldName=\"OLR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_169 + OBJECT=DataField_170 + DataFieldName=\"OLR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_170 + OBJECT=DataField_171 + DataFieldName=\"OLR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_171 + OBJECT=DataField_172 + DataFieldName=\"OLR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_172 + OBJECT=DataField_173 + DataFieldName=\"ClrOLR_TqJ_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_173 + OBJECT=DataField_174 + DataFieldName=\"ClrOLR_TqJ_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_174 + OBJECT=DataField_175 + DataFieldName=\"ClrOLR_TqJ_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_175 + OBJECT=DataField_176 + DataFieldName=\"ClrOLR_TqJ_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_176 + OBJECT=DataField_177 + DataFieldName=\"ClrOLR_TqJ_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_177 + OBJECT=DataField_178 + DataFieldName=\"ClrOLR_TqJ_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_178 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_4 + GROUP=GRID_5 + GridName=\"ascending_MW_only\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqMW\" + Size=3 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_MW_A\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"Emis_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"Emis_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"Emis_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"Emis_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"Emis_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"Temperature_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"Temperature_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"Temperature_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"Temperature_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"Temperature_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"TotH2OVap_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"TotH2OVap_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"TotH2OVap_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"TotH2OVap_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"TotH2OVap_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"GPHeight_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"GPHeight_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"GPHeight_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"GPHeight_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"GPHeight_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"TotCldLiqH2O_MW_A\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"TotCldLiqH2O_MW_A_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"TotCldLiqH2O_MW_A_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"TotCldLiqH2O_MW_A_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"TotCldLiqH2O_MW_A_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"TotCldLiqH2O_MW_A_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_5 + GROUP=GRID_6 + GridName=\"descending_MW_only\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + OBJECT=Dimension_1 + DimensionName=\"StdPressureLev\" + Size=24 + END_OBJECT=Dimension_1 + OBJECT=Dimension_2 + DimensionName=\"H2OPressureLev\" + Size=12 + END_OBJECT=Dimension_2 + OBJECT=Dimension_3 + DimensionName=\"H2OPressureLay\" + Size=12 + END_OBJECT=Dimension_3 + OBJECT=Dimension_4 + DimensionName=\"CoarseCloudLayer\" + Size=3 + END_OBJECT=Dimension_4 + OBJECT=Dimension_5 + DimensionName=\"FineCloudLayer\" + Size=12 + END_OBJECT=Dimension_5 + OBJECT=Dimension_6 + DimensionName=\"EmisFreqMW\" + Size=3 + END_OBJECT=Dimension_6 + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"TotalCounts_MW_D\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"Emis_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"Emis_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"Emis_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + OBJECT=DataField_5 + DataFieldName=\"Emis_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_5 + OBJECT=DataField_6 + DataFieldName=\"Emis_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"EmisFreqMW\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_6 + OBJECT=DataField_7 + DataFieldName=\"Temperature_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_7 + OBJECT=DataField_8 + DataFieldName=\"Temperature_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_8 + OBJECT=DataField_9 + DataFieldName=\"Temperature_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_9 + OBJECT=DataField_10 + DataFieldName=\"Tempe + + + rature_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_10 + OBJECT=DataField_11 + DataFieldName=\"Temperature_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_11 + OBJECT=DataField_12 + DataFieldName=\"TotH2OVap_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_12 + OBJECT=DataField_13 + DataFieldName=\"TotH2OVap_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_13 + OBJECT=DataField_14 + DataFieldName=\"TotH2OVap_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_14 + OBJECT=DataField_15 + DataFieldName=\"TotH2OVap_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_15 + OBJECT=DataField_16 + DataFieldName=\"TotH2OVap_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_16 + OBJECT=DataField_17 + DataFieldName=\"GPHeight_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_17 + OBJECT=DataField_18 + DataFieldName=\"GPHeight_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_18 + OBJECT=DataField_19 + DataFieldName=\"GPHeight_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_19 + OBJECT=DataField_20 + DataFieldName=\"GPHeight_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_20 + OBJECT=DataField_21 + DataFieldName=\"GPHeight_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"StdPressureLev\",\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_21 + OBJECT=DataField_22 + DataFieldName=\"TotCldLiqH2O_MW_D\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_22 + OBJECT=DataField_23 + DataFieldName=\"TotCldLiqH2O_MW_D_ct\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_23 + OBJECT=DataField_24 + DataFieldName=\"TotCldLiqH2O_MW_D_sdev\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_24 + OBJECT=DataField_25 + DataFieldName=\"TotCldLiqH2O_MW_D_min\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_25 + OBJECT=DataField_26 + DataFieldName=\"TotCldLiqH2O_MW_D_max\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_26 + OBJECT=DataField_27 + DataFieldName=\"TotCldLiqH2O_MW_D_err\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_27 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_6 + GROUP=GRID_7 + GridName=\"location\" + XDim=360 + YDim=180 + UpperLeftPointMtrs=(-179030000.000000,89030000.000000) + LowerRightMtrs=(180030000.000000,-90030000.000000) + Projection=GCTP_GEO + GROUP=Dimension + END_GROUP=Dimension + GROUP=DataField + OBJECT=DataField_1 + DataFieldName=\"Latitude\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_1 + OBJECT=DataField_2 + DataFieldName=\"Longitude\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_2 + OBJECT=DataField_3 + DataFieldName=\"LandSeaMask\" + DataType=DFNT_INT16 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_3 + OBJECT=DataField_4 + DataFieldName=\"Topography\" + DataType=DFNT_FLOAT32 + DimList=(\"YDim\",\"XDim\") + CompressionType=HDFE_COMP_DEFLATE + DeflateLevel=5 + END_OBJECT=DataField_4 + END_GROUP=DataField + GROUP=MergedFields + END_GROUP=MergedFields + END_GROUP=GRID_7 +END_GROUP=GridStructure +GROUP=PointStructure +END_GROUP=PointStructure +END + + + + 10.5067/AQUA/AIRS/DATA303 + + + http://dx.doi.org/ + + + +GROUP = INVENTORYMETADATA + GROUPTYPE = MASTERGROUP + + GROUP = ECSDATAGRANULE + + OBJECT = LOCALGRANULEID + NUM_VAL = 1 + VALUE = \"AIRS.2015.01.01.L3.RetStd_IR001.v6.0.11.0.G15013155825.hdf\" + END_OBJECT = LOCALGRANULEID + + OBJECT = PRODUCTIONDATETIME + NUM_VAL = 1 + VALUE = \"2015-01-13T20:58:27.000Z\" + END_OBJECT = PRODUCTIONDATETIME + + OBJECT = LOCALVERSIONID + NUM_VAL = 1 + VALUE = \"Unspecified\" + END_OBJECT = LOCALVERSIONID + + END_GROUP = ECSDATAGRANULE + + GROUP = MEASUREDPARAMETER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"1\" + + GROUP = QAFLAGS + CLASS = \"1\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"1\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"1\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"1\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"1\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"Surface Skin Temperature\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"2\" + + GROUP = QAFLAGS + CLASS = \"2\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"2\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"2\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"2\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"2\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"Surface Air Temperature\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"3\" + + GROUP = QAFLAGS + CLASS = \"3\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"3\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"3\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"3\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"3\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"Atmospheric Temperature\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"4\" + + GROUP = QAFLAGS + CLASS = \"4\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"4\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"4\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"4\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"4\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"Water Vapor Mass Mixing Ratio\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"5\" + + GROUP = QAFLAGS + CLASS = \"5\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"5\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"5\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"5\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"5\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"Total Precipitable Water Vapor\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"6\" + + GROUP = QAFLAGS + CLASS = \"6\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"6\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"6\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"6\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"6\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"Ozone Volume Mixing Ratio\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"7\" + + GROUP = QAFLAGS + CLASS = \"7\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"7\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"7\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"7\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"7\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"Total Ozone Burden\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"8\" + + GROUP = QAFLAGS + CLASS = \"8\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"8\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"8\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"8\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"8\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"Spectral IR Surface Emissivities\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"9\" + + GROUP = QAFLAGS + CLASS = \"9\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"9\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"9\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"9\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"9\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"Spectral IR Surf Bidirect Reflectivity\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"10\" + + GROUP = QAFLAGS + CLASS = \"10\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"10\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"10\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"10\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"10\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"MW Surface Brightness\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"11\" + + GROUP = QAFLAGS + CLASS = \"11\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"11\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"11\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"11\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"11\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"MW Emissivity\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"12\" + + GROUP = QAFLAGS + CLASS = \"12\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"12\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"12\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"12\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"12\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"Total Cloud Water\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"13\" + + GROUP = QAFLAGS + CLASS = \"13\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"13\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"13\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"13\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"13\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"Cloud Top Temperature\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"14\" + + GROUP = QAFLAGS + CLASS = \"14\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"14\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"14\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"14\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"14\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"Cloud Top Pressure\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"15\" + + GROUP = QAFLAGS + CLASS = \"15\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"15\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"15\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"15\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"15\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"Effective Cloud Fraction\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"16\" + + GROUP = QAFLAGS + CLASS = \"16\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"16\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"16\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"16\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"16\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"Geopotential Heights\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + OBJECT = MEASUREDPARAMETERCONTAINER + CLASS = \"17\" + + GROUP = QAFLAGS + CLASS = \"17\" + + OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + NUM_VAL = 1 + CLASS = \"17\" + VALUE = \"Based on percentage of product that is good. Suspect used where true quality is not known.\" + END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION + + OBJECT = AUTOMATICQUALITYFLAG + NUM_VAL = 1 + CLASS = \"17\" + VALUE = \"Passed\" + END_OBJECT = AUTOMATICQUALITYFLAG + + END_GROUP = QAFLAGS + + GROUP = QASTATS + CLASS = \"17\" + + OBJECT = QAPERCENTMISSINGDATA + NUM_VAL = 1 + CLASS = \"17\" + VALUE = 0 + END_OBJECT = QAPERCENTMISSINGDATA + + END_GROUP = QASTATS + + OBJECT = PARAMETERNAME + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"Geopotential Height of Surface\" + END_OBJECT = PARAMETERNAME + + END_OBJECT = MEASUREDPARAMETERCONTAINER + + END_GROUP = MEASUREDPARAMETER + + GROUP = COLLECTIONDESCRIPTIONCLASS + + OBJECT = VERSIONID + NUM_VAL = 1 + VALUE = 6 + END_OBJECT = VERSIONID + + OBJECT = SHORTNAME + NUM_VAL = 1 + VALUE = \"AIRS3STD\" + END_OBJECT = SHORTNAME + + END_GROUP = COLLECTIONDESCRIPTIONCLASS + + GROUP = INPUTGRANULE + + OBJECT = INPUTPOINTER + NUM_VAL = 650 + VALUE = (\"L3h.land_sea_mask_1x1.v2.0.0.anc\", \"ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.055.L2.RetStd_IR.v6.0.11.0.G14365175636.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.056.L2.RetStd_IR.v6.0.11.0.G14365180609.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.057.L2.RetStd_IR.v6.0.11.0.G14365180401.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.058.L2.RetStd_IR.v6.0.11.0.G14365180553.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.059.L2.RetStd_IR.v6.0.11.0.G14365181436.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.060.L2.RetStd_IR.v6.0.11.0.G14365180531.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.061.L2.RetStd_IR.v6.0.11.0.G14365181233.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.062.L2.RetStd_IR.v6.0.11.0.G14365180832.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.063.L2.RetStd_IR.v6.0.11.0.G14365183039.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.064.L2.RetStd_IR.v6.0.11.0.G14365182829.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.065.L2.RetStd_IR.v6.0.11.0.G14365182053.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.066.L2.RetStd_IR.v6.0.11.0.G14365183514.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.067.L2.RetStd_IR.v6.0.11.0.G14365183828.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.068.L2.RetStd_IR.v6.0.11.0.G14365183507.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.069.L2.RetStd_IR.v6.0.11.0.G14365183535.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.070.L2.RetStd_IR.v6.0.11.0.G14365183316.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.071.L2.RetStd_IR.v6.0.11.0.G14365152846.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.072.L2.RetStd_IR.v6.0.11.0.G14365153202.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.073.L2.RetStd_IR.v6.0.11.0.G14365153118.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.074.L2.RetStd_IR.v6.0.11.0.G14365153119.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.075.L2.RetStd_IR.v6.0.11.0.G14365153426.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.076.L2.RetStd_IR.v6.0.11.0.G14365184042.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.077.L2.RetStd_IR.v6.0.11.0.G14365183557.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.078.L2.RetStd_IR.v6.0.11.0.G14365183532.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.079.L2.RetStd_IR.v6.0.11.0.G14365183104.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.080.L2.RetStd_IR.v6.0.11.0.G14365184608.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.081.L2.RetStd_IR.v6.0.11.0.G14365184504.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.082.L2.RetStd_IR.v6.0.11.0.G14365184050.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.083.L2.RetStd_IR.v6.0.11.0.G14365184154.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.084.L2.RetStd_IR.v6.0.11.0.G14365183901.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.085.L2.RetStd_IR.v6.0.11.0.G14365153038.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.086.L2.RetStd_IR.v6.0.11.0.G14365153448.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.087.L2.RetStd_IR.v6.0.11.0.G14365152807.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.088.L2.RetStd_IR.v6.0.11.0.G14365153349.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.089.L2.RetStd_IR.v6.0.11.0.G14365153047.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.090.L2.RetStd_IR.v6.0.11.0.G14365153612.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.091.L2.RetStd_IR.v6.0.11.0.G14365153108.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.092.L2.RetStd_IR.v6.0.11.0.G14365153812.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.093.L2.RetStd_IR.v6.0.11.0.G14365183855.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.094.L2.RetStd_IR.v6.0.11.0.G14365183812.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.095.L2.RetStd_IR.v6.0.11.0.G14365184633.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.096.L2.RetStd_IR.v6.0.11.0.G14365184444.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.097.L2.RetStd_IR.v6.0.11.0.G14365184648.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.098.L2.RetStd_IR.v6.0.11.0.G14365183704.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.099.L2.RetStd_IR.v6.0.11.0.G15001112252.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.100.L2.RetStd_IR.v6.0.11.0.G15001112337.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.101.L2.RetStd_IR.v6.0.11.0.G15001112454.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.102.L2.RetStd_IR.v6.0.11.0.G15001121450.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.103.L2.RetStd_IR.v6.0.11.0.G15001121555.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.104.L2.RetStd_IR.v6.0.11.0.G15001121126.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.105.L2.RetStd_IR.v6.0.11.0.G15001121847.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.106.L2.RetStd_IR.v6.0.11.0.G15001121719.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.107.L2.RetStd_IR.v6.0.11.0.G15001121742.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.108.L2.RetStd_IR.v6.0.11.0.G15001121931.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.109.L2.RetStd_IR.v6.0.11.0.G15001112317.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.110.L2.RetStd_IR.v6.0.11.0.G15001111928.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.111.L2.RetStd_IR.v6.0.11.0.G15001112201.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.112.L2.RetStd_IR.v6.0.11.0.G15001112555.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.113.L2.RetStd_IR.v6.0.11.0.G15001112533.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.114.L2.RetStd_IR.v6.0.11.0.G15001112324.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.115.L2.RetStd_IR.v6.0.11.0.G15001112456.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.116.L2.RetStd_IR.v6.0.11.0.G15001113125.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.117.L2.RetStd_IR.v6.0.11.0.G15001113307.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.118.L2.RetStd_IR.v6.0.11.0.G15001121744.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.119.L2.RetStd_IR.v6.0.11.0.G15001121523.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.120.L2.RetStd_IR.v6.0.11.0.G15001121809.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.121.L2.RetStd_IR.v6.0.11.0.G15001122742.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.122.L2.RetStd_IR.v6.0.11.0.G15001122658.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.123.L2.RetStd_IR.v6.0.11.0.G15001122647.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.124.L2.RetStd_IR.v6.0.11.0.G15001122758.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.125.L2.RetStd_IR.v6.0.11.0.G15001122916.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.126.L2.RetStd_IR.v6.0.11.0.G15001112919.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.127.L2.RetStd_IR.v6.0.11.0.G15001112540.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.128.L2.RetStd_IR.v6.0.11.0.G15001112352.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.129.L2.RetStd_IR.v6.0.11.0.G15001112411.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.130.L2.RetStd_IR.v6.0.11.0.G15001113230.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.131.L2.RetStd_IR.v6.0.11.0.G15001113119.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.132.L2.RetStd_IR.v6.0.11.0.G15001113007.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.133.L2.RetStd_IR.v6.0.11.0.G15001113225.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.134.L2.RetStd_IR.v6.0.11.0.G15001113808.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.135.L2.RetStd_IR.v6.0.11.0.G15001122341.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.136.L2.RetStd_IR.v6.0.11.0.G15001122617.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.137.L2.RetStd_IR.v6.0.11.0.G15001122757.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.138.L2.RetStd_IR.v6.0.11.0.G15001122806.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.139.L2.RetStd_IR.v6.0.11.0.G15001121953.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.140.L2.RetStd_IR.v6.0.11.0.G15001123930.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.141.L2.RetStd_IR.v6.0.11.0.G15001123125.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.142.L2.RetStd_IR.v6.0.11.0.G15001113748.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.143.L2.RetStd_IR.v6.0.11.0.G15001112737.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.144.L2.RetStd_IR.v6.0.11.0.G15001113003.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.145.L2.RetStd_IR.v6.0.11.0.G15001113230.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.146.L2.RetStd_IR.v6.0.11.0.G15001114106.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.147.L2.RetStd_IR.v6.0.11.0.G15001114058.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.148.L2.RetStd_IR.v6.0.11.0.G15001114011.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.149.L2.RetStd_IR.v6.0.11.0.G15001113240.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.150.L2.RetStd_IR.v6.0.11.0.G15001114027.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.151.L2.RetStd_IR.v6.0.11.0.G15001122827.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.152.L2.RetStd_IR.v6.0.11.0.G15001123538.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.153.L2.RetStd_IR.v6.0.11.0.G15001123916.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.154.L2.RetStd_IR.v6.0.11.0.G15001124009.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.155.L2.RetStd_IR.v6.0.11.0.G15001123025.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.156.L2.RetStd_IR.v6.0.11.0.G15001123730.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.157.L2.RetStd_IR.v6.0.11.0.G15001123737.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.158.L2.RetStd_IR.v6.0.11.0.G15001123910.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.159.L2.RetStd_IR.v6.0.11.0.G15001124227.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.160.L2.RetStd_IR.v6.0.11.0.G15001124401.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.161.L2.RetStd_IR.v6.0.11.0.G15001114845.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.162.L2.RetStd_IR.v6.0.11.0.G15001124228.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.163.L2.RetStd_IR.v6.0.11.0.G15001114844.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.164.L2.RetStd_IR.v6.0.11.0.G15001124857.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.165.L2.RetStd_IR.v6.0.11.0.G15001124952.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.166.L2.RetStd_IR.v6.0.11.0.G15001124925.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.167.L2.RetStd_IR.v6.0.11.0.G15001124554.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.168.L2.RetStd_IR.v6.0.11.0.G15001133331.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.169.L2.RetStd_IR.v6.0.11.0.G15001132820.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.170.L2.RetStd_IR.v6.0.11.0.G15001133254.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.171.L2.RetStd_IR.v6.0.11.0.G15001134121.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.172.L2.RetStd_IR.v6.0.11.0.G15001132820.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.173.L2.RetStd_IR.v6.0.11.0.G15001133547.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.174.L2.RetStd_IR.v6.0.11.0.G15001133537.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.175.L2.RetStd_IR.v6.0.11.0.G15001124547.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.176.L2.RetStd_IR.v6.0.11.0.G15001123747.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.177.L2.RetStd_IR.v6.0.11.0.G15001125030.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.178.L2.RetStd_IR.v6.0.11.0.G15001130611.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.179.L2.RetStd_IR.v6.0.11.0.G15001132817.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.180.L2.RetStd_IR.v6.0.11.0.G15001133118.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.181.L2.RetStd_IR.v6.0.11.0.G15001133309.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.182.L2.RetStd_IR.v6.0.11.0.G15001133107.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.183.L2.RetStd_IR.v6.0.11.0.G15001131946.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.184.L2.RetStd_IR.v6.0.11.0.G15001133155.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.185.L2.RetStd_IR.v6.0.11.0.G15001133220.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.186.L2.RetStd_IR.v6.0.11.0.G15001132310.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.187.L2.RetStd_IR.v6.0.11.0.G15001132626.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.188.L2.RetStd_IR.v6.0.11.0.G15001133340.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.189.L2.RetStd_IR.v6.0.11.0.G15001132921.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.190.L2.RetStd_IR.v6.0.11.0.G15001133754.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.191.L2.RetStd_IR.v6.0.11.0.G15001133910.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.192.L2.RetStd_IR.v6.0.11.0.G15001132252.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.193.L2.RetStd_IR.v6.0.11.0.G15001132853.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.194.L2.RetStd_IR.v6.0.11.0.G15001132309.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.195.L2.RetStd_IR.v6.0.11.0.G15001133230.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.196.L2.RetStd_IR.v6.0.11.0.G15001133152.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.197.L2.RetStd_IR.v6.0.11.0.G15001133131.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.198.L2.RetStd_IR.v6.0.11.0.G15001133019.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.199.L2.RetStd_IR.v6.0.11.0.G15001132942.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.200.L2.RetStd_IR.v6.0.11.0.G15001133106.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.201.L2.RetStd_IR.v6.0.11.0.G15001133439.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.202.L2.RetStd_IR.v6.0.11.0.G15001134303.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.203.L2.RetStd_IR.v6.0.11.0.G15005130154.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.207.L2.RetStd_IR.v6.0.11.0.G15005130151.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.208.L2.RetStd_IR.v6.0.11.0.G15001133403.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.209.L2.RetStd_IR.v6.0.11.0.G15001133154.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.210.L2.RetStd_IR.v6.0.11.0.G15001140847.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.211.L2.RetStd_IR.v6.0.11.0.G15001140918.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.212.L2.RetStd_IR.v6.0.11.0.G15001140048.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.213.L2.RetStd_IR.v6.0.11.0.G15001140836.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.214.L2.RetStd_IR.v6.0.11.0.G15001143257.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.215.L2.RetStd_IR.v6.0.11.0.G15001143509.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.216.L2.RetStd_IR.v6.0.11.0.G15001143224.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.217.L2.RetStd_IR.v6.0.11.0.G15001142507.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.218.L2.RetStd_IR.v6.0.11.0.G15001142356.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.219.L2.RetStd_IR.v6.0.11.0.G15001142449.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.220.L2.RetStd_IR.v6.0.11.0.G15001143342.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.221.L2.RetStd_IR.v6.0.11.0.G15001142649.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.222.L2.RetStd_IR.v6.0.11.0.G15001142507.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.223.L2.RetStd_IR.v6.0.11.0.G15001143551.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.224.L2.RetStd_IR.v6.0.11.0.G15001143436.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.225.L2.RetStd_IR.v6.0.11.0.G15001143407.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.226.L2.RetStd_IR.v6.0.11.0.G15001143334.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.227.L2.RetStd_IR.v6.0.11.0.G15001143724.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.228.L2.RetStd_IR.v6.0.11.0.G15001142825.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.229.L2.RetStd_IR.v6.0.11.0.G15001143906.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.230.L2.RetStd_IR.v6.0.11.0.G15001143334.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.231.L2.RetStd_IR.v6.0.11.0.G15001143856.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.232.L2.RetStd_IR.v6.0.11.0.G15001143931.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.233.L2.RetStd_IR.v6.0.11.0.G15001143734.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.234.L2.RetStd_IR.v6.0.11.0.G15001143742.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.235.L2.RetStd_IR.v6.0.11.0.G15001143709.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.236.L2.RetStd_IR.v6.0.11.0.G15001144722.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.237.L2.RetStd_IR.v6.0.11.0.G15001151739.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.238.L2.RetStd_IR.v6.0.11.0.G15001151841.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.239.L2.RetStd_IR.v6.0.11.0.G15001151414.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2014/365/AIRS.2014.12.31.240.L2.RetStd_IR.v6.0.11.0.G15001151429.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.001.L2.RetStd_IR.v6.0.11.0.G15001152042.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.002.L2.RetStd_IR.v6.0.11.0.G15001151208.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.003.L2.RetStd_IR.v6.0.11.0.G15001152330.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.004.L2.RetStd_IR.v6.0.11.0.G15001152513.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.005.L2.RetStd_IR.v6.0.11.0.G15001151614.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.006.L2.RetStd_IR.v6.0.11.0.G15001151846.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.007.L2.RetStd_IR.v6.0.11.0.G15001152452.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.008.L2.RetStd_IR.v6.0.11.0.G15001152727.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.009.L2.RetStd_IR.v6.0.11.0.G15001151627.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.010.L2.RetStd_IR.v6.0.11.0.G15001152200.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.011.L2.RetStd_IR.v6.0.11.0.G15001152521.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.012.L2.RetStd_IR.v6.0.11.0.G15001152452.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.013.L2.RetStd_IR.v6.0.11.0.G15001151700.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.014.L2.RetStd_IR.v6.0.11.0.G15001152535.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.015.L2.RetStd_IR.v6.0.11.0.G15001151943.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.016.L2.RetStd_IR.v6.0.11.0.G15001151926.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.017.L2.RetStd_IR.v6.0.11.0.G15001151956.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.018.L2.RetStd_IR.v6.0.11.0.G15001153329.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.019.L2.RetStd_IR.v6.0.11.0.G15001152849.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.020.L2.RetStd_IR.v6.0.11.0.G15001153854.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.021.L2.RetStd_IR.v6.0.11.0.G15001153942.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.022.L2.RetStd_IR.v6.0.11.0.G15001153854.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.023.L2.RetStd_IR.v6.0.11.0.G15001153138.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.024.L2.RetStd_IR.v6.0.11.0.G15001154050.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.025.L2.RetStd_IR.v6.0.11.0.G15001154036.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.026.L2.RetStd_IR.v6.0.11.0.G15001153845.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.027.L2.RetStd_IR.v6.0.11.0.G15001154028.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.028.L2.RetStd_IR.v6.0.11.0.G15001155105.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.029.L2.RetStd_IR.v6.0.11.0.G15001154239.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.030.L2.RetStd_IR.v6.0.11.0.G15001154402.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.031.L2.RetStd_IR.v6.0.11.0.G15001155222.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.032.L2.RetStd_IR.v6.0.11.0.G15001154526.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.033.L2.RetStd_IR.v6.0.11.0.G15001155447.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.034.L2.RetStd_IR.v6.0.11.0.G15001155127.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.035.L2.RetStd_IR.v6.0.11.0.G15001155102.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.036.L2.RetStd_IR.v6.0.11.0.G15001154633.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.037.L2.RetStd_IR.v6.0.11.0.G15001154716.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.038.L2.RetStd_IR.v6.0.11.0.G15001155536.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.039.L2.RetStd_IR.v6.0.11.0.G15001155703.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.040.L2.RetStd_IR.v6.0.11.0.G15001155837.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.041.L2.RetStd_IR.v6.0.11.0.G15001155847.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.042.L2.RetStd_IR.v6.0.11.0.G15001155605.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.043.L2.RetStd_IR.v6.0.11.0.G15001155602.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.044.L2.RetStd_IR.v6.0.11.0.G15001160024.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS + + + /Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.045.L2.RetStd_IR.v6.0.11.0.G15001155356.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.046.L2.RetStd_IR.v6.0.11.0.G15001160150.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.047.L2.RetStd_IR.v6.0.11.0.G15001160025.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.048.L2.RetStd_IR.v6.0.11.0.G15001155255.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.049.L2.RetStd_IR.v6.0.11.0.G15001160227.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.050.L2.RetStd_IR.v6.0.11.0.G15001160259.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.051.L2.RetStd_IR.v6.0.11.0.G15001160059.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.052.L2.RetStd_IR.v6.0.11.0.G15001160023.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.053.L2.RetStd_IR.v6.0.11.0.G15001160420.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.054.L2.RetStd_IR.v6.0.11.0.G15001160527.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.055.L2.RetStd_IR.v6.0.11.0.G15001160542.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.056.L2.RetStd_IR.v6.0.11.0.G15001160541.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.057.L2.RetStd_IR.v6.0.11.0.G15001160420.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.058.L2.RetStd_IR.v6.0.11.0.G15001155707.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.059.L2.RetStd_IR.v6.0.11.0.G15001160304.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.060.L2.RetStd_IR.v6.0.11.0.G15001160458.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.061.L2.RetStd_IR.v6.0.11.0.G15001160000.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.062.L2.RetStd_IR.v6.0.11.0.G15001160948.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.063.L2.RetStd_IR.v6.0.11.0.G15001161300.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.064.L2.RetStd_IR.v6.0.11.0.G15001161047.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.065.L2.RetStd_IR.v6.0.11.0.G15001161344.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.066.L2.RetStd_IR.v6.0.11.0.G15001160521.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.067.L2.RetStd_IR.v6.0.11.0.G15001161238.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.068.L2.RetStd_IR.v6.0.11.0.G15001160928.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.069.L2.RetStd_IR.v6.0.11.0.G15001160457.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.070.L2.RetStd_IR.v6.0.11.0.G15001161641.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.071.L2.RetStd_IR.v6.0.11.0.G15001161626.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.072.L2.RetStd_IR.v6.0.11.0.G15001161630.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.073.L2.RetStd_IR.v6.0.11.0.G15001161503.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.074.L2.RetStd_IR.v6.0.11.0.G15001161447.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.075.L2.RetStd_IR.v6.0.11.0.G15001161546.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.076.L2.RetStd_IR.v6.0.11.0.G15001161611.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.077.L2.RetStd_IR.v6.0.11.0.G15001161508.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.078.L2.RetStd_IR.v6.0.11.0.G15001161622.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.079.L2.RetStd_IR.v6.0.11.0.G15001161850.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.080.L2.RetStd_IR.v6.0.11.0.G15001161330.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.081.L2.RetStd_IR.v6.0.11.0.G15001162050.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.082.L2.RetStd_IR.v6.0.11.0.G15001162126.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.083.L2.RetStd_IR.v6.0.11.0.G15001162127.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.084.L2.RetStd_IR.v6.0.11.0.G15001161314.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.085.L2.RetStd_IR.v6.0.11.0.G15001161203.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.086.L2.RetStd_IR.v6.0.11.0.G15001162413.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.087.L2.RetStd_IR.v6.0.11.0.G15001162629.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.088.L2.RetStd_IR.v6.0.11.0.G15001162549.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.089.L2.RetStd_IR.v6.0.11.0.G15001162651.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.090.L2.RetStd_IR.v6.0.11.0.G15001162543.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.091.L2.RetStd_IR.v6.0.11.0.G15001161835.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.092.L2.RetStd_IR.v6.0.11.0.G15001162614.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.093.L2.RetStd_IR.v6.0.11.0.G15001162343.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.094.L2.RetStd_IR.v6.0.11.0.G15001162459.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.095.L2.RetStd_IR.v6.0.11.0.G15001162051.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.096.L2.RetStd_IR.v6.0.11.0.G15001162935.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.097.L2.RetStd_IR.v6.0.11.0.G15001162309.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.098.L2.RetStd_IR.v6.0.11.0.G15001162341.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.099.L2.RetStd_IR.v6.0.11.0.G15002114912.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.100.L2.RetStd_IR.v6.0.11.0.G15002105152.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.101.L2.RetStd_IR.v6.0.11.0.G15002104255.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.102.L2.RetStd_IR.v6.0.11.0.G15002104550.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.103.L2.RetStd_IR.v6.0.11.0.G15002105611.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.104.L2.RetStd_IR.v6.0.11.0.G15002105410.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.105.L2.RetStd_IR.v6.0.11.0.G15002104610.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.106.L2.RetStd_IR.v6.0.11.0.G15002105220.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.107.L2.RetStd_IR.v6.0.11.0.G15002105231.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.108.L2.RetStd_IR.v6.0.11.0.G15002105515.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.109.L2.RetStd_IR.v6.0.11.0.G15002114710.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.110.L2.RetStd_IR.v6.0.11.0.G15002115324.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.111.L2.RetStd_IR.v6.0.11.0.G15002115907.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.112.L2.RetStd_IR.v6.0.11.0.G15002115706.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.113.L2.RetStd_IR.v6.0.11.0.G15002115556.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.114.L2.RetStd_IR.v6.0.11.0.G15002115858.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.115.L2.RetStd_IR.v6.0.11.0.G15002120011.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.116.L2.RetStd_IR.v6.0.11.0.G15002105441.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.117.L2.RetStd_IR.v6.0.11.0.G15002110109.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.118.L2.RetStd_IR.v6.0.11.0.G15002105852.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.119.L2.RetStd_IR.v6.0.11.0.G15002110600.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.120.L2.RetStd_IR.v6.0.11.0.G15002110501.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.121.L2.RetStd_IR.v6.0.11.0.G15002105542.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.122.L2.RetStd_IR.v6.0.11.0.G15002110458.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.123.L2.RetStd_IR.v6.0.11.0.G15002110543.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.124.L2.RetStd_IR.v6.0.11.0.G15002110615.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.125.L2.RetStd_IR.v6.0.11.0.G15002110349.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.126.L2.RetStd_IR.v6.0.11.0.G15002115301.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.127.L2.RetStd_IR.v6.0.11.0.G15002120040.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.128.L2.RetStd_IR.v6.0.11.0.G15002120238.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.129.L2.RetStd_IR.v6.0.11.0.G15002120005.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.130.L2.RetStd_IR.v6.0.11.0.G15002120016.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.131.L2.RetStd_IR.v6.0.11.0.G15002120103.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.132.L2.RetStd_IR.v6.0.11.0.G15002120220.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.133.L2.RetStd_IR.v6.0.11.0.G15002110236.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.134.L2.RetStd_IR.v6.0.11.0.G15002110423.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.135.L2.RetStd_IR.v6.0.11.0.G15002110949.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.136.L2.RetStd_IR.v6.0.11.0.G15002111218.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.137.L2.RetStd_IR.v6.0.11.0.G15002111332.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.138.L2.RetStd_IR.v6.0.11.0.G15002111109.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.139.L2.RetStd_IR.v6.0.11.0.G15002111040.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.140.L2.RetStd_IR.v6.0.11.0.G15002111233.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.141.L2.RetStd_IR.v6.0.11.0.G15002111107.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.142.L2.RetStd_IR.v6.0.11.0.G15002115753.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.143.L2.RetStd_IR.v6.0.11.0.G15002115906.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.144.L2.RetStd_IR.v6.0.11.0.G15002120300.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.145.L2.RetStd_IR.v6.0.11.0.G15002115429.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.146.L2.RetStd_IR.v6.0.11.0.G15002115359.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.147.L2.RetStd_IR.v6.0.11.0.G15002121009.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.148.L2.RetStd_IR.v6.0.11.0.G15002120243.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.149.L2.RetStd_IR.v6.0.11.0.G15002111104.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.150.L2.RetStd_IR.v6.0.11.0.G15002110415.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.151.L2.RetStd_IR.v6.0.11.0.G15002110924.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.152.L2.RetStd_IR.v6.0.11.0.G15002111152.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.153.L2.RetStd_IR.v6.0.11.0.G15002112133.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.154.L2.RetStd_IR.v6.0.11.0.G15002112231.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.155.L2.RetStd_IR.v6.0.11.0.G15002111130.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.156.L2.RetStd_IR.v6.0.11.0.G15002112116.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.157.L2.RetStd_IR.v6.0.11.0.G15002112328.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.158.L2.RetStd_IR.v6.0.11.0.G15002111705.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.159.L2.RetStd_IR.v6.0.11.0.G15002120640.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.160.L2.RetStd_IR.v6.0.11.0.G15002120855.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.161.L2.RetStd_IR.v6.0.11.0.G15002121010.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.162.L2.RetStd_IR.v6.0.11.0.G15002120211.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.163.L2.RetStd_IR.v6.0.11.0.G15002120936.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.164.L2.RetStd_IR.v6.0.11.0.G15002120840.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.165.L2.RetStd_IR.v6.0.11.0.G15002121126.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.166.L2.RetStd_IR.v6.0.11.0.G15002111557.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.167.L2.RetStd_IR.v6.0.11.0.G15002110800.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.168.L2.RetStd_IR.v6.0.11.0.G15002112142.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.169.L2.RetStd_IR.v6.0.11.0.G15002113003.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.170.L2.RetStd_IR.v6.0.11.0.G15002112915.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.171.L2.RetStd_IR.v6.0.11.0.G15002120326.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.172.L2.RetStd_IR.v6.0.11.0.G15002121142.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.173.L2.RetStd_IR.v6.0.11.0.G15002112118.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.174.L2.RetStd_IR.v6.0.11.0.G15002121844.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.175.L2.RetStd_IR.v6.0.11.0.G15002121805.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.176.L2.RetStd_IR.v6.0.11.0.G15002125833.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.177.L2.RetStd_IR.v6.0.11.0.G15002130357.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.178.L2.RetStd_IR.v6.0.11.0.G15002130857.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.179.L2.RetStd_IR.v6.0.11.0.G15002130247.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.180.L2.RetStd_IR.v6.0.11.0.G15002125953.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.181.L2.RetStd_IR.v6.0.11.0.G15002130101.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.182.L2.RetStd_IR.v6.0.11.0.G15002121331.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.183.L2.RetStd_IR.v6.0.11.0.G15002121114.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.184.L2.RetStd_IR.v6.0.11.0.G15002122254.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.185.L2.RetStd_IR.v6.0.11.0.G15002122522.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.186.L2.RetStd_IR.v6.0.11.0.G15002122513.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.187.L2.RetStd_IR.v6.0.11.0.G15002121621.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.188.L2.RetStd_IR.v6.0.11.0.G15002121708.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.189.L2.RetStd_IR.v6.0.11.0.G15002130015.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.190.L2.RetStd_IR.v6.0.11.0.G15002130829.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.191.L2.RetStd_IR.v6.0.11.0.G15002130608.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.192.L2.RetStd_IR.v6.0.11.0.G15002130236.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.193.L2.RetStd_IR.v6.0.11.0.G15002130513.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.194.L2.RetStd_IR.v6.0.11.0.G15002130424.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.195.L2.RetStd_IR.v6.0.11.0.G15002130610.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.196.L2.RetStd_IR.v6.0.11.0.G15002131235.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.197.L2.RetStd_IR.v6.0.11.0.G15002131203.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.198.L2.RetStd_IR.v6.0.11.0.G15002131251.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.199.L2.RetStd_IR.v6.0.11.0.G15002130219.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.200.L2.RetStd_IR.v6.0.11.0.G15002130826.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.201.L2.RetStd_IR.v6.0.11.0.G15002131246.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.202.L2.RetStd_IR.v6.0.11.0.G15002131340.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.203.L2.RetStd_IR.v6.0.11.0.G15002131321.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.204.L2.RetStd_IR.v6.0.11.0.G15002130923.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.205.L2.RetStd_IR.v6.0.11.0.G15002131031.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.206.L2.RetStd_IR.v6.0.11.0.G15002130742.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.207.L2.RetStd_IR.v6.0.11.0.G15002125940.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.208.L2.RetStd_IR.v6.0.11.0.G15002131036.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.209.L2.RetStd_IR.v6.0.11.0.G15002131302.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.210.L2.RetStd_IR.v6.0.11.0.G15002131406.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.211.L2.RetStd_IR.v6.0.11.0.G15002131056.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.212.L2.RetStd_IR.v6.0.11.0.G15002131934.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.213.L2.RetStd_IR.v6.0.11.0.G15002132104.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.214.L2.RetStd_IR.v6.0.11.0.G15002135805.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.215.L2.RetStd_IR.v6.0.11.0.G15002135608.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.216.L2.RetStd_IR.v6.0.11.0.G15002140045.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.217.L2.RetStd_IR.v6.0.11.0.G15002135803.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.218.L2.RetStd_IR.v6.0.11.0.G15002140704.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.219.L2.RetStd_IR.v6.0.11.0.G15002135319.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.220.L2.RetStd_IR.v6.0.11.0.G15002140611.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.221.L2.RetStd_IR.v6.0.11.0.G15002135907.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.222.L2.RetStd_IR.v6.0.11.0.G15002141019.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.223.L2.RetStd_IR.v6.0.11.0.G15002140425.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.224.L2.RetStd_IR.v6.0.11.0.G15002140057.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.225.L2.RetStd_IR.v6.0.11.0.G15002140356.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.226.L2.RetStd_IR.v6.0.11.0.G15002140509.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.227.L2.RetStd_IR.v6.0.11.0.G15002135626.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.228.L2.RetStd_IR.v6.0.11.0.G15002140444.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.229.L2.RetStd_IR.v6.0.11.0.G15002140509.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.230.L2.RetStd_IR.v6.0.11.0.G15002140723.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.231.L2.RetStd_IR.v6.0.11.0.G15002140928.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.232.L2.RetStd_IR.v6.0.11.0.G15002140326.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.233.L2.RetStd_IR.v6.0.11.0.G15002140608.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.234.L2.RetStd_IR.v6.0.11.0.G15002141022.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.235.L2.RetStd_IR.v6.0.11.0.G15002142102.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.236.L2.RetStd_IR.v6.0.11.0.G15002142056.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.237.L2.RetStd_IR.v6.0.11.0.G15002142838.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.238.L2.RetStd_IR.v6.0.11.0.G15002143740.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.239.L2.RetStd_IR.v6.0.11.0.G15002143808.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/001/AIRS.2015.01.01.240.L2.RetStd_IR.v6.0.11.0.G15002143506.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.001.L2.RetStd_IR.v6.0.11.0.G15002144502.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.002.L2.RetStd_IR.v6.0.11.0.G15002143656.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.003.L2.RetStd_IR.v6.0.11.0.G15002145440.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.004.L2.RetStd_IR.v6.0.11.0.G15002145435.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.005.L2.RetStd_IR.v6.0.11.0.G15002144541.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.006.L2.RetStd_IR.v6.0.11.0.G15002145629.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.007.L2.RetStd_IR.v6.0.11.0.G15002150004.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.008.L2.RetStd_IR.v6.0.11.0.G15002145610.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.009.L2.RetStd_IR.v6.0.11.0.G15002145547.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.010.L2.RetStd_IR.v6.0.11.0.G15002145845.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.011.L2.RetStd_IR.v6.0.11.0.G15002150142.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.012.L2.RetStd_IR.v6.0.11.0.G15002145344.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.013.L2.RetStd_IR.v6.0.11.0.G15002150302.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.014.L2.RetStd_IR.v6.0.11.0.G15002150452.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.015.L2.RetStd_IR.v6.0.11.0.G15002150443.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.016.L2.RetStd_IR.v6.0.11.0.G15002145601.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.017.L2.RetStd_IR.v6.0.11.0.G15002145317.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.018.L2.RetStd_IR.v6.0.11.0.G15002150302.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.019.L2.RetStd_IR.v6.0.11.0.G15002150402.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.020.L2.RetStd_IR.v6.0.11.0.G15002150059.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.021.L2.RetStd_IR.v6.0.11.0.G15002145511.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.022.L2.RetStd_IR.v6.0.11.0.G15002150630.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.023.L2.RetStd_IR.v6.0.11.0.G15002150640.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.024.L2.RetStd_IR.v6.0.11.0.G15002145829.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.025.L2.RetStd_IR.v6.0.11.0.G15002150528.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.026.L2.RetStd_IR.v6.0.11.0.G15002150855.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.027.L2.RetStd_IR.v6.0.11.0.G15002151315.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.028.L2.RetStd_IR.v6.0.11.0.G15002151410.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.029.L2.RetStd_IR.v6.0.11.0.G15002151414.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.030.L2.RetStd_IR.v6.0.11.0.G15002151545.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.031.L2.RetStd_IR.v6.0.11.0.G15002151559.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.032.L2.RetStd_IR.v6.0.11.0.G15002150753.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.033.L2.RetStd_IR.v6.0.11.0.G15002151150.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.034.L2.RetStd_IR.v6.0.11.0.G15002151433.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.035.L2.RetStd_IR.v6.0.11.0.G15002150908.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.036.L2.RetStd_IR.v6.0.11.0.G15002151854.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.037.L2.RetStd_IR.v6.0.11.0.G15002152151.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.038.L2.RetStd_IR.v6.0.11.0.G15002152007.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.039.L2.RetStd_IR.v6.0.11.0.G15002151415.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.040.L2.RetStd_IR.v6.0.11.0.G15002152405.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.041.L2.RetStd_IR.v6.0.11.0.G15002152409.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.042.L2.RetStd_IR.v6.0.11.0.G15002151441.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.043.L2.RetStd_IR.v6.0.11.0.G15002152533.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.044.L2.RetStd_IR.v6.0.11.0.G15002152820.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.045.L2.RetStd_IR.v6.0.11.0.G15002152811.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.046.L2.RetStd_IR.v6.0.11.0.G15002152804.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.047.L2.RetStd_IR.v6.0.11.0.G15002152003.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.048.L2.RetStd_IR.v6.0.11.0.G15002152847.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.049.L2.RetStd_IR.v6.0.11.0.G15002152545.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.050.L2.RetStd_IR.v6.0.11.0.G15002152458.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.051.L2.RetStd_IR.v6.0.11.0.G15002152645.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.052.L2.RetStd_IR.v6.0.11.0.G15002152147.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.053.L2.RetStd_IR.v6.0.11.0.G15002153103.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.054.L2.RetStd_IR.v6.0.11.0.G15002153052.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.055.L2.RetStd_IR.v6.0.11.0.G15002152229.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.056.L2.RetStd_IR.v6.0.11.0.G15002152936.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.057.L2.RetStd_IR.v6.0.11.0.G15002152349.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.058.L2.RetStd_IR.v6.0.11.0.G15002152936.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.059.L2.RetStd_IR.v6.0.11.0.G15002152756.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.060.L2.RetStd_IR.v6.0.11.0.G15002152512.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.061.L2.RetStd_IR.v6.0.11.0.G15002152628.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.062.L2.RetStd_IR.v6.0.11.0.G15002153425.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.063.L2.RetStd_IR.v6.0.11.0.G15002153525.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.064.L2.RetStd_IR.v6.0.11.0.G15002153234.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.065.L2.RetStd_IR.v6.0.11.0.G15002153231.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.066.L2.RetStd_IR.v6.0.11.0.G15002153250.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.067.L2.RetStd_IR.v6.0.11.0.G15002153406.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.068.L2.RetStd_IR.v6.0.11.0.G15002153454.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.069.L2.RetStd_IR.v6.0.11.0.G15002153555.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.070.L2.RetStd_IR.v6.0.11.0.G15002153729.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.071.L2.RetStd_IR.v6.0.11.0.G15002153658.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.072.L2.RetStd_IR.v6.0.11.0.G15002153044.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.073.L2.RetStd_IR.v6.0.11.0.G15002154018.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.074.L2.RetStd_IR.v6.0.11.0.G15002153915.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.075.L2.RetStd_IR.v6.0.11.0.G15002153643.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.076.L2.RetStd_IR.v6.0.11.0.G15002153803.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.077.L2.RetStd_IR.v6.0.11.0.G15002153427.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.078.L2.RetStd_IR.v6.0.11.0.G15002153431.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.079.L2.RetStd_IR.v6.0.11.0.G15002154245.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.080.L2.RetStd_IR.v6.0.11.0.G15002154405.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.081.L2.RetStd_IR.v6.0.11.0.G15002154211.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.082.L2.RetStd_IR.v6.0.11.0.G15002154158.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.083.L2.RetStd_IR.v6.0.11.0.G15002154251.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.084.L2.RetStd_IR.v6.0.11.0.G15002154153.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.085.L2.RetStd_IR.v6.0.11.0.G15002154328.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.086.L2.RetStd_IR.v6.0.11.0.G15002154358.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.087.L2.RetStd_IR.v6.0.11.0.G15002154600.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.088.L2.RetStd_IR.v6.0.11.0.G15002154600.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.089.L2.RetStd_IR.v6.0.11.0.G15002154618.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.090.L2.RetStd_IR.v6.0.11.0.G15002153918.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.091.L2.RetStd_IR.v6.0.11.0.G15002154551.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.092.L2.RetStd_IR.v6.0.11.0.G15002153637.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.093.L2.RetStd_IR.v6.0.11.0.G15002154916.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.094.L2.RetStd_IR.v6.0.11.0.G15002154249.hdf\", \" + ftp://ac15.gesdisc.eosdis.nasa.gov/ftp/data/s4pa/.X9mnTjTGY0BkHTnS/Aqua_AIRS_Level2/AIRS2RET.006/2015/002/AIRS.2015.01.02.095.L2.RetStd_IR.v6.0.11.0.G15002155306.hdf\") + END_OBJECT = INPUTPOINTER + + END_GROUP = INPUTGRANULE + + GROUP = SPATIALDOMAINCONTAINER + + GROUP = HORIZONTALSPATIALDOMAINCONTAINER + + GROUP = BOUNDINGRECTANGLE + + OBJECT = EASTBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = 180.0 + END_OBJECT = EASTBOUNDINGCOORDINATE + + OBJECT = WESTBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = -180.0 + END_OBJECT = WESTBOUNDINGCOORDINATE + + OBJECT = SOUTHBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = -90.0 + END_OBJECT = SOUTHBOUNDINGCOORDINATE + + OBJECT = NORTHBOUNDINGCOORDINATE + NUM_VAL = 1 + VALUE = 90.0 + END_OBJECT = NORTHBOUNDINGCOORDINATE + + END_GROUP = BOUNDINGRECTANGLE + + END_GROUP = HORIZONTALSPATIALDOMAINCONTAINER + + GROUP = GRANULELOCALITY + + OBJECT = LOCALITYVALUE + NUM_VAL = 1 + VALUE = \"Global\" + END_OBJECT = LOCALITYVALUE + + END_GROUP = GRANULELOCALITY + + END_GROUP = SPATIALDOMAINCONTAINER + + GROUP = RANGEDATETIME + + OBJECT = RANGEENDINGDATE + NUM_VAL = 1 + VALUE = \"2015-01-02\" + END_OBJECT = RANGEENDINGDATE + + OBJECT = RANGEENDINGTIME + NUM_VAL = 1 + VALUE = \"00:00:00.000000Z\" + END_OBJECT = RANGEENDINGTIME + + OBJECT = RANGEBEGINNINGDATE + NUM_VAL = 1 + VALUE = \"2015-01-01\" + END_OBJECT = RANGEBEGINNINGDATE + + OBJECT = RANGEBEGINNINGTIME + NUM_VAL = 1 + VALUE = \"00:00:00.000000Z\" + END_OBJECT = RANGEBEGINNINGTIME + + END_GROUP = RANGEDATETIME + + GROUP = PGEVERSIONCLASS + + OBJECT = PGEVERSION + NUM_VAL = 1 + VALUE = \"6.0.11.0\" + END_OBJECT = PGEVERSION + + END_GROUP = PGEVERSIONCLASS + + GROUP = ASSOCIATEDPLATFORMINSTRUMENTSENSOR + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"1\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"HSB Channel 1\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"2\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"HSB Channel 2\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"3\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"HSB Channel 3\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"4\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"HSB Channel 4\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"5\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"HSB Channel 5\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"HSB\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"6\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 3\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"7\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 4\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"8\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 5\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"9\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 6\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"10\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 7\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CL + + + ASS = \"11\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 8\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"12\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 9\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"13\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 10\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"14\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 11\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"15\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 12\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"16\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 13\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"16\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"17\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 14\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"17\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"18\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"18\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 15\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"18\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"18\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"18\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"19\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"19\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 1\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"19\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"19\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"19\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"20\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"20\" + NUM_VAL = 1 + VALUE = \"AMSU-A Channel 2\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"20\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"20\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"20\" + NUM_VAL = 1 + VALUE = \"AMSU-A\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"21\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"21\" + NUM_VAL = 1 + VALUE = \"M1a Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"21\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"21\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"21\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"22\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"22\" + NUM_VAL = 1 + VALUE = \"M1b Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"22\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"22\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"22\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"23\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"23\" + NUM_VAL = 1 + VALUE = \"M2a Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"23\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"23\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"23\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"24\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"24\" + NUM_VAL = 1 + VALUE = \"M2b Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"24\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"24\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"24\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"25\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"25\" + NUM_VAL = 1 + VALUE = \"M3 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"25\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"25\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"25\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"26\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"26\" + NUM_VAL = 1 + VALUE = \"M4a Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"26\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"26\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"26\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"27\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"27\" + NUM_VAL = 1 + VALUE = \"M4b Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"27\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"27\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"27\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"28\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"28\" + NUM_VAL = 1 + VALUE = \"M4c Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"28\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"28\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"28\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"29\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"29\" + NUM_VAL = 1 + VALUE = \"M4d Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"29\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"29\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"29\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"30\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"30\" + NUM_VAL = 1 + VALUE = \"M5 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"30\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"30\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"30\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"31\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"31\" + NUM_VAL = 1 + VALUE = \"M6 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"31\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"31\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"31\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"32\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"32\" + NUM_VAL = 1 + VALUE = \"M7 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"32\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"32\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"32\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"33\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"33\" + NUM_VAL = 1 + VALUE = \"M8 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"33\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"33\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"33\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"34\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"34\" + NUM_VAL = 1 + VALUE = \"M9 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"34\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"34\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"34\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"35\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"35\" + NUM_VAL = 1 + VALUE = \"M10 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"35\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"35\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"35\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"36\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"36\" + NUM_VAL = 1 + VALUE = \"M11 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"36\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"36\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"36\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"37\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"37\" + NUM_VAL = 1 + VALUE = \"M12 Detector Array\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"37\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"37\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"37\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"38\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"38\" + NUM_VAL = 1 + VALUE = \"VNIR Channel 1\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"38\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"38\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"38\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"39\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"39\" + NUM_VAL = 1 + VALUE = \"VNIR Channel 2\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"39\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"39\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"39\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"40\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"40\" + NUM_VAL = 1 + VALUE = \"VNIR Channel 3\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"40\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"40\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"40\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + CLASS = \"41\" + + OBJECT = ASSOCIATEDSENSORSHORTNAME + CLASS = \"41\" + NUM_VAL = 1 + VALUE = \"VNIR Channel 4\" + END_OBJECT = ASSOCIATEDSENSORSHORTNAME + + OBJECT = ASSOCIATEDPLATFORMSHORTNAME + CLASS = \"41\" + NUM_VAL = 1 + VALUE = \"Aqua\" + END_OBJECT = ASSOCIATEDPLATFORMSHORTNAME + + OBJECT = OPERATIONMODE + CLASS = \"41\" + NUM_VAL = 1 + VALUE = \"Normal\" + END_OBJECT = OPERATIONMODE + + OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + CLASS = \"41\" + NUM_VAL = 1 + VALUE = \"AIRS\" + END_OBJECT = ASSOCIATEDINSTRUMENTSHORTNAME + + END_OBJECT = ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER + + END_GROUP = ASSOCIATEDPLATFORMINSTRUMENTSENSOR + + GROUP = ADDITIONALATTRIBUTES + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"1\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"1\" + NUM_VAL = 1 + VALUE = \"NumBadData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"1\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"1\" + VALUE = \"4094\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"2\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"2\" + NUM_VAL = 1 + VALUE = \"NumSpecialData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"2\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"2\" + VALUE = \"0\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"3\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"3\" + NUM_VAL = 1 + VALUE = \"NumProcessData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"3\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"3\" + VALUE = \"1394500\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"4\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"4\" + NUM_VAL = 1 + VALUE = \"NumMissingData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"4\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"4\" + VALUE = \"6\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"5\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"5\" + NUM_VAL = 1 + VALUE = \"NumTotalData\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"5\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"5\" + VALUE = \"1398600\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"6\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"6\" + NUM_VAL = 1 + VALUE = \"NumFpe\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"6\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"6\" + VALUE = \"0\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"7\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"7\" + NUM_VAL = 1 + VALUE = \"ProductGenerationFacility\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"7\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"7\" + VALUE = \"G\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"8\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"8\" + NUM_VAL = 1 + VALUE = \"InputGranuleCount\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"8\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"8\" + VALUE = \"518\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"9\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"9\" + NUM_VAL = 1 + VALUE = \"NumDaysPlanned\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"9\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"9\" + VALUE = \"1\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"10\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"10\" + NUM_VAL = 1 + VALUE = \"NumDaysInCycle\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"10\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"10\" + VALUE = \"1\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"11\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"11\" + NUM_VAL = 1 + VALUE = \"StartDayInAquaRepeat\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"11\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"11\" + VALUE = \"1\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"12\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"12\" + NUM_VAL = 1 + VALUE = \"AIRSRunTag\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"12\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"12\" + VALUE = \"15013155825\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"13\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"13\" + NUM_VAL = 1 + VALUE = \"ProductGenerationHostInformation\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"13\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"13\" + VALUE = \"ac13.gesdisc.eosdis.nasa.gov Linux 2.6.32-504.1.3.el6.x86_64 #1_SMP_Tue_Nov_11_17:57:25_UTC_2014 x86_64\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"14\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"14\" + NUM_VAL = 1 + VALUE = \"identifier_product_doi\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"14\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"14\" + VALUE = \"10.5067/AQUA/AIRS/DATA303\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + OBJECT = ADDITIONALATTRIBUTESCONTAINER + CLASS = \"15\" + + OBJECT = ADDITIONALATTRIBUTENAME + CLASS = \"15\" + NUM_VAL = 1 + VALUE = \"identifier_product_doi_authority\" + END_OBJECT = ADDITIONALATTRIBUTENAME + + GROUP = INFORMATIONCONTENT + CLASS = \"15\" + + OBJECT = PARAMETERVALUE + NUM_VAL = 1 + CLASS = \"15\" + VALUE = \"http://dx.doi.org/\" + END_OBJECT = PARAMETERVALUE + + END_GROUP = INFORMATIONCONTENT + + END_OBJECT = ADDITIONALATTRIBUTESCONTAINER + + END_GROUP = ADDITIONALATTRIBUTES + +END_GROUP = INVENTORYMETADATA + +END + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,231 @@ +Attributes { + lat { + String long_name "latitude"; + String units "degrees_north"; + Float64 _FillValue 9.999999616903162e+35; + } + lon { + String long_name "longitude"; + String units "degrees_east"; + Float64 _FillValue 9.999999616903162e+35; + } + lev { + String long_name "hybrid level at midpoints (1000*(A+B))"; + String units "level"; + String positive "down"; + String standard_name "atmosphere_hybrid_sigma_pressure_coordinate"; + String formula_terms "a: hyam b: hybm p0: P0 ps: PS"; + Float64 _FillValue 9.999999616903162e+35; + } + ilev { + String long_name "hybrid level at interfaces (1000*(A+B))"; + String units "level"; + String positive "down"; + String standard_name "atmosphere_hybrid_sigma_pressure_coordinate"; + String formula_terms "a: hyai b: hybi p0: P0 ps: PS"; + Float64 _FillValue 9.999999616903162e+35; + } + time { + String long_name "time"; + String units "days since 0000-08-29 00:00:00"; + String calendar "noleap"; + Float64 _FillValue 9.999999616903162e+35; + } + hyai { + String long_name "hybrid A coefficient at layer interfaces"; + Float64 _FillValue 9.999999616903162e+35; + } + hybi { + String long_name "hybrid B coefficient at layer interfaces"; + Float64 _FillValue 9.999999616903162e+35; + } + hyam { + String long_name "hybrid A coefficient at layer midpoints"; + Float64 _FillValue 9.999999616903162e+35; + } + hybm { + String long_name "hybrid B coefficient at layer midpoints"; + Float64 _FillValue 9.999999616903162e+35; + } + gw { + String long_name "gauss weights"; + Float64 _FillValue 9.999999616903162e+35; + } + P0 { + String long_name "reference pressure"; + String units "Pa"; + } + date_written { + Int32 string_length 8; + } + time_written { + Int32 string_length 8; + } + ntrm { + String long_name "spectral truncation parameter M"; + } + ntrn { + String long_name "spectral truncation parameter N"; + } + ntrk { + String long_name "spectral truncation parameter K"; + } + ndbase { + String long_name "base day"; + } + nsbase { + String long_name "seconds of base day"; + } + nbdate { + String long_name "base date (YYYYMMDD)"; + } + nbsec { + String long_name "seconds of base date"; + } + mdt { + String long_name "timestep"; + String units "s"; + } + ndcur { + String long_name "current day (from base day)"; + } + nscur { + String long_name "current seconds of current day"; + } + date { + String long_name "current date (YYYYMMDD)"; + } + datesec { + String long_name "current seconds of current date"; + } + nsteph { + String long_name "current timestep"; + } + U { + String long_name "Zonal wind"; + String units "m/s"; + } + V { + String long_name "Meridional wind"; + String units "m/s"; + } + T { + String long_name "Temperature"; + String units "K"; + } + Q { + String long_name "Specific humidity"; + String units "kg/kg"; + } + PS { + String long_name "Surface pressure"; + String units "Pa"; + } + PHIS { + String long_name "surface geopotential"; + String units "M2/S2"; + Float64 _FillValue 1.000000000000000e+36; + String from_hires "true"; + } + SGH { + String long_name "orography standard deviation"; + String units "M"; + Float64 _FillValue 1.000000000000000e+36; + String from_hires "true"; + } + LANDM { + String long_name "land ocean transition mask: ocean (0), continent (1), transition (0-1)"; + String units "none"; + Float64 _FillValue 1.000000000000000e+36; + String from_hires "true"; + } + PBLH { + String long_name "PBL height"; + String units "m"; + } + TPERT { + String long_name "Perturbation temperature (eddies in PBL)"; + String units "K"; + } + QPERT { + String long_name "Perturbation specific humidity (eddies in PBL)"; + String units "kg/kg"; + } + CLOUD { + String long_name "Cloud fraction"; + String units "fraction"; + } + TS { + String long_name "Surface temperature"; + String units "K"; + } + TSICE { + String long_name "Ice temperature"; + String units "K"; + } + TS1 { + String long_name "TS1 subsoil temperature"; + String units "K"; + } + TS2 { + String long_name "TS2 subsoil temperature"; + String units "K"; + } + TS3 { + String long_name "TS3 subsoil temperature"; + String units "K"; + } + TS4 { + String long_name "TS4 subsoil temperature"; + String units "K"; + } + SNOWHICE { + String long_name "Water equivalent snow depth"; + String units "m"; + } + LANDFRAC { + String long_name "gridbox land fraction"; + String units "FRAC"; + Float64 _FillValue 1.000000000000000e+36; + String from_hires "true"; + } + TBOT { + String long_name "Lowest model level temperature"; + String units "K"; + } + ICEFRAC { + String long_name "Fraction of sfc area covered by sea-ice"; + String units "fraction"; + } + SICTHK { + String long_name "Sea ice thickness"; + String units "m"; + } + CLDLIQ { + String long_name "Grid box averaged liquid condensate amount"; + String units "kg/kg"; + } + CLDICE { + String long_name "Grid box averaged ice condensate amount"; + String units "kg/kg"; + } + LANDM_COSLAT { + String long_name "land ocean transition mask: ocean (0), continent (1), transition (0-1)"; + String units "none"; + Float64 _FillValue 1.000000000000000e+36; + String from_hires "true"; + } + NC_GLOBAL { + String Conventions "CF-1.0"; + String logname "olson"; + String host "bb0001en"; + String source "Interpolated from:/fs/cgd/data0/olson/inputIC/newICeul.cam2.i.0000-09-01-00000.nc::CAM"; + String case "cam2run"; + String title "Interpolated from:/fs/cgd/data0/olson/inputIC/newICeul.cam2.i.0000-09-01-00000.nc::atm ver atm, eul ver v013, case newICeul"; + String history "\01205/07/03 12:15:34 olson:chinookfe:interpic -t SEP1.T42L26.gaussian.template.nc /fs/cgd/data0/olson/inputIC/newICeul.cam2.i.0000-09-01-00000.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam1/hrtopo/topo.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam2/hrtopo/topo.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam2/hrtopo/topo-usgs-10min.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam2/hrtopo/topo10min.merged_c030506.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam2/hrtopo/topo10min.merged_c030506.nc -l cami_0000-09-01_64x128_L26_c030624.nc.new"; + String make_ross "true"; + } + DODS_EXTRA { + String Unlimited_Dimension "time"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,336 @@ +Dataset { + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + Float64 lev[lev = 26]; + Float64 ilev[ilev = 27]; + Float64 time[time = 1]; + Grid { + Array: + Float64 hyai[ilev = 27]; + Maps: + Float64 ilev[ilev = 27]; + } hyai; + Grid { + Array: + Float64 hybi[ilev = 27]; + Maps: + Float64 ilev[ilev = 27]; + } hybi; + Grid { + Array: + Float64 hyam[lev = 26]; + Maps: + Float64 lev[lev = 26]; + } hyam; + Grid { + Array: + Float64 hybm[lev = 26]; + Maps: + Float64 lev[lev = 26]; + } hybm; + Grid { + Array: + Float64 gw[lat = 64]; + Maps: + Float64 lat[lat = 64]; + } gw; + Float64 P0; + String date_written[time = 1]; + String time_written[time = 1]; + Int32 ntrm; + Int32 ntrn; + Int32 ntrk; + Int32 ndbase; + Int32 nsbase; + Int32 nbdate; + Int32 nbsec; + Int32 mdt; + Grid { + Array: + Int32 ndcur[time = 1]; + Maps: + Float64 time[time = 1]; + } ndcur; + Grid { + Array: + Int32 nscur[time = 1]; + Maps: + Float64 time[time = 1]; + } nscur; + Grid { + Array: + Int32 date[time = 1]; + Maps: + Float64 time[time = 1]; + } date; + Grid { + Array: + Int32 datesec[time = 1]; + Maps: + Float64 time[time = 1]; + } datesec; + Grid { + Array: + Int32 nsteph[time = 1]; + Maps: + Float64 time[time = 1]; + } nsteph; + Grid { + Array: + Float64 U[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } U; + Grid { + Array: + Float64 V[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } V; + Grid { + Array: + Float64 T[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } T; + Grid { + Array: + Float64 Q[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } Q; + Grid { + Array: + Float64 PS[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } PS; + Grid { + Array: + Float64 PHIS[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } PHIS; + Grid { + Array: + Float64 SGH[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } SGH; + Grid { + Array: + Float64 LANDM[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } LANDM; + Grid { + Array: + Float64 PBLH[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } PBLH; + Grid { + Array: + Float64 TPERT[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TPERT; + Grid { + Array: + Float64 QPERT[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } QPERT; + Grid { + Array: + Float64 CLOUD[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } CLOUD; + Grid { + Array: + Float64 QCWAT[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } QCWAT; + Grid { + Array: + Float64 TCWAT[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } TCWAT; + Grid { + Array: + Float64 LCWAT[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } LCWAT; + Grid { + Array: + Float64 TSICERAD[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TSICERAD; + Grid { + Array: + Float64 TS[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TS; + Grid { + Array: + Float64 TSICE[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TSICE; + Grid { + Array: + Float64 TS1[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TS1; + Grid { + Array: + Float64 TS2[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TS2; + Grid { + Array: + Float64 TS3[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TS3; + Grid { + Array: + Float64 TS4[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TS4; + Grid { + Array: + Float64 SNOWHICE[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } SNOWHICE; + Grid { + Array: + Float64 LANDFRAC[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } LANDFRAC; + Grid { + Array: + Float64 TBOT[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TBOT; + Grid { + Array: + Float64 ICEFRAC[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } ICEFRAC; + Grid { + Array: + Float64 SICTHK[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } SICTHK; + Grid { + Array: + Float64 TSOCN[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } TSOCN; + Grid { + Array: + Float64 CLDLIQ[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } CLDLIQ; + Grid { + Array: + Float64 CLDICE[time = 1][lat = 64][lev = 26][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lev[lev = 26]; + Float64 lon[lon = 128]; + } CLDICE; + Grid { + Array: + Float64 LANDM_COSLAT[time = 1][lat = 64][lon = 128]; + Maps: + Float64 time[time = 1]; + Float64 lat[lat = 64]; + Float64 lon[lon = 128]; + } LANDM_COSLAT; +} cami_0000-09-01_64x128_L26_c030918.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/cami_0000-09-01_64x128_L26_c030918.nc.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,722 @@ + + + + + + + + + + + latitude + + + degrees_north + + + 9.999999616903162e+35 + + + + + + longitude + + + degrees_east + + + 9.999999616903162e+35 + + + + + + hybrid level at midpoints (1000*(A+B)) + + + level + + + down + + + atmosphere_hybrid_sigma_pressure_coordinate + + + a: hyam b: hybm p0: P0 ps: PS + + + 9.999999616903162e+35 + + + + + + hybrid level at interfaces (1000*(A+B)) + + + level + + + down + + + atmosphere_hybrid_sigma_pressure_coordinate + + + a: hyai b: hybi p0: P0 ps: PS + + + 9.999999616903162e+35 + + + + + + time + + + days since 0000-08-29 00:00:00 + + + noleap + + + 9.999999616903162e+35 + + + + + + hybrid A coefficient at layer interfaces + + + 9.999999616903162e+35 + + + + + + + hybrid B coefficient at layer interfaces + + + 9.999999616903162e+35 + + + + + + + hybrid A coefficient at layer midpoints + + + 9.999999616903162e+35 + + + + + + + hybrid B coefficient at layer midpoints + + + 9.999999616903162e+35 + + + + + + + gauss weights + + + 9.999999616903162e+35 + + + + + + reference pressure + + + Pa + + + + + + 8 + + + + + + 8 + + + + + spectral truncation parameter M + + + + + spectral truncation parameter N + + + + + spectral truncation parameter K + + + + + base day + + + + + seconds of base day + + + + + base date (YYYYMMDD) + + + + + seconds of base date + + + + + timestep + + + s + + + + + + current day (from base day) + + + + + + + current seconds of current day + + + + + + + current date (YYYYMMDD) + + + + + + + current seconds of current date + + + + + + + current timestep + + + + + + + + + + Zonal wind + + + m/s + + + + + + + + + + + + + Meridional wind + + + m/s + + + + + + + + + + + + + Temperature + + + K + + + + + + + + + + + + + Specific humidity + + + kg/kg + + + + + + + + + + + + Surface pressure + + + Pa + + + + + + + + + + + surface geopotential + + + M2/S2 + + + 1.000000000000000e+36 + + + true + + + + + + + + + + + orography standard deviation + + + M + + + 1.000000000000000e+36 + + + true + + + + + + + + + + + land ocean transition mask: ocean (0), continent (1), transition (0-1) + + + none + + + 1.000000000000000e+36 + + + true + + + + + + + + + + + PBL height + + + m + + + + + + + + + + + Perturbation temperature (eddies in PBL) + + + K + + + + + + + + + + + Perturbation specific humidity (eddies in PBL) + + + kg/kg + + + + + + + + + + + + Cloud fraction + + + fraction + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Surface temperature + + + K + + + + + + + + + + + Ice temperature + + + K + + + + + + + + + + + TS1 subsoil temperature + + + K + + + + + + + + + + + TS2 subsoil temperature + + + K + + + + + + + + + + + TS3 subsoil temperature + + + K + + + + + + + + + + + TS4 subsoil temperature + + + K + + + + + + + + + + + Water equivalent snow depth + + + m + + + + + + + + + + + gridbox land fraction + + + FRAC + + + 1.000000000000000e+36 + + + true + + + + + + + + + + + Lowest model level temperature + + + K + + + + + + + + + + + Fraction of sfc area covered by sea-ice + + + fraction + + + + + + + + + + + Sea ice thickness + + + m + + + + + + + + + + + + + + + + + + + + Grid box averaged liquid condensate amount + + + kg/kg + + + + + + + + + + + + + Grid box averaged ice condensate amount + + + kg/kg + + + + + + + + + + + + land ocean transition mask: ocean (0), continent (1), transition (0-1) + + + none + + + 1.000000000000000e+36 + + + true + + + + + + + + CF-1.0 + + + olson + + + bb0001en + + + Interpolated from:/fs/cgd/data0/olson/inputIC/newICeul.cam2.i.0000-09-01-00000.nc::CAM + + + cam2run + + + Interpolated from:/fs/cgd/data0/olson/inputIC/newICeul.cam2.i.0000-09-01-00000.nc::atm ver atm, eul ver v013, case newICeul + + + \01205/07/03 12:15:34 olson:chinookfe:interpic -t SEP1.T42L26.gaussian.template.nc /fs/cgd/data0/olson/inputIC/newICeul.cam2.i.0000-09-01-00000.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam1/hrtopo/topo.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam2/hrtopo/topo.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam2/hrtopo/topo-usgs-10min.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam2/hrtopo/topo10min.merged_c030506.nc cami_0000-09-01_64x128_L26_c030507.nc\012definesurf -t /fs/cgd/csm/inputdata/atm/cam2/hrtopo/topo10min.merged_c030506.nc -l cami_0000-09-01_64x128_L26_c030624.nc.new + + + true + + + + + time + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,50 @@ +Attributes { + COADSX { + String units "degrees_east"; + String modulo " "; + String point_spacing "even"; + } + COADSY { + String units "degrees_north"; + String point_spacing "even"; + } + TIME { + String units "hour since 0000-01-01 00:00:00"; + String time_origin "1-JAN-0000 00:00:00"; + String modulo " "; + } + SST { + Float32 missing_value -9.99999979e+33; + Float32 _FillValue -9.99999979e+33; + String long_name "SEA SURFACE TEMPERATURE"; + String history "From coads_climatology"; + String units "Deg C"; + } + AIRT { + Float32 missing_value -9.99999979e+33; + Float32 _FillValue -9.99999979e+33; + String long_name "AIR TEMPERATURE"; + String history "From coads_climatology"; + String units "DEG C"; + } + UWND { + Float32 missing_value -9.99999979e+33; + Float32 _FillValue -9.99999979e+33; + String long_name "ZONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + VWND { + Float32 missing_value -9.99999979e+33; + Float32 _FillValue -9.99999979e+33; + String long_name "MERIDIONAL WIND"; + String history "From coads_climatology"; + String units "M/S"; + } + NC_GLOBAL { + String history "FERRET V4.30 (debug/no GUI) 15-Aug-96"; + } + DODS_EXTRA { + String Unlimited_Dimension "TIME"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,37 @@ +Dataset { + Float64 COADSX[COADSX = 180]; + Float64 COADSY[COADSY = 90]; + Float64 TIME[TIME = 12]; + Grid { + Array: + Float32 SST[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } SST; + Grid { + Array: + Float32 AIRT[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } AIRT; + Grid { + Array: + Float32 UWND[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } UWND; + Grid { + Array: + Float32 VWND[TIME = 12][COADSY = 90][COADSX = 180]; + Maps: + Float64 TIME[TIME = 12]; + Float64 COADSY[COADSY = 90]; + Float64 COADSX[COADSX = 180]; + } VWND; +} coads_climatology.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/coads_climatology.nc.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,141 @@ + + + + + + + + + degrees_east + + + + + + even + + + + + + degrees_north + + + even + + + + + + hour since 0000-01-01 00:00:00 + + + 1-JAN-0000 00:00:00 + + + + + + + + + + + -9.99999979e+33 + + + -9.99999979e+33 + + + SEA SURFACE TEMPERATURE + + + From coads_climatology + + + Deg C + + + + + + + + + + + -9.99999979e+33 + + + -9.99999979e+33 + + + AIR TEMPERATURE + + + From coads_climatology + + + DEG C + + + + + + + + + + + -9.99999979e+33 + + + -9.99999979e+33 + + + ZONAL WIND + + + From coads_climatology + + + M/S + + + + + + + + + + + -9.99999979e+33 + + + -9.99999979e+33 + + + MERIDIONAL WIND + + + From coads_climatology + + + M/S + + + + + + + + FERRET V4.30 (debug/no GUI) 15-Aug-96 + + + + + TIME + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,5 @@ +Attributes { + DAP4_GLOBAL { + Int16 test 1, 2, 3; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Dataset { +} DMR_0.0; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,8 @@ + + + + 1 + 2 + 3 + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,11 @@ +Attributes { + DAP4_switches { + String public_key "some_large_hex_value"; + String colors "red", "green", "blue"; + Float32 temp 98.6; + OtherXML xmltest " barf "; + } + DAP4_GLOBAL { + Int16 test 1, 2, 3; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Dataset { +} DMR_0.1; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_0.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ + + + + 1 + 2 + 3 + + + + some_large_hex_value + + + red + green + blue + + + 98.6 + + barf + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Attributes { +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Dataset { +} DMR_1.0; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_1.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,4 @@ + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Attributes { +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,3 @@ +Dataset { + Byte b1[dim1 = 5]; +} DMR_2.0; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,7 @@ + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,12 @@ +Attributes { + dap4:dropped_members { + h { + UInt32 array_dimensions 5; + String dap4:type "Int64"; + } + i { + UInt32 array_dimensions 5; + String dap4:type "UInt64"; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,12 @@ +Dataset { + Byte a[dim1 = 5]; + Char a1[dim1 = 5]; + Int8 b[dim1 = 5]; + UInt8 c[dim1 = 5][dim2 = 3]; + Int16 d[dim1 = 5]; + UInt16 e[10]; + Int32 f[dim1 = 5]; + UInt32 g[dim1 = 5]; + Float32 j[dim1 = 5]; + Float64 k[dim1 = 5]; +} DMR_2.1; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Attributes { +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,4 @@ +Dataset { + String a[dim1 = 5]; + URL b[dim1 = 5]; +} DMR_2.2; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.2.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,12 @@ +Attributes { + dap4:dropped_members { + e { + UInt32 array_dimensions 5; + String dap4:type "Int64"; + } + f { + UInt32 array_dimensions 5; + String dap4:type "UInt64"; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,6 @@ +Dataset { + String a[dim1 = 5]; + URL b[dim1 = 5]; + Int8 c[dim1 = 5]; + UInt8 d[dim1 = 5]; +} DMR_2.3; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.3.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Attributes { +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ +Dataset { + Structure { + Int32 i; + Int32 j; + } s[dim1 = 5]; + Structure { + Int32 i; + String a[3]; + } t[dim1 = 5]; + Structure { + Int32 i; + String a[3]; + } u[dim1 = 5][dim2 = 3]; + Structure { + Int32 i; + String a[3]; + Structure { + Int32 i; + String a[3]; + } w[dim1 = 5][dim2 = 3]; + } v[dim1 = 5][2]; +} DMR_2.4; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.4.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,12 @@ +Attributes { + dap4:dropped_members { + e { + UInt32 array_dimensions 5; + String dap4:type "Enum"; + } + o { + UInt32 array_dimensions 5; + String dap4:type "Opaque"; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Dataset { +} EnumDMR_2.5; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_2.5.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_3.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_3.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_3.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_3.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_empty.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_empty.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/DMR_empty.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/DMR_empty.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Attributes { +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Dataset { +} EnumDMR_0.0; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,9 @@ +Attributes { + e1 { + d4:enum_def { + Byte red 1; + Byte green 2; + Byte blue 3; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,3 @@ +Dataset { + Byte e1; +} EnumDMR_0.1; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_0.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Attributes { +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,3 @@ +Dataset { + Byte b1; +} EnumDMR_1.0; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,11 @@ +Attributes { + b1 { + Int16 test 1, 2, 3; + DAP4_switches { + String public_key "some_large_hex_value"; + String colors "red", "green", "blue"; + Float32 temp 98.6; + OtherXML xmltest " barf "; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,3 @@ +Dataset { + Byte b1; +} EnumDMR_1.1; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,30 @@ + + + + + + + + + + + 1 + 2 + 3 + + + + some_large_hex_value + + + red + green + blue + + + 98.6 + + barf + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Attributes { +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,3 @@ +Dataset { + Byte b1[10]; +} EnumDMR_1.2; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.2.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,6 @@ + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,11 @@ +Attributes { + b1 { + Int16 test 1, 2, 3; + DAP4_switches { + String public_key "some_large_hex_value"; + String colors "red", "green", "blue"; + Float32 temp 98.6; + OtherXML xmltest " barf "; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,3 @@ +Dataset { + Byte b1[20][30]; +} EnumDMR_1.3; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.3.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,32 @@ + + + + + + + + + + + + + 1 + 2 + 3 + + + + some_large_hex_value + + + red + green + blue + + + 98.6 + + barf + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Attributes { +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,3 @@ +Dataset { + Byte b1[dim1 = 5][30]; +} EnumDMR_1.4; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.4.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.5.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.5.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.5.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.5.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.6.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.6.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.6.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_1.6.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ +Attributes { + e { + d4:enum_def { + Byte red 1; + Byte green 2; + Byte blue 3; + } + } + dap4:dropped_members { + i64 { + String dap4:type "Int64"; + } + ui64 { + String dap4:type "UInt64"; + } + o { + String dap4:type "Opaque"; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,15 @@ +Dataset { + Byte b1; + Byte c1; + Byte i8; + Byte ui8; + Int16 i16; + UInt16 ui16; + Int32 i32; + UInt32 ui32; + Float32 f32; + Float64 f64; + String s; + Url u; + Byte e; +} EnumDMR_2.0; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,12 @@ +Attributes { + dap4:dropped_members { + o { + UInt32 array_dimensions 5; + String dap4:type "Opaque"; + } + p { + UInt32 array_dimensions 5, 3; + String dap4:type "Opaque"; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,2 @@ +Dataset { +} EnumDMR_2.1; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_2.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ +Attributes { + s { + dap4:dropped_members { + i64 { + String dap4:type "Int64"; + } + ui64 { + String dap4:type "UInt64"; + } + o { + String dap4:type "Opaque"; + } + } + e { + d4:enum_def { + Byte red 1; + Byte green 2; + Byte blue 3; + } + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,17 @@ +Dataset { + Byte b1; + Structure { + Byte c1; + Byte i8; + Byte ui8; + Int16 i16; + UInt16 ui16; + Int32 i32; + UInt32 ui32; + Float32 f32; + Float64 f64; + String s; + Url u; + Byte e; + } s; +} EnumDMR_3.0; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,24 @@ +Attributes { + s { + Int16 test 1, 2, 3; + DAP4_switches { + String public_key "some_large_hex_value"; + String colors "red", "green", "blue"; + Float32 temp 98.6; + } + dap4:dropped_members { + i64 { + String dap4:type "Int64"; + } + ui64 { + String dap4:type "UInt64"; + } + } + ui8 { + Int16 test 1, 2, 3; + DAP4_switches { + String public_key "some_large_hex_value"; + } + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,15 @@ +Dataset { + Byte b1; + Structure { + Byte i8; + Byte ui8; + Int16 i16; + UInt16 ui16; + Int32 i32; + UInt32 ui32; + Float32 f32; + Float64 f64; + String s; + Url u; + } s; +} EnumDMR_3.1; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_3.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + 1 + 2 + 3 + + + + some_large_hex_value + + + + + + + + + + + + + + + 1 + 2 + 3 + + + + some_large_hex_value + + + red + green + blue + + + 98.6 + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,8 @@ +Attributes { + g1 { + } + g2 { + gg2 { + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,16 @@ +Dataset { + Byte b1; + Byte /g1/i8; + Structure { + Int16 i16; + UInt16 ui16; + Url u; + } /g1/s; + String /g2/s; + Float64 /g2/gg2/f64; + Structure { + Int32 i16; + UInt32 ui16; + Url u; + } /g2/gg2/s; +} EnumDMR_4.0; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.0.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,10 @@ +Attributes { + g1 { + Int16 test 1, 2, 3; + } + g2 { + gg2 { + Int16 test 1, 2, 3; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,16 @@ +Dataset { + Byte b1; + Byte /g1/i8; + Structure { + Int16 i16; + UInt16 ui16; + Url u; + } /g1/s; + String /g2/s; + Float64 /g2/gg2/f64; + Structure { + Int32 i16; + UInt32 ui16; + Url u; + } /g2/gg2/s; +} EnumDMR_4.1; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + 1 + 2 + 3 + + + + + + + + + + + + + 1 + 2 + 3 + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,42 @@ +Attributes { + e { + d4:enum_def { + Byte red 1; + Byte green 2; + Byte blue 3; + } + } + /g1/e { + d4:enum_def { + Byte red 1; + Byte green 2; + Byte blue 3; + } + } + /g2/e { + d4:enum_def { + UInt16 white 1; + UInt16 light 2; + UInt16 med 3; + UInt16 dark 4; + UInt16 black 5; + } + } + /g2/gg2/e { + d4:enum_def { + UInt16 white 1; + UInt16 light 2; + UInt16 med 3; + UInt16 dark 4; + UInt16 black 5; + } + } + g1 { + Int16 test 1, 2, 3; + } + g2 { + gg2 { + Int16 test 1, 2, 3; + } + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,7 @@ +Dataset { + Byte e; + Byte b1; + Byte /g1/e; + UInt16 /g2/e; + UInt16 /g2/gg2/e; +} DMR_4.2; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/EnumDMR_4.2.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + 1 + 2 + 3 + + + + + + + + + + + + + + + 1 + 2 + 3 + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/hacked.dmrpp.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/hacked.dmrpp.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/hacked.dmrpp.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/hacked.dmrpp.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,44 @@ + + + + + EndianType=LITTLE_ENDIAN; + + + + + + EndianType=BIG_ENDIAN; + + + + DOI=?;AlgorithmID=1AGMI;AlgorithmVersion=4.2;FileName=1A.GPM.GMI.COUNT2014v3.20160105-S230545-E003816.010538.V03B.HDF5;SatelliteName=GPM;InstrumentName=GMI;GenerationDateTime=2016-01-06T02:32:09.000Z;StartGranuleDateTime=2016-01-05T23:05:45.953Z;StopGranuleDateTime=2016-01-06T00:38:17.949Z;GranuleNumber=10538;NumberOfSwaths=5;NumberOfGrids=0;GranuleStart=SOUTHERNMOST_LATITUDE;TimeInterval=ORBIT;ProcessingSystem=PPS;ProductVersion=V03B;EmptyGranule=NOT_EMPTY;MissingData=0; + + + InputFileNames=GPM.GMIS.20160105.230141102_20160105.230639231.001.SCANRAWGPM.GMIS.20160105.230641106_20160105.231139235.001.SCANRAWGPM.GMIS.20160105.231141110_20160105.231639239.001.SCANRAWGPM.GMIS.20160105.231641114_20160105.232139243.001.SCANRAWGPM.GMIS.20160105.232141118_20160105.232639247.001.SCANRAWGPM.GMIS.20160105.232641123_20160105.233139252.001.SCANRAWGPM.GMIS.20160105.233141127_20160105.233639256.001.SCANRAWGPM.GMIS.20160105.233641131_20160105.234139260.001.SCANRAWGPM.GMIS.20160105.234141135_20160105.234639264.001.SCANRAWGPM.GMIS.20160105.234641139_20160105.235139268.001.SCANRAWGPM.GMIS.20160105.235141143_20160105.235639272.001.SCANRAWGPM.GMIS.20160105.235641147_20160106.000139276.001.SCANRAWGPM.GMIS.20160106.000141152_20160106.000639281.001.SCANRAWGPM.GMIS.20160106.000641156_20160106.001139285.001.SCANRAWGPM.GMIS.20160106.001141160_20160106.001639289.001.SCANRAWGPM.GMIS.20160106.001641164_20160106.002139293.001.SCANRAWGPM.GMIS.20160106.002141168_20160106.002639297.001.SCANRAWGPM.GMIS.20160106.002641172_20160106.003139301.001.SCANRAWGPM.GMIS.20160106.003141176_20160106.003639305.001.SCANRAWGPM.GMIS.20160106.003641180_20160106.004139309.001.SCANRAW;InputAlgorithmVersions=n/a;InputGenerationDateTimes=n/a; + + + LongitudeOnEquator=179.046739;UTCDateTimeOnEquator=2016-01-05T23:28:53.899Z;MeanSolarBetaAngle=-18.034080;EphemerisFileName=GPMCORE.20160105.230545953_20160106.003817949.001.EPHEM.txt;AttitudeFileName=GPMCORE.20160105.230545953_20160106.003817949.001.ATT.txt;GeoControlFileName=Control_Parameters_GMI_20140817.V03A.txt;EphemerisSource=7_PVT_WITH_FALLBACK_AS_FLAGGED;AttitudeSource=1_ON_BOARD_CALCULATED_PITCH_ROLL_YAW;GeoToolkitVersion=V3.8 1.7.2015 Nutation modified ;SensorAlignmentFirstRotationAngle=179.964996;SensorAlignmentSecondRotationAngle=0.004000;SensorAlignmentThirdRotationAngle=0.001000;SensorAlignmentFirstRotationAxis=1;SensorAlignmentSecondRotationAxis=2;SensorAlignmentThirdRotationAxis=3; + + + DataFormatVersion=bc;TKCodeBuildVersion=1;MetadataVersion=bc;FormatPackage=HDF5-1.8.9;BlueprintFilename=GPM.V1.1AGMI.blueprint.xml;BlueprintVersion=BV_40;TKIOVersion=3.60.4;MetadataStyle=PVL;EndianType=LITTLE_ENDIAN; + + + + + + + + + + + + dim7,dim6 + + + 65535 + + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/hacked.dmrpp.dmr.baseline libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/hacked.dmrpp.dmr.baseline --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/hacked.dmrpp.dmr.baseline 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/hacked.dmrpp.dmr.baseline 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,20 @@ +Attributes { + /gmi1aHeader/sampleRangeFile { + String DimensionNames "dim7,dim6"; + String CodeMissingValue "65535"; + } + DAP4_GLOBAL { + String UslessInfo "EndianType=LITTLE_ENDIAN;"; + } + DAP4_GLOBAL_1 { + String MoreUslessInfo "EndianType=BIG_ENDIAN;"; + } + gmi1aHeader { + } + DAP4_GLOBAL_2 { + String FileHeader "DOI=?;AlgorithmID=1AGMI;AlgorithmVersion=4.2;FileName=1A.GPM.GMI.COUNT2014v3.20160105-S230545-E003816.010538.V03B.HDF5;SatelliteName=GPM;InstrumentName=GMI;GenerationDateTime=2016-01-06T02:32:09.000Z;StartGranuleDateTime=2016-01-05T23:05:45.953Z;StopGranuleDateTime=2016-01-06T00:38:17.949Z;GranuleNumber=10538;NumberOfSwaths=5;NumberOfGrids=0;GranuleStart=SOUTHERNMOST_LATITUDE;TimeInterval=ORBIT;ProcessingSystem=PPS;ProductVersion=V03B;EmptyGranule=NOT_EMPTY;MissingData=0;"; + String InputRecord "InputFileNames=GPM.GMIS.20160105.230141102_20160105.230639231.001.SCANRAWGPM.GMIS.20160105.230641106_20160105.231139235.001.SCANRAWGPM.GMIS.20160105.231141110_20160105.231639239.001.SCANRAWGPM.GMIS.20160105.231641114_20160105.232139243.001.SCANRAWGPM.GMIS.20160105.232141118_20160105.232639247.001.SCANRAWGPM.GMIS.20160105.232641123_20160105.233139252.001.SCANRAWGPM.GMIS.20160105.233141127_20160105.233639256.001.SCANRAWGPM.GMIS.20160105.233641131_20160105.234139260.001.SCANRAWGPM.GMIS.20160105.234141135_20160105.234639264.001.SCANRAWGPM.GMIS.20160105.234641139_20160105.235139268.001.SCANRAWGPM.GMIS.20160105.235141143_20160105.235639272.001.SCANRAWGPM.GMIS.20160105.235641147_20160106.000139276.001.SCANRAWGPM.GMIS.20160106.000141152_20160106.000639281.001.SCANRAWGPM.GMIS.20160106.000641156_20160106.001139285.001.SCANRAWGPM.GMIS.20160106.001141160_20160106.001639289.001.SCANRAWGPM.GMIS.20160106.001641164_20160106.002139293.001.SCANRAWGPM.GMIS.20160106.002141168_20160106.002639297.001.SCANRAWGPM.GMIS.20160106.002641172_20160106.003139301.001.SCANRAWGPM.GMIS.20160106.003141176_20160106.003639305.001.SCANRAWGPM.GMIS.20160106.003641180_20160106.004139309.001.SCANRAW;InputAlgorithmVersions=n/a;InputGenerationDateTimes=n/a;"; + String NavigationRecord "LongitudeOnEquator=179.046739;UTCDateTimeOnEquator=2016-01-05T23:28:53.899Z;MeanSolarBetaAngle=-18.034080;EphemerisFileName=GPMCORE.20160105.230545953_20160106.003817949.001.EPHEM.txt;AttitudeFileName=GPMCORE.20160105.230545953_20160106.003817949.001.ATT.txt;GeoControlFileName=Control_Parameters_GMI_20140817.V03A.txt;EphemerisSource=7_PVT_WITH_FALLBACK_AS_FLAGGED;AttitudeSource=1_ON_BOARD_CALCULATED_PITCH_ROLL_YAW;GeoToolkitVersion=V3.8 1.7.2015 Nutation modified ;SensorAlignmentFirstRotationAngle=179.964996;SensorAlignmentSecondRotationAngle=0.004000;SensorAlignmentThirdRotationAngle=0.001000;SensorAlignmentFirstRotationAxis=1;SensorAlignmentSecondRotationAxis=2;SensorAlignmentThirdRotationAxis=3;"; + String FileInfo "DataFormatVersion=bc;TKCodeBuildVersion=1;MetadataVersion=bc;FormatPackage=HDF5-1.8.9;BlueprintFilename=GPM.V1.1AGMI.blueprint.xml;BlueprintVersion=BV_40;TKIOVersion=3.60.4;MetadataStyle=PVL;EndianType=LITTLE_ENDIAN;"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,101 @@ +Attributes { + lat { + String long_name "latitude"; + String units "degrees_north"; + String axis "Y"; + String standard_name "latitude"; + String bounds "lat_bnds"; + } + lon { + String long_name "longitude"; + String units "degrees_east"; + String axis "X"; + String standard_name "longitude"; + String bounds "lon_bnds"; + } + area { + String long_name "Surface area"; + String units "meter2"; + } + msk_rgn { + String long_name "Mask region"; + String units "bool"; + } + plev { + String long_name "pressure"; + String units "Pa"; + String standard_name "air_pressure"; + String positive "down"; + String axis "Z"; + } + time { + String calendar "noleap"; + String standard_name "time"; + String axis "T"; + String units "days since 0000-1-1"; + String bounds "time_bnds"; + String long_name "time"; + } + pr { + String comment "Created using NCL code CCSM_atmm_2cf.ncl on\012 machine eagle163s"; + Float32 missing_value 1.00000002e+20; + Float32 _FillValue 1.00000002e+20; + String cell_methods "time: mean (interval: 1 month)"; + String history "(PRECC+PRECL)*r[h2o]"; + String original_units "m-1 s-1"; + String original_name "PRECC, PRECL"; + String standard_name "precipitation_flux"; + String units "kg m-2 s-1"; + String long_name "precipitation_flux"; + String cell_method "time: mean"; + } + tas { + String comment "Created using NCL code CCSM_atmm_2cf.ncl on\012 machine eagle163s"; + Float32 missing_value 1.00000002e+20; + Float32 _FillValue 1.00000002e+20; + String cell_methods "time: mean (interval: 1 month)"; + String history "Added height coordinate"; + String coordinates "height"; + String original_units "K"; + String original_name "TREFHT"; + String standard_name "air_temperature"; + String units "K"; + String long_name "air_temperature"; + String cell_method "time: mean"; + } + ua { + String comment "Created using NCL code CCSM_atmm_2cf.ncl on\012 machine eagle163s"; + Float32 missing_value 1.00000002e+20; + String cell_methods "time: mean (interval: 1 month)"; + String long_name "eastward_wind"; + String history "Interpolated U with NCL 'vinth2p_ecmwf'"; + String units "m s-1"; + String original_units "m s-1"; + String original_name "U"; + String standard_name "eastward_wind"; + Float32 _FillValue 1.00000002e+20; + } + NC_GLOBAL { + String CVS_Id "$Id$"; + String creation_date ""; + String prg_ID "Source file unknown Version unknown Date unknown"; + String cmd_ln "bds -x 256 -y 128 -m 23 -o /data/zender/data/dst_T85.nc"; + String history "Tue Oct 25 15:08:51 2005: ncks -O -x -v va -m sresa1b_ncar_ccsm3_0_run1_200001.nc sresa1b_ncar_ccsm3_0_run1_200001.nc\012Tue Oct 25 15:07:21 2005: ncks -d time,0 sresa1b_ncar_ccsm3_0_run1_200001_201912.nc sresa1b_ncar_ccsm3_0_run1_200001.nc\012Tue Oct 25 13:29:43 2005: ncks -d time,0,239 sresa1b_ncar_ccsm3_0_run1_200001_209912.nc /var/www/html/tmp/sresa1b_ncar_ccsm3_0_run1_200001_201912.nc\012Thu Oct 20 10:47:50 2005: ncks -A -v va /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_va_200001_209912.nc /data/brownmc/sresa1b/atm/mo/tas/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_200001_209912.nc\012Wed Oct 19 14:55:04 2005: ncks -F -d time,01,1200 /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_va_200001_209912.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_va_200001_209912.nc\012Wed Oct 19 14:53:28 2005: ncrcat /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/foo_05_1200.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/foo_1192_1196.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_va_200001_209912.nc\012Wed Oct 19 14:50:38 2005: ncks -F -d time,05,1200 /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/va_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2099-12.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/foo_05_1200.nc\012Wed Oct 19 14:49:45 2005: ncrcat /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/va_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2079-12.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/va_A1.SRESA1B_1.CCSM.atmm.2080-01_cat_2099-12.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/va_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2099-12.nc\012Created from CCSM3 case b30.040a\012 by wgstrand@ucar.edu\012 on Wed Nov 17 14:12:57 EST 2004\012 \012 For all data, added IPCC requested metadata"; + String table_id "Table A1"; + String title "model output prepared for IPCC AR4"; + String institution "NCAR (National Center for Atmospheric \012Research, Boulder, CO, USA)"; + String source "CCSM3.0, version beta19 (2004): \012atmosphere: CAM3.0, T85L26;\012ocean : POP1.4.3 (modified), gx1v3\012sea ice : CSIM5.0, T85;\012land : CLM3.0, gx1v3"; + String contact "ccsm@ucar.edu"; + String project_id "IPCC Fourth Assessment"; + String Conventions "CF-1.0"; + String references "Collins, W.D., et al., 2005:\012 The Community Climate System Model, Version 3\012 Journal of Climate\012 \012 Main website: http://www.ccsm.ucar.edu"; + String acknowledgment " Any use of CCSM data should acknowledge the contribution\012 of the CCSM project and CCSM sponsor agencies with the \012 following citation:\012 'This research uses data provided by the Community Climate\012 System Model project (www.ccsm.ucar.edu), supported by the\012 Directorate for Geosciences of the National Science Foundation\012 and the Office of Biological and Environmental Research of\012 the U.S. Department of Energy.'\012In addition, the words 'Community Climate System Model' and\012 'CCSM' should be included as metadata for webpages referencing\012 work using CCSM data or as keywords provided to journal or book\012publishers of your manuscripts.\012Users of CCSM data accept the responsibility of emailing\012 citations of publications of research using CCSM data to\012 ccsm@ucar.edu.\012Any redistribution of CCSM data must include this data\012 acknowledgement statement."; + Int32 realization 1; + String experiment_id "720 ppm stabilization experiment (SRESA1B)"; + String comment "This simulation was initiated from year 2000 of \012 CCSM3 model run b30.030a and executed on \012 hardware cheetah.ccs.ornl.gov. The input external forcings are\012ozone forcing : A1B.ozone.128x64_L18_1991-2100_c040528.nc\012aerosol optics : AerosolOptics_c040105.nc\012aerosol MMR : AerosolMass_V_128x256_clim_c031022.nc\012carbon scaling : carbonscaling_A1B_1990-2100_c040609.nc\012solar forcing : Fixed at 1366.5 W m-2\012GHGs : ghg_ipcc_A1B_1870-2100_c040521.nc\012GHG loss rates : noaamisc.r8.nc\012volcanic forcing : none\012DMS emissions : DMS_emissions_128x256_clim_c040122.nc\012oxidants : oxid_128x256_L26_clim_c040112.nc\012SOx emissions : SOx_emissions_A1B_128x256_L2_1990-2100_c040608.nc\012 Physical constants used for derived data:\012 Lv (latent heat of evaporation): 2.501e6 J kg-1\012 Lf (latent heat of fusion ): 3.337e5 J kg-1\012 r[h2o] (density of water ): 1000 kg m-3\012 g2kg (grams to kilograms ): 1000 g kg-1\012 \012 Integrations were performed by NCAR and CRIEPI with support\012 and facilities provided by NSF, DOE, MEXT and ESC/JAMSTEC."; + String model_name_english "NCAR CCSM"; + } + DODS_EXTRA { + String Unlimited_Dimension "time"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,48 @@ +Dataset { + Float32 lat[lat = 128]; + Float32 lon[lon = 256]; + Grid { + Array: + Float32 area[lat = 128][lon = 256]; + Maps: + Float32 lat[lat = 128]; + Float32 lon[lon = 256]; + } area; + Float64 lat_bnds[lat = 128][bnds = 2]; + Float64 lon_bnds[lon = 256][bnds = 2]; + Grid { + Array: + Int32 msk_rgn[lat = 128][lon = 256]; + Maps: + Float32 lat[lat = 128]; + Float32 lon[lon = 256]; + } msk_rgn; + Float64 plev[plev = 17]; + Float64 time[time = 1]; + Grid { + Array: + Float32 pr[time = 1][lat = 128][lon = 256]; + Maps: + Float64 time[time = 1]; + Float32 lat[lat = 128]; + Float32 lon[lon = 256]; + } pr; + Grid { + Array: + Float32 tas[time = 1][lat = 128][lon = 256]; + Maps: + Float64 time[time = 1]; + Float32 lat[lat = 128]; + Float32 lon[lon = 256]; + } tas; + Float64 time_bnds[time = 1][bnds = 2]; + Grid { + Array: + Float32 ua[time = 1][plev = 17][lat = 128][lon = 256]; + Maps: + Float64 time[time = 1]; + Float64 plev[plev = 17]; + Float32 lat[lat = 128]; + Float32 lon[lon = 256]; + } ua; +} sresa1b_ncar_ccsm3_0_run1_200001.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sresa1b_ncar_ccsm3_0_run1_200001.nc.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,305 @@ + + + + + + + + + + + latitude + + + degrees_north + + + Y + + + latitude + + + lat_bnds + + + + + + longitude + + + degrees_east + + + X + + + longitude + + + lon_bnds + + + + + + + Surface area + + + meter2 + + + + + + + + + + + + + + + + + Mask region + + + bool + + + + + + + + pressure + + + Pa + + + air_pressure + + + down + + + Z + + + + + + noleap + + + time + + + T + + + days since 0000-1-1 + + + time_bnds + + + time + + + + + + + + Created using NCL code CCSM_atmm_2cf.ncl on\012 machine eagle163s + + + 1.00000002e+20 + + + 1.00000002e+20 + + + time: mean (interval: 1 month) + + + (PRECC+PRECL)*r[h2o] + + + m-1 s-1 + + + PRECC, PRECL + + + precipitation_flux + + + kg m-2 s-1 + + + precipitation_flux + + + time: mean + + + + + + + + + + + Created using NCL code CCSM_atmm_2cf.ncl on\012 machine eagle163s + + + 1.00000002e+20 + + + 1.00000002e+20 + + + time: mean (interval: 1 month) + + + Added height coordinate + + + height + + + K + + + TREFHT + + + air_temperature + + + K + + + air_temperature + + + time: mean + + + + + + + + + + + + + + + + Created using NCL code CCSM_atmm_2cf.ncl on\012 machine eagle163s + + + 1.00000002e+20 + + + time: mean (interval: 1 month) + + + eastward_wind + + + Interpolated U with NCL 'vinth2p_ecmwf' + + + m s-1 + + + m s-1 + + + U + + + eastward_wind + + + 1.00000002e+20 + + + + + + + + + $Id$ + + + + + + Source file unknown Version unknown Date unknown + + + bds -x 256 -y 128 -m 23 -o /data/zender/data/dst_T85.nc + + + Tue Oct 25 15:08:51 2005: ncks -O -x -v va -m sresa1b_ncar_ccsm3_0_run1_200001.nc sresa1b_ncar_ccsm3_0_run1_200001.nc\012Tue Oct 25 15:07:21 2005: ncks -d time,0 sresa1b_ncar_ccsm3_0_run1_200001_201912.nc sresa1b_ncar_ccsm3_0_run1_200001.nc\012Tue Oct 25 13:29:43 2005: ncks -d time,0,239 sresa1b_ncar_ccsm3_0_run1_200001_209912.nc /var/www/html/tmp/sresa1b_ncar_ccsm3_0_run1_200001_201912.nc\012Thu Oct 20 10:47:50 2005: ncks -A -v va /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_va_200001_209912.nc /data/brownmc/sresa1b/atm/mo/tas/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_200001_209912.nc\012Wed Oct 19 14:55:04 2005: ncks -F -d time,01,1200 /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_va_200001_209912.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_va_200001_209912.nc\012Wed Oct 19 14:53:28 2005: ncrcat /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/foo_05_1200.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/foo_1192_1196.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/sresa1b_ncar_ccsm3_0_run1_va_200001_209912.nc\012Wed Oct 19 14:50:38 2005: ncks -F -d time,05,1200 /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/va_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2099-12.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/foo_05_1200.nc\012Wed Oct 19 14:49:45 2005: ncrcat /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/va_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2079-12.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/va_A1.SRESA1B_1.CCSM.atmm.2080-01_cat_2099-12.nc /data/brownmc/sresa1b/atm/mo/va/ncar_ccsm3_0/run1/va_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2099-12.nc\012Created from CCSM3 case b30.040a\012 by wgstrand@ucar.edu\012 on Wed Nov 17 14:12:57 EST 2004\012 \012 For all data, added IPCC requested metadata + + + Table A1 + + + model output prepared for IPCC AR4 + + + NCAR (National Center for Atmospheric \012Research, Boulder, CO, USA) + + + CCSM3.0, version beta19 (2004): \012atmosphere: CAM3.0, T85L26;\012ocean : POP1.4.3 (modified), gx1v3\012sea ice : CSIM5.0, T85;\012land : CLM3.0, gx1v3 + + + ccsm@ucar.edu + + + IPCC Fourth Assessment + + + CF-1.0 + + + Collins, W.D., et al., 2005:\012 The Community Climate System Model, Version 3\012 Journal of Climate\012 \012 Main website: http://www.ccsm.ucar.edu + + + Any use of CCSM data should acknowledge the contribution\012 of the CCSM project and CCSM sponsor agencies with the \012 following citation:\012 'This research uses data provided by the Community Climate\012 System Model project (www.ccsm.ucar.edu), supported by the\012 Directorate for Geosciences of the National Science Foundation\012 and the Office of Biological and Environmental Research of\012 the U.S. Department of Energy.'\012In addition, the words 'Community Climate System Model' and\012 'CCSM' should be included as metadata for webpages referencing\012 work using CCSM data or as keywords provided to journal or book\012publishers of your manuscripts.\012Users of CCSM data accept the responsibility of emailing\012 citations of publications of research using CCSM data to\012 ccsm@ucar.edu.\012Any redistribution of CCSM data must include this data\012 acknowledgement statement. + + + 1 + + + 720 ppm stabilization experiment (SRESA1B) + + + This simulation was initiated from year 2000 of \012 CCSM3 model run b30.030a and executed on \012 hardware cheetah.ccs.ornl.gov. The input external forcings are\012ozone forcing : A1B.ozone.128x64_L18_1991-2100_c040528.nc\012aerosol optics : AerosolOptics_c040105.nc\012aerosol MMR : AerosolMass_V_128x256_clim_c031022.nc\012carbon scaling : carbonscaling_A1B_1990-2100_c040609.nc\012solar forcing : Fixed at 1366.5 W m-2\012GHGs : ghg_ipcc_A1B_1870-2100_c040521.nc\012GHG loss rates : noaamisc.r8.nc\012volcanic forcing : none\012DMS emissions : DMS_emissions_128x256_clim_c040122.nc\012oxidants : oxid_128x256_L26_clim_c040112.nc\012SOx emissions : SOx_emissions_A1B_128x256_L2_1990-2100_c040608.nc\012 Physical constants used for derived data:\012 Lv (latent heat of evaporation): 2.501e6 J kg-1\012 Lf (latent heat of fusion ): 3.337e5 J kg-1\012 r[h2o] (density of water ): 1000 kg m-3\012 g2kg (grams to kilograms ): 1000 g kg-1\012 \012 Integrations were performed by NCAR and CRIEPI with support\012 and facilities provided by NSF, DOE, MEXT and ESC/JAMSTEC. + + + NCAR CCSM + + + + + time + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,61 @@ +Attributes { + lat { + String units "degrees_north"; + String long_name "Latitude"; + Float32 actual_range 88.0000000, -88.0000000; + String standard_name "latitude_north"; + String axis "y"; + String coordinate_defines "center"; + } + lon { + String units "degrees_east"; + String long_name "Longitude"; + Float32 actual_range 0.00000000, 358.000000; + String standard_name "longitude_east"; + String axis "x"; + String coordinate_defines "center"; + } + time { + String units "days since 1800-1-1 00:00:00"; + String long_name "Time"; + Float64 actual_range 19723.00000000000, 76214.00000000000; + String delta_t "0000-01-00 00:00:00"; + String avg_period "0000-01-00 00:00:00"; + String prev_avg_period "0000-00-07 00:00:00"; + String standard_name "time"; + String axis "t"; + } + time_bnds { + String long_name "Time Boundaries"; + } + sst { + String long_name "Monthly Means of Sea Surface Temperature"; + Float32 valid_range -5.00000000, 40.0000000; + Float32 actual_range -1.79999995, 34.2399979; + String units "degC"; + Float32 add_offset 0.00000000; + Float32 scale_factor 0.00999999978; + Int16 missing_value 32767; + Int16 precision 2; + Int16 least_significant_digit 1; + String var_desc "Sea Surface Temperature"; + String dataset "NOAA Extended Reconstructed SST V3"; + String level_desc "Surface"; + String statistic "Mean"; + String parent_stat "Mean"; + } + NC_GLOBAL { + String title "NOAA Extended Reconstructed SST V3"; + String conventions "CF-1.0"; + String history "created 09/2007 by CAS"; + String comments "The extended reconstructed sea surface temperature (ERSST)\012was constructed using the most recently available \012Comprehensive Ocean-Atmosphere Data Set (COADS) SST data \012and improved statistical methods that allow stable \012reconstruction using sparse data.\012Currently, ERSST version 2 (ERSST.v2) and version 3 (ERSST.v3) are available from NCDC.\012 ERSST.v3 is an improved extended reconstruction over version 2.\012 Most of the improvements are justified by testing with simulated data.\012 The major differences are caused by the improved low-frequency (LF) tuning of ERSST.v3 \012which reduces the SST anomaly damping before 1930 using the optimized parameters.\012 Beginning in 1985, ERSST.v3 is also improved by explicitly including\012 bias-adjusted satellite infrared data from AVHRR."; + String platform "Model"; + String source "NOAA/NESDIS/National Climatic Data Center"; + String institution "NOAA/NESDIS/National Climatic Data Center"; + String references "http://www.ncdc.noaa.gov/oa/climate/research/sst/ersstv3.php\012http://www.cdc.noaa.gov/cdc/data.noaa.ersst.html"; + String citation "Smith, T.M., R.W. Reynolds, Thomas C. Peterson, and Jay Lawrimore 2007: Improvements to NOAA's Historical Merged Land-Ocean Surface Temperature Analysis (1880-2006). In press. Journal of Climate (ERSSTV3).\012Smith, T.M., and R.W. Reynolds, 2003: Extended Reconstruction of Global Sea Surface Temperatures Based on COADS Data (1854-1997). Journal of Climate, 16, 1495-1510. ERSSTV1\012 Smith, T.M., and R.W. Reynolds, 2004: Improved Extended Reconstruction of SST (1854-1997). Journal of Climate, 17, 2466-2477."; + } + DODS_EXTRA { + String Unlimited_Dimension "time"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,14 @@ +Dataset { + Float32 lat[lat = 89]; + Float32 lon[lon = 180]; + Float64 time[time = 1857]; + Float64 time_bnds[time = 1857][nbnds = 2]; + Grid { + Array: + Int16 sst[time = 1857][lat = 89][lon = 180]; + Maps: + Float64 time[time = 1857]; + Float32 lat[lat = 89]; + Float32 lon[lon = 180]; + } sst; +} sst.mnmean.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/sst.mnmean.nc.gz.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,172 @@ + + + + + + + + + + degrees_north + + + Latitude + + + 88.0000000 + -88.0000000 + + + latitude_north + + + y + + + center + + + + + + degrees_east + + + Longitude + + + 0.00000000 + 358.000000 + + + longitude_east + + + x + + + center + + + + + + days since 1800-1-1 00:00:00 + + + Time + + + 19723.00000000000 + 76214.00000000000 + + + 0000-01-00 00:00:00 + + + 0000-01-00 00:00:00 + + + 0000-00-07 00:00:00 + + + time + + + t + + + + + + + Time Boundaries + + + + + + + + Monthly Means of Sea Surface Temperature + + + -5.00000000 + 40.0000000 + + + -1.79999995 + 34.2399979 + + + degC + + + 0.00000000 + + + 0.00999999978 + + + 32767 + + + 2 + + + 1 + + + Sea Surface Temperature + + + NOAA Extended Reconstructed SST V3 + + + Surface + + + Mean + + + Mean + + + + + + + + NOAA Extended Reconstructed SST V3 + + + CF-1.0 + + + created 09/2007 by CAS + + + The extended reconstructed sea surface temperature (ERSST)\012was constructed using the most recently available \012Comprehensive Ocean-Atmosphere Data Set (COADS) SST data \012and improved statistical methods that allow stable \012reconstruction using sparse data.\012Currently, ERSST version 2 (ERSST.v2) and version 3 (ERSST.v3) are available from NCDC.\012 ERSST.v3 is an improved extended reconstruction over version 2.\012 Most of the improvements are justified by testing with simulated data.\012 The major differences are caused by the improved low-frequency (LF) tuning of ERSST.v3 \012which reduces the SST anomaly damping before 1930 using the optimized parameters.\012 Beginning in 1985, ERSST.v3 is also improved by explicitly including\012 bias-adjusted satellite infrared data from AVHRR. + + + Model + + + NOAA/NESDIS/National Climatic Data Center + + + NOAA/NESDIS/National Climatic Data Center + + + http://www.ncdc.noaa.gov/oa/climate/research/sst/ersstv3.php\012http://www.cdc.noaa.gov/cdc/data.noaa.ersst.html + + + Smith, T.M., R.W. Reynolds, Thomas C. Peterson, and Jay Lawrimore 2007: Improvements to NOAA's Historical Merged Land-Ocean Surface Temperature Analysis (1880-2006). In press. Journal of Climate (ERSSTV3).\012Smith, T.M., and R.W. Reynolds, 2003: Extended Reconstruction of Global Sea Surface Temperatures Based on COADS Data (1854-1997). Journal of Climate, 16, 1495-1510. ERSSTV1\012 Smith, T.M., and R.W. Reynolds, 2004: Improved Extended Reconstruction of SST (1854-1997). Journal of Climate, 17, 2466-2477. + + + + + time + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/test.1.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/test.1.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/test.1.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/test.1.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,10 @@ +Attributes { + b { + String long_name "byte_b"; + } + i { + String long_name "int32_i"; + Float32 scale_factor 1.2; + Int32 coefs 2, 3, 4; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/test.1.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/test.1.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/test.1.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/test.1.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,5 @@ +Dataset { + Byte b; + Int32 i; + Int32 j; +} test.1.dmr; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/test.1.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/test.1.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/test.1.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/test.1.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,22 @@ + + + + + byte_b + + + + + int32_i + + + 1.2 + + + 2 + 3 + 4 + + + + diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.das libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.das --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.das 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.das 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,56 @@ +Attributes { + lon { + String standard_name "longitude"; + String long_name "longitude"; + String units "degrees_east"; + String axis "X"; + String bounds "lon_bnds"; + String original_units "degrees_east"; + } + lat { + String standard_name "latitude"; + String long_name "latitude"; + String units "degrees_north"; + String axis "Y"; + String bounds "lat_bnds"; + String original_units "degrees_north"; + } + time { + String standard_name "time"; + String long_name "time"; + String units "days since 2001-1-1"; + String axis "T"; + String calendar "360_day"; + String bounds "time_bnds"; + String original_units "seconds since 2001-1-1"; + } + tos { + String standard_name "sea_surface_temperature"; + String long_name "Sea Surface Temperature"; + String units "K"; + String cell_methods "time: mean (interval: 30 minutes)"; + Float32 _FillValue 1.00000002e+20; + Float32 missing_value 1.00000002e+20; + String original_name "sosstsst"; + String original_units "degC"; + String history " At 16:37:23 on 01/11/2005: CMOR altered the data in the following ways: added 2.73150E+02 to yield output units; Cyclical dimension was output starting at a different lon;"; + } + NC_GLOBAL { + String title "IPSL model output prepared for IPCC Fourth Assessment SRES A2 experiment"; + String institution "IPSL (Institut Pierre Simon Laplace, Paris, France)"; + String source "IPSL-CM4_v1 (2003) : atmosphere : LMDZ (IPSL-CM4_IPCC, 96x71x19) ; ocean ORCA2 (ipsl_cm4_v1_8, 2x2L31); sea ice LIM (ipsl_cm4_v"; + String contact "Sebastien Denvil, sebastien.denvil@ipsl.jussieu.fr"; + String project_id "IPCC Fourth Assessment"; + String table_id "Table O1 (13 November 2004)"; + String experiment_id "SRES A2 experiment"; + Int32 realization 1; + Float32 cmor_version 0.959999979; + String Conventions "CF-1.0"; + String history "YYYY/MM/JJ: data generated; YYYY/MM/JJ+1 data transformed At 16:37:23 on 01/11/2005, CMOR rewrote data to comply with CF standards and IPCC Fourth Assessment requirements"; + String references "Dufresne et al, Journal of Climate, 2015, vol XX, p 136"; + String comment "Test drive"; + } + DODS_EXTRA { + String Unlimited_Dimension "time"; + } +} diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.dds libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.dds --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.dds 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.dds 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,16 @@ +Dataset { + Float64 lon[lon = 180]; + Float64 lon_bnds[lon = 180][bnds = 2]; + Float64 lat[lat = 170]; + Float64 lat_bnds[lat = 170][bnds = 2]; + Float64 time[time = 24]; + Float64 time_bnds[time = 24][bnds = 2]; + Grid { + Array: + Float32 tos[time = 24][lat = 170][lon = 180]; + Maps: + Float64 time[time = 24]; + Float64 lat[lat = 170]; + Float64 lon[lon = 180]; + } tos; +} tos_O1_2001-2002.nc; diff -Nru libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.dmr libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.dmr --- libdap-3.19.1/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.dmr 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/dmr-to-dap2-testsuite/tos_O1_2001-2002.nc.dmr 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,166 @@ + + + + + + + + + + longitude + + + longitude + + + degrees_east + + + X + + + lon_bnds + + + degrees_east + + + + + + + + + + latitude + + + latitude + + + degrees_north + + + Y + + + lat_bnds + + + degrees_north + + + + + + + + + + time + + + time + + + days since 2001-1-1 + + + T + + + 360_day + + + time_bnds + + + seconds since 2001-1-1 + + + + + + + + + + + + sea_surface_temperature + + + Sea Surface Temperature + + + K + + + time: mean (interval: 30 minutes) + + + 1.00000002e+20 + + + 1.00000002e+20 + + + sosstsst + + + degC + + + At 16:37:23 on 01/11/2005: CMOR altered the data in the following ways: added 2.73150E+02 to yield output units; Cyclical dimension was output starting at a different lon; + + + + + + + + IPSL model output prepared for IPCC Fourth Assessment SRES A2 experiment + + + IPSL (Institut Pierre Simon Laplace, Paris, France) + + + IPSL-CM4_v1 (2003) : atmosphere : LMDZ (IPSL-CM4_IPCC, 96x71x19) ; ocean ORCA2 (ipsl_cm4_v1_8, 2x2L31); sea ice LIM (ipsl_cm4_v + + + Sebastien Denvil, sebastien.denvil@ipsl.jussieu.fr + + + IPCC Fourth Assessment + + + Table O1 (13 November 2004) + + + SRES A2 experiment + + + 1 + + + 0.959999979 + + + CF-1.0 + + + YYYY/MM/JJ: data generated; YYYY/MM/JJ+1 data transformed At 16:37:23 on 01/11/2005, CMOR rewrote data to comply with CF standards and IPCC Fourth Assessment requirements + + + Dufresne et al, Journal of Climate, 2015, vol XX, p 136 + + + Test drive + + + + + time + + + diff -Nru libdap-3.19.1/unit-tests/Float32Test.cc libdap-3.20.5/unit-tests/Float32Test.cc --- libdap-3.19.1/unit-tests/Float32Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/Float32Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,312 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class Float32Test: public TestFixture { +private: + Float32 *i1, *i2; + char a[1024]; + +public: + Float32Test() : i1(0), i2(0) + { + } + ~Float32Test() + { + } + + void setUp() + { + i1 = new Float32("a", "b"); + i2 = new Float32("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(Float32Test); + + CPPUNIT_TEST(cons_Float32_test); + CPPUNIT_TEST(checksum_test); + CPPUNIT_TEST(val2buf_test); + CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(print_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_Float32_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_float32_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + + void val2buf_test() + { + float i = 42; + i2->val2buf(&i, true); + CPPUNIT_ASSERT(i2->value() == 42); + CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); + } + + void buf2val_test() + { + int i = 42; + void *v = &i; + float *v2 = NULL; + CPPUNIT_ASSERT(i2->set_value(0)); + CPPUNIT_ASSERT(i2->buf2val(&v) == 4 && i == 0); + CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); + CPPUNIT_ASSERT(i2->buf2val((void **)&v2) == 4 && *v2 == 0); + delete v2; + } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + Float32 i3 = Float32("a", "b"); + Float32 i4 = Float32("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(f32.value() == 42); + CPPUNIT_ASSERT(f32.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(f32.d4_ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(f32.d4_ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(f32.d4_ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(f32.d4_ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(f32.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + Float32 f32 = Float32("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(f32.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + Float32 f32 = Float32("a", "b"); + f32.set_read_p(false); + CPPUNIT_ASSERT_THROW(f32.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("Float32Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("Float32Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "21")); + } + + void print_test() + { + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("Float32Test.output", "w")); + i1->set_value(22); + i1->print_val(fp, " ", true); + fclose(fp); + ifstream ifs("Float32Test.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "22;")); + } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(Float32Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: Float32Test has the following tests:" << endl; + const std::vector &tests = libdap::Float32Test::suite()->getTests(); + unsigned int prefix_len = libdap::Float32Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::Float32Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/Float64Test.cc libdap-3.20.5/unit-tests/Float64Test.cc --- libdap-3.19.1/unit-tests/Float64Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/Float64Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,312 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class Float64Test: public TestFixture { +private: + Float64 *i1, *i2; + char a[1024]; + +public: + Float64Test() : i1(0), i2(0) + { + } + ~Float64Test() + { + } + + void setUp() + { + i1 = new Float64("a", "b"); + i2 = new Float64("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(Float64Test); + + CPPUNIT_TEST(cons_Float64_test); + CPPUNIT_TEST(checksum_test); + CPPUNIT_TEST(val2buf_test); + CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(print_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_Float64_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_float64_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + + void val2buf_test() + { + double i = 42; + i2->val2buf(&i, true); + CPPUNIT_ASSERT(i2->value() == 42); + CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); + } + + void buf2val_test() + { + double i = 42; + void *v = &i; + double *v2 = NULL; + CPPUNIT_ASSERT(i2->set_value(0)); + CPPUNIT_ASSERT(i2->buf2val(&v) == 8 && i == 0); + CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); + CPPUNIT_ASSERT(i2->buf2val((void **)&v2) == 8 && *v2 == 0); + delete v2; + } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + Float64 i3 = Float64("a", "b"); + Float64 i4 = Float64("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(f64.value() == 42); + CPPUNIT_ASSERT(f64.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(f64.d4_ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(f64.d4_ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(f64.d4_ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(f64.d4_ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(f64.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + Float64 f64 = Float64("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(f64.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + Float64 f64 = Float64("a", "b"); + f64.set_read_p(false); + CPPUNIT_ASSERT_THROW(f64.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("Float64Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("Float64Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "21")); + } + + void print_test() + { + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("Float64Test.output", "w")); + i1->set_value(22); + i1->print_val(fp, " ", true); + fclose(fp); + ifstream ifs("Float64Test.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "22;")); + } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(Float64Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: Float64Test has the following tests:" << endl; + const std::vector &tests = libdap::Float64Test::suite()->getTests(); + unsigned int prefix_len = libdap::Float64Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::Float64Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + Binary files /tmp/tmpBjtqOR/4OrbwnXqfa/libdap-3.19.1/unit-tests/._HTTPConnectTest.cc and /tmp/tmpBjtqOR/z43oOb5Myq/libdap-3.20.5/unit-tests/._HTTPConnectTest.cc differ diff -Nru libdap-3.19.1/unit-tests/Int16Test.cc libdap-3.20.5/unit-tests/Int16Test.cc --- libdap-3.19.1/unit-tests/Int16Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/Int16Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,312 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class Int16Test: public TestFixture { +private: + Int16 *i1, *i2; + char a[1024]; + +public: + Int16Test() : i1(0), i2(0) + { + } + ~Int16Test() + { + } + + void setUp() + { + i1 = new Int16("a", "b"); + i2 = new Int16("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(Int16Test); + + CPPUNIT_TEST(cons_Int16_test); + CPPUNIT_TEST(checksum_test); + CPPUNIT_TEST(val2buf_test); + CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(print_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_Int16_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_int16_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + + void val2buf_test() + { + short i = 42; + i2->val2buf(&i, true); + CPPUNIT_ASSERT(i2->value() == 42); + CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); + } + + void buf2val_test() + { + short i = 42; + void *v = &i; + short *v2 = NULL; + CPPUNIT_ASSERT(i2->set_value(0)); + CPPUNIT_ASSERT(i2->buf2val(&v) == 2 && i == 0); + CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); + CPPUNIT_ASSERT(i2->buf2val((void **)&v2) == 2 && *v2 == 0); + delete v2; + } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + Int16 i3 = Int16("a", "b"); + Int16 i4 = Int16("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(i16.value() == 42); + CPPUNIT_ASSERT(i16.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i16.d4_ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(i16.d4_ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i16.d4_ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i16.d4_ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i16.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + Int16 i16 = Int16("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(i16.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + Int16 i16 = Int16("a", "b"); + i16.set_read_p(false); + CPPUNIT_ASSERT_THROW(i16.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("Int16Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("Int16Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "21")); + } + + void print_test() + { + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("Int16Test.output", "w")); + i1->set_value(22); + i1->print_val(fp, " ", true); + fclose(fp); + ifstream ifs("Int16Test.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "22;")); + } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(Int16Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: Int16Test has the following tests:" << endl; + const std::vector &tests = libdap::Int16Test::suite()->getTests(); + unsigned int prefix_len = libdap::Int16Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::Int16Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/Int32Test.cc libdap-3.20.5/unit-tests/Int32Test.cc --- libdap-3.19.1/unit-tests/Int32Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/Int32Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,312 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class Int32Test: public TestFixture { +private: + Int32 *i1, *i2; + char a[1024]; + +public: + Int32Test() : i1(0), i2(0) + { + } + ~Int32Test() + { + } + + void setUp() + { + i1 = new Int32("a", "b"); + i2 = new Int32("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(Int32Test); + + CPPUNIT_TEST(cons_Int32_test); + CPPUNIT_TEST(checksum_test); + CPPUNIT_TEST(val2buf_test); + CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(print_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_Int32_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_int32_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + + void val2buf_test() + { + int i = 42; + i2->val2buf(&i, true); + CPPUNIT_ASSERT(i2->value() == 42); + CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); + } + + void buf2val_test() + { + int i = 42; + void *v = &i; + int *v2 = NULL; + CPPUNIT_ASSERT(i2->set_value(0)); + CPPUNIT_ASSERT(i2->buf2val(&v) == 4 && i == 0); + CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); + CPPUNIT_ASSERT(i2->buf2val((void **)&v2) == 4 && *v2 == 0); + delete v2; + } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + Int32 i3 = Int32("a", "b"); + Int32 i4 = Int32("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(i32.value() == 42); + CPPUNIT_ASSERT(i32.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i32.d4_ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(i32.d4_ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i32.d4_ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i32.d4_ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i32.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + Int32 i32 = Int32("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(i32.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + Int32 i32 = Int32("a", "b"); + i32.set_read_p(false); + CPPUNIT_ASSERT_THROW(i32.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("Int32Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("Int32Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "21")); + } + + void print_test() + { + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("Int32Test.output", "w")); + i1->set_value(22); + i1->print_val(fp, " ", true); + fclose(fp); + ifstream ifs("Int32Test.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "22;")); + } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(Int32Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: Int32Test has the following tests:" << endl; + const std::vector &tests = libdap::Int32Test::suite()->getTests(); + unsigned int prefix_len = libdap::Int32Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::Int32Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/Int64Test.cc libdap-3.20.5/unit-tests/Int64Test.cc --- libdap-3.19.1/unit-tests/Int64Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/Int64Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,296 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class Int64Test: public TestFixture { +private: + Int64 *i1, *i2; + char a[1024]; + +public: + Int64Test() : i1(0), i2(0) + { + } + ~Int64Test() + { + } + + void setUp() + { + i1 = new Int64("a", "b"); + i2 = new Int64("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(Int64Test); + + CPPUNIT_TEST(cons_Int64_test); + CPPUNIT_TEST(checksum_test); + // CPPUNIT_TEST(val2buf_test); + // CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_Int64_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_int64_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + + // void val2buf_test() + // { + // int i = 42; + // i2->val2buf(&i, true); + // CPPUNIT_ASSERT(i2->value() == 42); + // CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); + // } + + // void buf2val_test() + // { + // int i = 42; + // void *v = &i; + // void *v2 = NULL; + // CPPUNIT_ASSERT(i2->set_value(0)); + // CPPUNIT_ASSERT(i2->buf2val(&v) == 4 && i == 0); + // CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); + // CPPUNIT_ASSERT(i2->buf2val(&v2) == 4 && *(int *)v2 == 0); + // } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + Int64 i3 = Int64("a", "b"); + Int64 i4 = Int64("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(i64.value() == 42); + CPPUNIT_ASSERT(i64.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i64.d4_ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(i64.d4_ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i64.d4_ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i64.d4_ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i64.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + Int64 i64 = Int64("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(i64.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + Int64 i64 = Int64("a", "b"); + i64.set_read_p(false); + CPPUNIT_ASSERT_THROW(i64.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("Int64Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("Int64Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "21")); + } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(Int64Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: Int64Test has the following tests:" << endl; + const std::vector &tests = libdap::Int64Test::suite()->getTests(); + unsigned int prefix_len = libdap::Int64Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::Int64Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/Int8Test.cc libdap-3.20.5/unit-tests/Int8Test.cc --- libdap-3.19.1/unit-tests/Int8Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/Int8Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,310 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class Int8Test: public TestFixture { +private: + Int8 *i1, *i2; + char a[1024]; + +public: + Int8Test() : i1(0), i2(0) + { + } + ~Int8Test() + { + } + + void setUp() + { + i1 = new Int8("a", "b"); + i2 = new Int8("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(Int8Test); + + CPPUNIT_TEST(cons_test); + CPPUNIT_TEST(checksum_test); + // CPPUNIT_TEST(val2buf_test); + // CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(print_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_int8_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + +// void val2buf_test() +// { +// int i = 42; +// // i2->val2buf(&i, true); +// // CPPUNIT_ASSERT(i2->value() == 42); +// // CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); +// } + +// void buf2val_test() +// { +// int i = 42; +// void *v = &i; +// void *v2 = NULL; +// CPPUNIT_ASSERT(i2->set_value(0)); +// CPPUNIT_ASSERT(i2->buf2val(&v) == 4 && i == 0); +// CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); +// CPPUNIT_ASSERT(i2->buf2val(&v2) == 4 && *(int *)v2 == 0); +// } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + Int8 i3 = Int8("a", "b"); + Int8 i4 = Int8("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(i8.value() == 42); + CPPUNIT_ASSERT(i8.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(i8.d4_ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(i8.d4_ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i8.d4_ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i8.d4_ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(i8.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(i8.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a", "b"); + i8.set_read_p(false); + CPPUNIT_ASSERT_THROW(i8.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("Int8Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("Int8Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(a[0] == 21); + } + + void print_test() + { + ofstream ofs("Int8Test.output", ios::trunc); + i1->set_value(22); + i1->print_val(ofs, " ", true); + ofs.close(); + ifstream ifs("Int8Test.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "22;")); + } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(Int8Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: Int8Test has the following tests:" << endl; + const std::vector &tests = libdap::Int8Test::suite()->getTests(); + unsigned int prefix_len = libdap::Int8Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::Int8Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/Makefile.am libdap-3.20.5/unit-tests/Makefile.am --- libdap-3.19.1/unit-tests/Makefile.am 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/Makefile.am 2020-02-17 07:35:45.000000000 +0000 @@ -7,10 +7,10 @@ # Headers in 'tests' are used by the arrayT unit tests. -AM_CPPFLAGS = -I$(top_srcdir)/GNU -I$(top_srcdir) -I$(top_srcdir)/tests $(CURL_CFLAGS) $(XML2_CFLAGS) +AM_CPPFLAGS = -I$(top_srcdir)/GNU -I$(top_srcdir) -I$(top_srcdir)/tests \ +$(CURL_CFLAGS) $(XML2_CFLAGS) $(TIRPC_CFLAGS) AM_LDADD = $(XML2_LIBS) AM_CXXFLAGS = -# CXXFLAGS = if COMPILER_IS_GCC AM_CXXFLAGS += -Wall -W -Wcast-align @@ -23,16 +23,26 @@ CXXFLAGS_DEBUG = -g3 -O0 -Wall -Wcast-align -if USE_VALGRIND -TESTS_ENVIRONMENT=valgrind --quiet --trace-children=yes --error-exitcode=1 \ ---leak-check=yes --dsymutil=yes --suppressions=valgrind_suppressions.txt +# if USE_VALGRIND +# TESTS_ENVIRONMENT=valgrind --quiet --trace-children=yes --error-exitcode=1 \ +# --leak-check=yes --dsymutil=yes --suppressions=valgrind_suppressions.txt + +# # skip using --log-file="valgrind-%p.log" because it always generates files +# # Might also drop --dsymutil=yes because it can take a long time to run. +# endif + +# If valgrind is present, add valgrind targets. +# @VALGRIND_CHECK_RULES@ +VALGRIND_SUPPRESSIONS_FILES = valgrind_suppressions.txt -# skip using --log-file="valgrind-%p.log" because it always generates files -# Might also drop --dsymutil=yes because it can take a long time to run. +if USE_ASAN +ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer endif if BUILD_DEVELOPER -AM_CXXFLAGS += $(CXXFLAGS_DEBUG) +AM_CXXFLAGS += $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +else +AM_CXXFLAGS += -g -O2 endif # This determines what gets built by make check @@ -45,12 +55,13 @@ DIRS_EXTRA = das-testsuite dds-testsuite ddx-testsuite \ rcreader-testsuite server-testsuite cgi-util-tests D4-xml \ -chunked-io D4-marshaller D4-type-testsuite +chunked-io D4-marshaller D4-type-testsuite dmr-testsuite \ +dmr-to-dap2-testsuite dmr-rt-testsuite EXTRA_DIST = $(DIRS_EXTRA) testFile.cc testFile.h test_config.h.in \ valgrind_suppressions.txt -CLEANFILES = testout .dodsrc *.gcda *.gcno *.gcov *.trs *.log *.file D4-xml.tar.gz +CLEANFILES = testout .dodsrc *.gcda *.gcno *.gcov *.trs *.log *.file D4-xml.tar.gz *.output DISTCLEANFILES = test_config.h *.strm *.file tmp.txt @@ -69,7 +80,9 @@ RegexTest ArrayTest AttrTableTest ByteTest MIMEUtilTest ancT DASTest \ DDSTest DDXParserTest generalUtilTest HTTPConnectTest parserUtilTest \ RCReaderTest SequenceTest SignalHandlerTest MarshallerTest \ - HTTPCacheTest ServerFunctionsListUnitTest + HTTPCacheTest ServerFunctionsListUnitTest Int8Test Int16Test UInt16Test \ + Int32Test UInt32Test Int64Test UInt64Test Float32Test Float64Test \ + D4BaseTypeFactoryTest BaseTypeFactoryTest if DAP4_DEFINED UNIT_TESTS += D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \ @@ -116,6 +129,39 @@ DDSTest_SOURCES = DDSTest.cc $(TEST_SRC) DDSTest_LDADD = ../libdap.la $(AM_LDADD) +Int8Test_SOURCES = Int8Test.cc $(TEST_SRC) +Int8Test_LDADD = ../libdap.la $(AM_LDADD) + +Int16Test_SOURCES = Int16Test.cc $(TEST_SRC) +Int16Test_LDADD = ../libdap.la $(AM_LDADD) + +UInt16Test_SOURCES = UInt16Test.cc $(TEST_SRC) +UInt16Test_LDADD = ../libdap.la $(AM_LDADD) + +Int32Test_SOURCES = Int32Test.cc $(TEST_SRC) +Int32Test_LDADD = ../libdap.la $(AM_LDADD) + +UInt32Test_SOURCES = UInt32Test.cc $(TEST_SRC) +UInt32Test_LDADD = ../libdap.la $(AM_LDADD) + +Int64Test_SOURCES = Int64Test.cc $(TEST_SRC) +Int64Test_LDADD = ../libdap.la $(AM_LDADD) + +UInt64Test_SOURCES = UInt64Test.cc $(TEST_SRC) +UInt64Test_LDADD = ../libdap.la $(AM_LDADD) + +Float32Test_SOURCES = Float32Test.cc $(TEST_SRC) +Float32Test_LDADD = ../libdap.la $(AM_LDADD) + +Float64Test_SOURCES = Float64Test.cc $(TEST_SRC) +Float64Test_LDADD = ../libdap.la $(AM_LDADD) + +D4BaseTypeFactoryTest_SOURCES = D4BaseTypeFactoryTest.cc $(TEST_SRC) +D4BaseTypeFactoryTest_LDADD = ../libdap.la $(AM_LDADD) + +BaseTypeFactoryTest_SOURCES = BaseTypeFactoryTest.cc $(TEST_SRC) +BaseTypeFactoryTest_LDADD = ../libdap.la $(AM_LDADD) + DDXParserTest_SOURCES = DDXParserTest.cc DDXParserTest_CPPFLAGS = $(AM_CPPFLAGS) $(XML2_CFLAGS) DDXParserTest_LDADD = ../libdap.la $(AM_LDADD) diff -Nru libdap-3.19.1/unit-tests/Makefile.in libdap-3.20.5/unit-tests/Makefile.in --- libdap-3.19.1/unit-tests/Makefile.in 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/Makefile.in 2020-02-17 07:35:45.000000000 +0000 @@ -77,17 +77,14 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -# CXXFLAGS = @COMPILER_IS_GCC_TRUE@am__append_1 = -Wall -W -Wcast-align @CPPUNIT_TRUE@am__append_2 = $(CPPUNIT_CFLAGS) @CPPUNIT_TRUE@am__append_3 = $(CPPUNIT_LIBS) - -# skip using --log-file="valgrind-%p.log" because it always generates files -# Might also drop --dsymutil=yes because it can take a long time to run. -@BUILD_DEVELOPER_TRUE@am__append_4 = $(CXXFLAGS_DEBUG) +@BUILD_DEVELOPER_TRUE@am__append_4 = $(CXXFLAGS_DEBUG) $(ASAN_FLAGS) +@BUILD_DEVELOPER_FALSE@am__append_5 = -g -O2 check_PROGRAMS = $(am__EXEEXT_2) TESTS = $(am__EXEEXT_2) -@CPPUNIT_TRUE@@DAP4_DEFINED_TRUE@am__append_5 = D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \ +@CPPUNIT_TRUE@@DAP4_DEFINED_TRUE@am__append_6 = D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \ @CPPUNIT_TRUE@@DAP4_DEFINED_TRUE@ D4EnumDefsTest D4GroupTest D4ParserSax2Test D4AttributesTest D4EnumTest \ @CPPUNIT_TRUE@@DAP4_DEFINED_TRUE@ chunked_iostream_test D4AsyncDocTest DMRTest D4FilterClauseTest \ @CPPUNIT_TRUE@@DAP4_DEFINED_TRUE@ D4SequenceTest DmrRoundTripTest DmrToDap2Test @@ -151,6 +148,7 @@ $(top_srcdir)/gl/m4/wcrtomb.m4 $(top_srcdir)/gl/m4/wctype_h.m4 \ $(top_srcdir)/gl/m4/wint_t.m4 $(top_srcdir)/conf/acinclude.m4 \ $(top_srcdir)/conf/cppunit.m4 \ + $(top_srcdir)/conf/cxx_flags_check.m4 \ $(top_srcdir)/conf/gcov_valgrind.m4 \ $(top_srcdir)/conf/libtool.m4 $(top_srcdir)/conf/ltoptions.m4 \ $(top_srcdir)/conf/ltsugar.m4 $(top_srcdir)/conf/ltversion.m4 \ @@ -193,7 +191,13 @@ @CPPUNIT_TRUE@ SignalHandlerTest$(EXEEXT) \ @CPPUNIT_TRUE@ MarshallerTest$(EXEEXT) HTTPCacheTest$(EXEEXT) \ @CPPUNIT_TRUE@ ServerFunctionsListUnitTest$(EXEEXT) \ -@CPPUNIT_TRUE@ $(am__EXEEXT_1) +@CPPUNIT_TRUE@ Int8Test$(EXEEXT) Int16Test$(EXEEXT) \ +@CPPUNIT_TRUE@ UInt16Test$(EXEEXT) Int32Test$(EXEEXT) \ +@CPPUNIT_TRUE@ UInt32Test$(EXEEXT) Int64Test$(EXEEXT) \ +@CPPUNIT_TRUE@ UInt64Test$(EXEEXT) Float32Test$(EXEEXT) \ +@CPPUNIT_TRUE@ Float64Test$(EXEEXT) \ +@CPPUNIT_TRUE@ D4BaseTypeFactoryTest$(EXEEXT) \ +@CPPUNIT_TRUE@ BaseTypeFactoryTest$(EXEEXT) $(am__EXEEXT_1) am_ArrayTest_OBJECTS = ArrayTest.$(OBJEXT) ArrayTest_OBJECTS = $(am_ArrayTest_OBJECTS) am__DEPENDENCIES_1 = @@ -208,6 +212,10 @@ am_AttrTableTest_OBJECTS = AttrTableTest.$(OBJEXT) $(am__objects_1) AttrTableTest_OBJECTS = $(am_AttrTableTest_OBJECTS) AttrTableTest_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) +am_BaseTypeFactoryTest_OBJECTS = BaseTypeFactoryTest.$(OBJEXT) \ + $(am__objects_1) +BaseTypeFactoryTest_OBJECTS = $(am_BaseTypeFactoryTest_OBJECTS) +BaseTypeFactoryTest_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) am_ByteTest_OBJECTS = ByteTest.$(OBJEXT) $(am__objects_1) ByteTest_OBJECTS = $(am_ByteTest_OBJECTS) ByteTest_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) @@ -225,6 +233,11 @@ D4AttributesTest_OBJECTS = $(am_D4AttributesTest_OBJECTS) @DAP4_DEFINED_TRUE@D4AttributesTest_DEPENDENCIES = ../libdap.la \ @DAP4_DEFINED_TRUE@ $(am__DEPENDENCIES_3) +am_D4BaseTypeFactoryTest_OBJECTS = D4BaseTypeFactoryTest.$(OBJEXT) \ + $(am__objects_1) +D4BaseTypeFactoryTest_OBJECTS = $(am_D4BaseTypeFactoryTest_OBJECTS) +D4BaseTypeFactoryTest_DEPENDENCIES = ../libdap.la \ + $(am__DEPENDENCIES_3) am__D4DimensionsTest_SOURCES_DIST = D4DimensionsTest.cc testFile.cc \ testFile.h @DAP4_DEFINED_TRUE@am_D4DimensionsTest_OBJECTS = \ @@ -313,6 +326,12 @@ DmrToDap2Test_OBJECTS = $(am_DmrToDap2Test_OBJECTS) @DAP4_DEFINED_TRUE@DmrToDap2Test_DEPENDENCIES = ../libdap.la \ @DAP4_DEFINED_TRUE@ $(am__DEPENDENCIES_3) +am_Float32Test_OBJECTS = Float32Test.$(OBJEXT) $(am__objects_1) +Float32Test_OBJECTS = $(am_Float32Test_OBJECTS) +Float32Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) +am_Float64Test_OBJECTS = Float64Test.$(OBJEXT) $(am__objects_1) +Float64Test_OBJECTS = $(am_Float64Test_OBJECTS) +Float64Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) am_HTTPCacheTest_OBJECTS = HTTPCacheTest-HTTPCacheTest.$(OBJEXT) HTTPCacheTest_OBJECTS = $(am_HTTPCacheTest_OBJECTS) HTTPCacheTest_DEPENDENCIES = ../libdapclient.la ../libdap.la \ @@ -322,6 +341,18 @@ HTTPConnectTest_OBJECTS = $(am_HTTPConnectTest_OBJECTS) HTTPConnectTest_DEPENDENCIES = ../libdapclient.la ../libdap.la \ $(am__DEPENDENCIES_3) +am_Int16Test_OBJECTS = Int16Test.$(OBJEXT) $(am__objects_1) +Int16Test_OBJECTS = $(am_Int16Test_OBJECTS) +Int16Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) +am_Int32Test_OBJECTS = Int32Test.$(OBJEXT) $(am__objects_1) +Int32Test_OBJECTS = $(am_Int32Test_OBJECTS) +Int32Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) +am_Int64Test_OBJECTS = Int64Test.$(OBJEXT) $(am__objects_1) +Int64Test_OBJECTS = $(am_Int64Test_OBJECTS) +Int64Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) +am_Int8Test_OBJECTS = Int8Test.$(OBJEXT) $(am__objects_1) +Int8Test_OBJECTS = $(am_Int8Test_OBJECTS) +Int8Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) am_MIMEUtilTest_OBJECTS = MIMEUtilTest.$(OBJEXT) MIMEUtilTest_OBJECTS = $(am_MIMEUtilTest_OBJECTS) MIMEUtilTest_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) @@ -349,6 +380,15 @@ am_SignalHandlerTest_OBJECTS = SignalHandlerTest.$(OBJEXT) SignalHandlerTest_OBJECTS = $(am_SignalHandlerTest_OBJECTS) SignalHandlerTest_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) +am_UInt16Test_OBJECTS = UInt16Test.$(OBJEXT) $(am__objects_1) +UInt16Test_OBJECTS = $(am_UInt16Test_OBJECTS) +UInt16Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) +am_UInt32Test_OBJECTS = UInt32Test.$(OBJEXT) $(am__objects_1) +UInt32Test_OBJECTS = $(am_UInt32Test_OBJECTS) +UInt32Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) +am_UInt64Test_OBJECTS = UInt64Test.$(OBJEXT) $(am__objects_1) +UInt64Test_OBJECTS = $(am_UInt64Test_OBJECTS) +UInt64Test_DEPENDENCIES = ../libdap.la $(am__DEPENDENCIES_3) am_ancT_OBJECTS = ancT.$(OBJEXT) ancT_OBJECTS = $(am_ancT_OBJECTS) ancT_DEPENDENCIES = ../libdapserver.la ../libdap.la \ @@ -448,27 +488,34 @@ am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(ArrayTest_SOURCES) $(AttrTableTest_SOURCES) \ - $(ByteTest_SOURCES) $(D4AsyncDocTest_SOURCES) \ - $(D4AttributesTest_SOURCES) $(D4DimensionsTest_SOURCES) \ + $(BaseTypeFactoryTest_SOURCES) $(ByteTest_SOURCES) \ + $(D4AsyncDocTest_SOURCES) $(D4AttributesTest_SOURCES) \ + $(D4BaseTypeFactoryTest_SOURCES) $(D4DimensionsTest_SOURCES) \ $(D4EnumDefsTest_SOURCES) $(D4EnumTest_SOURCES) \ $(D4FilterClauseTest_SOURCES) $(D4GroupTest_SOURCES) \ $(D4MarshallerTest_SOURCES) $(D4ParserSax2Test_SOURCES) \ $(D4SequenceTest_SOURCES) $(D4UnMarshallerTest_SOURCES) \ $(DASTest_SOURCES) $(DDSTest_SOURCES) $(DDXParserTest_SOURCES) \ $(DMRTest_SOURCES) $(DmrRoundTripTest_SOURCES) \ - $(DmrToDap2Test_SOURCES) $(HTTPCacheTest_SOURCES) \ - $(HTTPConnectTest_SOURCES) $(MIMEUtilTest_SOURCES) \ - $(MarshallerTest_SOURCES) $(RCReaderTest_SOURCES) \ - $(RegexTest_SOURCES) $(SequenceTest_SOURCES) \ - $(ServerFunctionsListUnitTest_SOURCES) \ - $(SignalHandlerTest_SOURCES) $(ancT_SOURCES) $(arrayT_SOURCES) \ - $(attrTableT_SOURCES) $(chunked_iostream_test_SOURCES) \ - $(dasT_SOURCES) $(ddsT_SOURCES) $(generalUtilTest_SOURCES) \ - $(marshT_SOURCES) $(parserUtilTest_SOURCES) \ - $(sequenceT_SOURCES) $(structT_SOURCES) + $(DmrToDap2Test_SOURCES) $(Float32Test_SOURCES) \ + $(Float64Test_SOURCES) $(HTTPCacheTest_SOURCES) \ + $(HTTPConnectTest_SOURCES) $(Int16Test_SOURCES) \ + $(Int32Test_SOURCES) $(Int64Test_SOURCES) $(Int8Test_SOURCES) \ + $(MIMEUtilTest_SOURCES) $(MarshallerTest_SOURCES) \ + $(RCReaderTest_SOURCES) $(RegexTest_SOURCES) \ + $(SequenceTest_SOURCES) $(ServerFunctionsListUnitTest_SOURCES) \ + $(SignalHandlerTest_SOURCES) $(UInt16Test_SOURCES) \ + $(UInt32Test_SOURCES) $(UInt64Test_SOURCES) $(ancT_SOURCES) \ + $(arrayT_SOURCES) $(attrTableT_SOURCES) \ + $(chunked_iostream_test_SOURCES) $(dasT_SOURCES) \ + $(ddsT_SOURCES) $(generalUtilTest_SOURCES) $(marshT_SOURCES) \ + $(parserUtilTest_SOURCES) $(sequenceT_SOURCES) \ + $(structT_SOURCES) DIST_SOURCES = $(ArrayTest_SOURCES) $(AttrTableTest_SOURCES) \ - $(ByteTest_SOURCES) $(am__D4AsyncDocTest_SOURCES_DIST) \ + $(BaseTypeFactoryTest_SOURCES) $(ByteTest_SOURCES) \ + $(am__D4AsyncDocTest_SOURCES_DIST) \ $(am__D4AttributesTest_SOURCES_DIST) \ + $(D4BaseTypeFactoryTest_SOURCES) \ $(am__D4DimensionsTest_SOURCES_DIST) \ $(am__D4EnumDefsTest_SOURCES_DIST) \ $(am__D4EnumTest_SOURCES_DIST) \ @@ -481,13 +528,16 @@ $(DDSTest_SOURCES) $(DDXParserTest_SOURCES) \ $(am__DMRTest_SOURCES_DIST) \ $(am__DmrRoundTripTest_SOURCES_DIST) \ - $(am__DmrToDap2Test_SOURCES_DIST) $(HTTPCacheTest_SOURCES) \ - $(HTTPConnectTest_SOURCES) $(MIMEUtilTest_SOURCES) \ - $(MarshallerTest_SOURCES) $(RCReaderTest_SOURCES) \ - $(RegexTest_SOURCES) $(SequenceTest_SOURCES) \ - $(ServerFunctionsListUnitTest_SOURCES) \ - $(SignalHandlerTest_SOURCES) $(ancT_SOURCES) $(arrayT_SOURCES) \ - $(attrTableT_SOURCES) \ + $(am__DmrToDap2Test_SOURCES_DIST) $(Float32Test_SOURCES) \ + $(Float64Test_SOURCES) $(HTTPCacheTest_SOURCES) \ + $(HTTPConnectTest_SOURCES) $(Int16Test_SOURCES) \ + $(Int32Test_SOURCES) $(Int64Test_SOURCES) $(Int8Test_SOURCES) \ + $(MIMEUtilTest_SOURCES) $(MarshallerTest_SOURCES) \ + $(RCReaderTest_SOURCES) $(RegexTest_SOURCES) \ + $(SequenceTest_SOURCES) $(ServerFunctionsListUnitTest_SOURCES) \ + $(SignalHandlerTest_SOURCES) $(UInt16Test_SOURCES) \ + $(UInt32Test_SOURCES) $(UInt64Test_SOURCES) $(ancT_SOURCES) \ + $(arrayT_SOURCES) $(attrTableT_SOURCES) \ $(am__chunked_iostream_test_SOURCES_DIST) $(dasT_SOURCES) \ $(ddsT_SOURCES) $(generalUtilTest_SOURCES) $(marshT_SOURCES) \ $(parserUtilTest_SOURCES) $(sequenceT_SOURCES) \ @@ -794,14 +844,17 @@ CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@ CPPUNIT_CONFIG = @CPPUNIT_CONFIG@ CPPUNIT_LIBS = @CPPUNIT_LIBS@ +CRYPTO_LIBS = @CRYPTO_LIBS@ CURL_CFLAGS = @CURL_CFLAGS@ CURL_LIBS = @CURL_LIBS@ CURL_STATIC_LIBS = @CURL_STATIC_LIBS@ CXX = @CXX@ +CXX11_FLAG = @CXX11_FLAG@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ +DAP3_2_DDX = @DAP3_2_DDX@ DAPLIB_AGE = @DAPLIB_AGE@ DAPLIB_CURRENT = @DAPLIB_CURRENT@ DAPLIB_REVISION = @DAPLIB_REVISION@ @@ -1112,7 +1165,6 @@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ -HAVE_VALGRIND = @HAVE_VALGRIND@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ @@ -1354,6 +1406,8 @@ STRIP = @STRIP@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIRPC_CFLAGS = @TIRPC_CFLAGS@ +TIRPC_LIBS = @TIRPC_LIBS@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1441,22 +1495,33 @@ # Headers in 'tests' are used by the arrayT unit tests. AM_CPPFLAGS = -I$(top_srcdir)/GNU -I$(top_srcdir) \ -I$(top_srcdir)/tests $(CURL_CFLAGS) $(XML2_CFLAGS) \ - $(am__append_2) + $(TIRPC_CFLAGS) $(am__append_2) AM_LDADD = $(XML2_LIBS) $(am__append_3) -AM_CXXFLAGS = $(am__append_1) $(am__append_4) +AM_CXXFLAGS = $(am__append_1) $(am__append_4) $(am__append_5) CXXFLAGS_DEBUG = -g3 -O0 -Wall -Wcast-align -@USE_VALGRIND_TRUE@TESTS_ENVIRONMENT = valgrind --quiet --trace-children=yes --error-exitcode=1 \ -@USE_VALGRIND_TRUE@--leak-check=yes --dsymutil=yes --suppressions=valgrind_suppressions.txt +# if USE_VALGRIND +# TESTS_ENVIRONMENT=valgrind --quiet --trace-children=yes --error-exitcode=1 \ +# --leak-check=yes --dsymutil=yes --suppressions=valgrind_suppressions.txt + +# # skip using --log-file="valgrind-%p.log" because it always generates files +# # Might also drop --dsymutil=yes because it can take a long time to run. +# endif + +# If valgrind is present, add valgrind targets. +# @VALGRIND_CHECK_RULES@ +VALGRIND_SUPPRESSIONS_FILES = valgrind_suppressions.txt +@USE_ASAN_TRUE@ASAN_FLAGS = -fsanitize=address -fno-omit-frame-pointer noinst_HEADERS = test_config.h DIRS_EXTRA = das-testsuite dds-testsuite ddx-testsuite \ rcreader-testsuite server-testsuite cgi-util-tests D4-xml \ -chunked-io D4-marshaller D4-type-testsuite +chunked-io D4-marshaller D4-type-testsuite dmr-testsuite \ +dmr-to-dap2-testsuite dmr-rt-testsuite EXTRA_DIST = $(DIRS_EXTRA) testFile.cc testFile.h test_config.h.in \ valgrind_suppressions.txt -CLEANFILES = testout .dodsrc *.gcda *.gcno *.gcov *.trs *.log *.file D4-xml.tar.gz +CLEANFILES = testout .dodsrc *.gcda *.gcno *.gcov *.trs *.log *.file D4-xml.tar.gz *.output DISTCLEANFILES = test_config.h *.strm *.file tmp.txt @CPPUNIT_FALSE@UNIT_TESTS = @@ -1469,7 +1534,11 @@ @CPPUNIT_TRUE@ DDXParserTest generalUtilTest HTTPConnectTest \ @CPPUNIT_TRUE@ parserUtilTest RCReaderTest SequenceTest \ @CPPUNIT_TRUE@ SignalHandlerTest MarshallerTest HTTPCacheTest \ -@CPPUNIT_TRUE@ ServerFunctionsListUnitTest $(am__append_5) +@CPPUNIT_TRUE@ ServerFunctionsListUnitTest Int8Test Int16Test \ +@CPPUNIT_TRUE@ UInt16Test Int32Test UInt32Test Int64Test \ +@CPPUNIT_TRUE@ UInt64Test Float32Test Float64Test \ +@CPPUNIT_TRUE@ D4BaseTypeFactoryTest BaseTypeFactoryTest \ +@CPPUNIT_TRUE@ $(am__append_6) TEST_SRC = testFile.cc testFile.h RegexTest_SOURCES = RegexTest.cc RegexTest_LDADD = ../libdap.la $(AM_LDADD) @@ -1487,6 +1556,28 @@ DASTest_LDADD = ../libdap.la $(AM_LDADD) DDSTest_SOURCES = DDSTest.cc $(TEST_SRC) DDSTest_LDADD = ../libdap.la $(AM_LDADD) +Int8Test_SOURCES = Int8Test.cc $(TEST_SRC) +Int8Test_LDADD = ../libdap.la $(AM_LDADD) +Int16Test_SOURCES = Int16Test.cc $(TEST_SRC) +Int16Test_LDADD = ../libdap.la $(AM_LDADD) +UInt16Test_SOURCES = UInt16Test.cc $(TEST_SRC) +UInt16Test_LDADD = ../libdap.la $(AM_LDADD) +Int32Test_SOURCES = Int32Test.cc $(TEST_SRC) +Int32Test_LDADD = ../libdap.la $(AM_LDADD) +UInt32Test_SOURCES = UInt32Test.cc $(TEST_SRC) +UInt32Test_LDADD = ../libdap.la $(AM_LDADD) +Int64Test_SOURCES = Int64Test.cc $(TEST_SRC) +Int64Test_LDADD = ../libdap.la $(AM_LDADD) +UInt64Test_SOURCES = UInt64Test.cc $(TEST_SRC) +UInt64Test_LDADD = ../libdap.la $(AM_LDADD) +Float32Test_SOURCES = Float32Test.cc $(TEST_SRC) +Float32Test_LDADD = ../libdap.la $(AM_LDADD) +Float64Test_SOURCES = Float64Test.cc $(TEST_SRC) +Float64Test_LDADD = ../libdap.la $(AM_LDADD) +D4BaseTypeFactoryTest_SOURCES = D4BaseTypeFactoryTest.cc $(TEST_SRC) +D4BaseTypeFactoryTest_LDADD = ../libdap.la $(AM_LDADD) +BaseTypeFactoryTest_SOURCES = BaseTypeFactoryTest.cc $(TEST_SRC) +BaseTypeFactoryTest_LDADD = ../libdap.la $(AM_LDADD) DDXParserTest_SOURCES = DDXParserTest.cc DDXParserTest_CPPFLAGS = $(AM_CPPFLAGS) $(XML2_CFLAGS) DDXParserTest_LDADD = ../libdap.la $(AM_LDADD) @@ -1620,6 +1711,10 @@ @rm -f AttrTableTest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(AttrTableTest_OBJECTS) $(AttrTableTest_LDADD) $(LIBS) +BaseTypeFactoryTest$(EXEEXT): $(BaseTypeFactoryTest_OBJECTS) $(BaseTypeFactoryTest_DEPENDENCIES) $(EXTRA_BaseTypeFactoryTest_DEPENDENCIES) + @rm -f BaseTypeFactoryTest$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(BaseTypeFactoryTest_OBJECTS) $(BaseTypeFactoryTest_LDADD) $(LIBS) + ByteTest$(EXEEXT): $(ByteTest_OBJECTS) $(ByteTest_DEPENDENCIES) $(EXTRA_ByteTest_DEPENDENCIES) @rm -f ByteTest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(ByteTest_OBJECTS) $(ByteTest_LDADD) $(LIBS) @@ -1632,6 +1727,10 @@ @rm -f D4AttributesTest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(D4AttributesTest_OBJECTS) $(D4AttributesTest_LDADD) $(LIBS) +D4BaseTypeFactoryTest$(EXEEXT): $(D4BaseTypeFactoryTest_OBJECTS) $(D4BaseTypeFactoryTest_DEPENDENCIES) $(EXTRA_D4BaseTypeFactoryTest_DEPENDENCIES) + @rm -f D4BaseTypeFactoryTest$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(D4BaseTypeFactoryTest_OBJECTS) $(D4BaseTypeFactoryTest_LDADD) $(LIBS) + D4DimensionsTest$(EXEEXT): $(D4DimensionsTest_OBJECTS) $(D4DimensionsTest_DEPENDENCIES) $(EXTRA_D4DimensionsTest_DEPENDENCIES) @rm -f D4DimensionsTest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(D4DimensionsTest_OBJECTS) $(D4DimensionsTest_LDADD) $(LIBS) @@ -1692,6 +1791,14 @@ @rm -f DmrToDap2Test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(DmrToDap2Test_OBJECTS) $(DmrToDap2Test_LDADD) $(LIBS) +Float32Test$(EXEEXT): $(Float32Test_OBJECTS) $(Float32Test_DEPENDENCIES) $(EXTRA_Float32Test_DEPENDENCIES) + @rm -f Float32Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(Float32Test_OBJECTS) $(Float32Test_LDADD) $(LIBS) + +Float64Test$(EXEEXT): $(Float64Test_OBJECTS) $(Float64Test_DEPENDENCIES) $(EXTRA_Float64Test_DEPENDENCIES) + @rm -f Float64Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(Float64Test_OBJECTS) $(Float64Test_LDADD) $(LIBS) + HTTPCacheTest$(EXEEXT): $(HTTPCacheTest_OBJECTS) $(HTTPCacheTest_DEPENDENCIES) $(EXTRA_HTTPCacheTest_DEPENDENCIES) @rm -f HTTPCacheTest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(HTTPCacheTest_OBJECTS) $(HTTPCacheTest_LDADD) $(LIBS) @@ -1700,6 +1807,22 @@ @rm -f HTTPConnectTest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(HTTPConnectTest_OBJECTS) $(HTTPConnectTest_LDADD) $(LIBS) +Int16Test$(EXEEXT): $(Int16Test_OBJECTS) $(Int16Test_DEPENDENCIES) $(EXTRA_Int16Test_DEPENDENCIES) + @rm -f Int16Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(Int16Test_OBJECTS) $(Int16Test_LDADD) $(LIBS) + +Int32Test$(EXEEXT): $(Int32Test_OBJECTS) $(Int32Test_DEPENDENCIES) $(EXTRA_Int32Test_DEPENDENCIES) + @rm -f Int32Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(Int32Test_OBJECTS) $(Int32Test_LDADD) $(LIBS) + +Int64Test$(EXEEXT): $(Int64Test_OBJECTS) $(Int64Test_DEPENDENCIES) $(EXTRA_Int64Test_DEPENDENCIES) + @rm -f Int64Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(Int64Test_OBJECTS) $(Int64Test_LDADD) $(LIBS) + +Int8Test$(EXEEXT): $(Int8Test_OBJECTS) $(Int8Test_DEPENDENCIES) $(EXTRA_Int8Test_DEPENDENCIES) + @rm -f Int8Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(Int8Test_OBJECTS) $(Int8Test_LDADD) $(LIBS) + MIMEUtilTest$(EXEEXT): $(MIMEUtilTest_OBJECTS) $(MIMEUtilTest_DEPENDENCIES) $(EXTRA_MIMEUtilTest_DEPENDENCIES) @rm -f MIMEUtilTest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(MIMEUtilTest_OBJECTS) $(MIMEUtilTest_LDADD) $(LIBS) @@ -1728,6 +1851,18 @@ @rm -f SignalHandlerTest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(SignalHandlerTest_OBJECTS) $(SignalHandlerTest_LDADD) $(LIBS) +UInt16Test$(EXEEXT): $(UInt16Test_OBJECTS) $(UInt16Test_DEPENDENCIES) $(EXTRA_UInt16Test_DEPENDENCIES) + @rm -f UInt16Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(UInt16Test_OBJECTS) $(UInt16Test_LDADD) $(LIBS) + +UInt32Test$(EXEEXT): $(UInt32Test_OBJECTS) $(UInt32Test_DEPENDENCIES) $(EXTRA_UInt32Test_DEPENDENCIES) + @rm -f UInt32Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(UInt32Test_OBJECTS) $(UInt32Test_LDADD) $(LIBS) + +UInt64Test$(EXEEXT): $(UInt64Test_OBJECTS) $(UInt64Test_DEPENDENCIES) $(EXTRA_UInt64Test_DEPENDENCIES) + @rm -f UInt64Test$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(UInt64Test_OBJECTS) $(UInt64Test_LDADD) $(LIBS) + ancT$(EXEEXT): $(ancT_OBJECTS) $(ancT_DEPENDENCIES) $(EXTRA_ancT_DEPENDENCIES) @rm -f ancT$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(ancT_OBJECTS) $(ancT_LDADD) $(LIBS) @@ -1780,9 +1915,11 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ArrayTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AttrTableTest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BaseTypeFactoryTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ByteTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/D4AsyncDocTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/D4AttributesTest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/D4BaseTypeFactoryTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/D4DimensionsTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/D4EnumDefsTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/D4EnumTest.Po@am__quote@ @@ -1798,8 +1935,14 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DMRTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DmrRoundTripTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DmrToDap2Test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Float32Test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Float64Test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HTTPCacheTest-HTTPCacheTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HTTPConnectTest-HTTPConnectTest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Int16Test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Int32Test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Int64Test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Int8Test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MIMEUtilTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MarshallerTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RCReaderTest.Po@am__quote@ @@ -1807,6 +1950,9 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SequenceTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServerFunctionsListUnitTest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SignalHandlerTest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UInt16Test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UInt32Test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UInt64Test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ancT.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arrayT.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attrTableT.Po@am__quote@ @@ -2303,6 +2449,83 @@ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +Int8Test.log: Int8Test$(EXEEXT) + @p='Int8Test$(EXEEXT)'; \ + b='Int8Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +Int16Test.log: Int16Test$(EXEEXT) + @p='Int16Test$(EXEEXT)'; \ + b='Int16Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +UInt16Test.log: UInt16Test$(EXEEXT) + @p='UInt16Test$(EXEEXT)'; \ + b='UInt16Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +Int32Test.log: Int32Test$(EXEEXT) + @p='Int32Test$(EXEEXT)'; \ + b='Int32Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +UInt32Test.log: UInt32Test$(EXEEXT) + @p='UInt32Test$(EXEEXT)'; \ + b='UInt32Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +Int64Test.log: Int64Test$(EXEEXT) + @p='Int64Test$(EXEEXT)'; \ + b='Int64Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +UInt64Test.log: UInt64Test$(EXEEXT) + @p='UInt64Test$(EXEEXT)'; \ + b='UInt64Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +Float32Test.log: Float32Test$(EXEEXT) + @p='Float32Test$(EXEEXT)'; \ + b='Float32Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +Float64Test.log: Float64Test$(EXEEXT) + @p='Float64Test$(EXEEXT)'; \ + b='Float64Test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +D4BaseTypeFactoryTest.log: D4BaseTypeFactoryTest$(EXEEXT) + @p='D4BaseTypeFactoryTest$(EXEEXT)'; \ + b='D4BaseTypeFactoryTest'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +BaseTypeFactoryTest.log: BaseTypeFactoryTest$(EXEEXT) + @p='BaseTypeFactoryTest$(EXEEXT)'; \ + b='BaseTypeFactoryTest'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) D4MarshallerTest.log: D4MarshallerTest$(EXEEXT) @p='D4MarshallerTest$(EXEEXT)'; \ diff -Nru libdap-3.19.1/unit-tests/marshT.cc libdap-3.20.5/unit-tests/marshT.cc --- libdap-3.19.1/unit-tests/marshT.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/marshT.cc 2020-02-17 07:35:45.000000000 +0000 @@ -164,34 +164,41 @@ s = 0; } + void data_dds_dump_test() + { + TestTypeFactory ttf; + DataDDS dds(&ttf, "CaptainKirk"); + ostringstream sof; + dds.dump(sof); + CPPUNIT_ASSERT(sof.str().find("d_name: CaptainKirk") != string::npos); + } + void marshT_test_write(Marshaller &fm) { ConstraintEvaluator eval; TestTypeFactory ttf; DataDDS dds(&ttf, "dds"); - - try { - DBG(cerr << "serializing using XDRFileMarshaller" << endl); - - b->serialize(eval, dds, fm, false); - i16->serialize(eval, dds, fm, false); - i32->serialize(eval, dds, fm, false); - ui16->serialize(eval, dds, fm, false); - ui32->serialize(eval, dds, fm, false); - f32->serialize(eval, dds, fm, false); - f64->serialize(eval, dds, fm, false); - str->serialize(eval, dds, fm, false); - url->serialize(eval, dds, fm, false); - s->serialize(eval, dds, fm, false); - arr->serialize(eval, dds, fm, false); - seq->serialize(eval, dds, fm, false); - - DBG(cerr << "done serializing using XDRFileMarshaller" << endl); - } - catch (Error &e) { - string err = "failed:" + e.get_error_message(); - CPPUNIT_FAIL(err.c_str()); - } + + DBG(cerr << "serializing using XDRFileMarshaller" << endl); + + BaseType *bt = static_cast(b); + FILE *f = fopen("test.file", "w"); + CPPUNIT_ASSERT_THROW(bt->BaseType::serialize(eval, dds, fm, false), InternalErr); + fclose(f); + b->serialize(eval, dds, fm, false); + i16->serialize(eval, dds, fm, false); + i32->serialize(eval, dds, fm, false); + ui16->serialize(eval, dds, fm, false); + ui32->serialize(eval, dds, fm, false); + f32->serialize(eval, dds, fm, false); + f64->serialize(eval, dds, fm, false); + str->serialize(eval, dds, fm, false); + url->serialize(eval, dds, fm, false); + s->serialize(eval, dds, fm, false); + arr->serialize(eval, dds, fm, false); + seq->serialize(eval, dds, fm, false); + + DBG(cerr << "done serializing using XDRFileMarshaller" << endl); } // This test depends on the file written by the .._write_file() test, @@ -390,6 +397,7 @@ CPPUNIT_TEST_SUITE (marshT); + CPPUNIT_TEST (data_dds_dump_test); CPPUNIT_TEST (marshT_test_write_file); CPPUNIT_TEST (marshT_test_read_file); CPPUNIT_TEST (marshT_test_write_stream); diff -Nru libdap-3.19.1/unit-tests/structT.cc libdap-3.20.5/unit-tests/structT.cc --- libdap-3.19.1/unit-tests/structT.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/structT.cc 2020-02-17 07:35:45.000000000 +0000 @@ -75,13 +75,14 @@ delete bt; bt = 0; - // TODO Check Does this leak the Int16 - Array *abt = factory->NewArray("name_array", factory->NewInt16("array_int")); + Int16 *i16 = factory->NewInt16("array_int"); + Array *abt = factory->NewArray("name_array", i16); abt->append_dim(4, "dim1"); abt->append_dim(3, "dim2"); abt->append_dim(2, "dim3"); s.add_var(abt); delete abt; + delete i16; abt = 0; bt = 0; diff -Nru libdap-3.19.1/unit-tests/test_config.h libdap-3.20.5/unit-tests/test_config.h --- libdap-3.19.1/unit-tests/test_config.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/test_config.h 2020-02-17 07:35:45.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef E_test_config_h #define E_test_config_h -#define TEST_SRC_DIR "/Users/jimg/src/opendap/hyrax_git/libdap4/unit-tests" +#define TEST_SRC_DIR "/Users/ndp/OPeNDAP/hyrax/libdap4/unit-tests" #endif diff -Nru libdap-3.19.1/unit-tests/testFile.cc libdap-3.20.5/unit-tests/testFile.cc --- libdap-3.19.1/unit-tests/testFile.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/testFile.cc 2020-02-17 07:35:45.000000000 +0000 @@ -9,7 +9,7 @@ using namespace std; string -readTestBaseline(const string &fn) +read_test_baseline(const string &fn) { int length; diff -Nru libdap-3.19.1/unit-tests/testFile.h libdap-3.20.5/unit-tests/testFile.h --- libdap-3.19.1/unit-tests/testFile.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/testFile.h 2020-02-17 07:35:45.000000000 +0000 @@ -18,4 +18,4 @@ } while(0); #endif -string readTestBaseline(const string &fn); +string read_test_baseline(const string &fn); diff -Nru libdap-3.19.1/unit-tests/UInt16Test.cc libdap-3.20.5/unit-tests/UInt16Test.cc --- libdap-3.19.1/unit-tests/UInt16Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/UInt16Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,312 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class UInt16Test: public TestFixture { +private: + UInt16 *i1, *i2; + char a[1024]; + +public: + UInt16Test() : i1(0), i2(0) + { + } + ~UInt16Test() + { + } + + void setUp() + { + i1 = new UInt16("a", "b"); + i2 = new UInt16("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(UInt16Test); + + CPPUNIT_TEST(cons_UInt16_test); + CPPUNIT_TEST(checksum_test); + CPPUNIT_TEST(val2buf_test); + CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(print_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_UInt16_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_uint16_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + + void val2buf_test() + { + unsigned short i = 42; + i2->val2buf(&i, true); + CPPUNIT_ASSERT(i2->value() == 42); + CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); + } + + void buf2val_test() + { + unsigned short i = 42; + void *v = &i; + unsigned short *v2 = NULL; + CPPUNIT_ASSERT(i2->set_value(0)); + CPPUNIT_ASSERT(i2->buf2val(&v) == 2 && i == 0); + CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); + CPPUNIT_ASSERT(i2->buf2val((void **)&v2) == 2 && *v2 == 0); + delete v2; + } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + UInt16 i3 = UInt16("a", "b"); + UInt16 i4 = UInt16("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(ui16.value() == 42); + CPPUNIT_ASSERT(ui16.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui16.ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(ui16.ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(ui16.ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(ui16.ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(ui16.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + UInt16 ui16 = UInt16("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(ui16.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + UInt16 ui16 = UInt16("a", "b"); + ui16.set_read_p(false); + CPPUNIT_ASSERT_THROW(ui16.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("UInt16Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("UInt16Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "21")); + } + + void print_test() + { + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("UInt16Test.output", "w")); + i1->set_value(22); + i1->print_val(fp, " ", true); + fclose(fp); + ifstream ifs("UInt16Test.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "22;")); + } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(UInt16Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: UInt16Test has the following tests:" << endl; + const std::vector &tests = libdap::UInt16Test::suite()->getTests(); + unsigned int prefix_len = libdap::UInt16Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::UInt16Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/UInt32Test.cc libdap-3.20.5/unit-tests/UInt32Test.cc --- libdap-3.19.1/unit-tests/UInt32Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/UInt32Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,312 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class UInt32Test: public TestFixture { +private: + UInt32 *i1, *i2; + char a[1024]; + +public: + UInt32Test() : i1(0), i2(0) + { + } + ~UInt32Test() + { + } + + void setUp() + { + i1 = new UInt32("a", "b"); + i2 = new UInt32("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(UInt32Test); + + CPPUNIT_TEST(cons_UInt32_test); + CPPUNIT_TEST(checksum_test); + CPPUNIT_TEST(val2buf_test); + CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + CPPUNIT_TEST(print_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_UInt32_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_uint32_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + + void val2buf_test() + { + int i = 42; + i2->val2buf(&i, true); + CPPUNIT_ASSERT(i2->value() == 42); + CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); + } + + void buf2val_test() + { + int i = 42; + void *v = &i; + unsigned int *v2 = NULL; + CPPUNIT_ASSERT(i2->set_value(0)); + CPPUNIT_ASSERT(i2->buf2val(&v) == 4 && i == 0); + CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); + CPPUNIT_ASSERT(i2->buf2val((void **)&v2) == 4 && *v2 == 0); + delete v2; + } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + UInt32 i3 = UInt32("a", "b"); + UInt32 i4 = UInt32("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(ui32.value() == 42); + CPPUNIT_ASSERT(ui32.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui32.ops(&f64, SCAN_EQUAL)); + + CPPUNIT_ASSERT_THROW(ui32.ops(&url, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(ui32.ops(&str, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(ui32.ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT_THROW(ui32.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + UInt32 ui32 = UInt32("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(ui32.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + UInt32 ui32 = UInt32("a", "b"); + ui32.set_read_p(false); + CPPUNIT_ASSERT_THROW(ui32.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("UInt32Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("UInt32Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "21")); + } + + void print_test() + { + FILE *fp; + CPPUNIT_ASSERT(fp = fopen("UInt32Test.output", "w")); + i1->set_value(22); + i1->print_val(fp, " ", true); + fclose(fp); + ifstream ifs("UInt32Test.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "22;")); + } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(UInt32Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: UInt32Test has the following tests:" << endl; + const std::vector &tests = libdap::UInt32Test::suite()->getTests(); + unsigned int prefix_len = libdap::UInt32Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::UInt32Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/UInt64Test.cc libdap-3.20.5/unit-tests/UInt64Test.cc --- libdap-3.19.1/unit-tests/UInt64Test.cc 1970-01-01 00:00:00.000000000 +0000 +++ libdap-3.20.5/unit-tests/UInt64Test.cc 2020-02-17 07:35:45.000000000 +0000 @@ -0,0 +1,314 @@ +// -*- mode: c++; c-basic-offset:4 -*- + +// This file is part of libdap, A C++ implementation of the OPeNDAP Data +// Access Protocol. + +// Copyright (c) 2002,2003 OPeNDAP, Inc. +// Author: James Gallagher +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// +// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. + +#include "config.h" + +#include +#include +#include + +#include +#include + +#include "Byte.h" +#include "Int8.h" +#include "Int16.h" +#include "UInt16.h" +#include "Int32.h" +#include "UInt32.h" +#include "Int64.h" +#include "UInt64.h" +#include "Float32.h" +#include "Float64.h" +#include "Str.h" +#include "Url.h" +#include "Array.h" +#include "Structure.h" +#include "Sequence.h" +#include "Grid.h" +#include "crc.h" + +#include "DDS.h" + +#include "GNURegex.h" +#include "GetOpt.h" +#include "util.h" +#include "debug.h" +#include "ce_expr.tab.hh" + +#include "testFile.h" +#include "test_config.h" + +static bool debug = false; + +#undef DBG +#define DBG(x) do { if (debug) {x;} } while(false) + +using namespace CppUnit; +using namespace std; + +namespace libdap { + +class UInt64Test: public TestFixture { +private: + UInt64 *i1, *i2; + char a[1024]; + +public: + UInt64Test() : i1(0), i2(0) + { + } + ~UInt64Test() + { + } + + void setUp() + { + i1 = new UInt64("a", "b"); + i2 = new UInt64("e"); + } + + void tearDown() + { + delete i1; + delete i2; + } + + CPPUNIT_TEST_SUITE(UInt64Test); + + CPPUNIT_TEST(cons_UInt64_test); + CPPUNIT_TEST(checksum_test); + // CPPUNIT_TEST(val2buf_test); + // CPPUNIT_TEST(buf2val_test); + CPPUNIT_TEST(set_value_test); + CPPUNIT_TEST(equals_test); + CPPUNIT_TEST(type_compare_test); + CPPUNIT_TEST(ops_exception_1_test); + CPPUNIT_TEST(ops_exception_2_test); + CPPUNIT_TEST(dump_test); + // CPPUNIT_TEST(print_test); + CPPUNIT_TEST(check_types); + + CPPUNIT_TEST_SUITE_END(); + + void cons_UInt64_test() + { + CPPUNIT_ASSERT(i1->value() == 0 && i1->dataset() == "b" && i1->name() == "a" && + i1->type() == dods_uint64_c); + CPPUNIT_ASSERT(i2->value() == 0); + } + + void checksum_test() + { + Crc32 cs; + i2->compute_checksum(cs); + } + + // void val2buf_test() + // { + // int i = 42; + // i2->val2buf(&i, true); + // CPPUNIT_ASSERT(i2->value() == 42); + // CPPUNIT_ASSERT_THROW(i2->val2buf(NULL, true), InternalErr); + // } + + // void buf2val_test() + // { + // int i = 42; + // void *v = &i; + // void *v2 = NULL; + // CPPUNIT_ASSERT(i2->set_value(0)); + // CPPUNIT_ASSERT(i2->buf2val(&v) == 4 && i == 0); + // CPPUNIT_ASSERT_THROW(i2->buf2val(NULL), InternalErr); + // CPPUNIT_ASSERT(i2->buf2val(&v2) == 4 && *(int *)v2 == 0); + // } + + void set_value_test() + { + CPPUNIT_ASSERT(i2->set_value(42) && i2->value() == 42); + } + + void equals_test() + { + UInt64 i3 = UInt64("a", "b"); + UInt64 i4 = UInt64("e"); + CPPUNIT_ASSERT(i4.set_value(42) && i4.value() == 42); + i3 = i4; + CPPUNIT_ASSERT(i3.value() == 42); + i3 = i3; + } + + void type_compare_test() + { + Byte b1 = Byte("a"); + Int8 i8 = Int8("a"); + Int16 i16 = Int16("a"); + UInt16 ui16 = UInt16("a"); + Int32 i32 = Int32("a", "b"); + UInt32 ui32 = UInt32("a", "b"); + Int64 i64 = Int64("a", "b"); + UInt64 ui64 = UInt64("a", "b"); + Float32 f32 = Float32("a"); + Float64 f64 = Float64("a"); + Url url = Url("a"); + Str str = Str("a"); + Array array = Array("a", &i16, true); + + b1.set_value(42); + i8.set_value(42); + i16.set_value(42); + ui16.set_value(42); + i32.set_value(42); + ui32.set_value(42); + i64.set_value(42); + ui64.set_value(42); + f32.set_value(42); + f64.set_value(42); + CPPUNIT_ASSERT(ui64.value() == 42); + CPPUNIT_ASSERT(ui64.ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&b1, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&i8, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&i16, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&ui16, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&i32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&ui32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&i64, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&ui64, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&f32, SCAN_EQUAL)); + CPPUNIT_ASSERT(ui64.d4_ops(&f64, SCAN_EQUAL)); + + // CPPUNIT_ASSERT_THROW(ui64.d4_ops(&url, SCAN_EQUAL), Error); + // CPPUNIT_ASSERT_THROW(ui64.d4_ops(&str, SCAN_EQUAL), Error); + // CPPUNIT_ASSERT_THROW(ui64.d4_ops(&array, SCAN_EQUAL), Error); + CPPUNIT_ASSERT(!ui64.d4_ops(&url, SCAN_EQUAL)); + CPPUNIT_ASSERT(!ui64.d4_ops(&str, SCAN_EQUAL)); + CPPUNIT_ASSERT(!ui64.d4_ops(&array, SCAN_EQUAL)); + CPPUNIT_ASSERT_THROW(ui64.ops(0, SCAN_EQUAL), Error); + } + + void ops_exception_1_test() + { + Byte b1 = Byte("a"); + UInt64 ui64 = UInt64("a", "b"); + b1.set_read_p(false); + CPPUNIT_ASSERT_THROW(ui64.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void ops_exception_2_test() + { + Byte b1 = Byte("a"); + UInt64 ui64 = UInt64("a", "b"); + ui64.set_read_p(false); + CPPUNIT_ASSERT_THROW(ui64.ops(&b1, SCAN_EQUAL), InternalErr); + } + + void dump_test() + { + ofstream ofs("UInt64Test_dump.output", ios::trunc); + i1->set_value(21); + i1->dump(ofs); + ofs.close(); + ifstream ifs("UInt64Test_dump.output"); + while(!ifs.eof()) + ifs >> a; + ifs.close(); + CPPUNIT_ASSERT(!strcmp(a, "21")); + } + + // void print_test() + // { + // FILE *fp; + // CPPUNIT_ASSERT(fp = fopen("UInt64Test.output", "w")); + // i1->set_value(22); + // i1->print_val(fp, " ", true); + // fclose(fp); + // ifstream ifs("UInt64Test.output"); + // while(!ifs.eof()) + // ifs >> a; + // ifs.close(); + // CPPUNIT_ASSERT(!strcmp(a, "22;")); + // } + + void check_types() + { + Byte *b1 = new Byte("b"); + b1->set_value(14); + i1->set_value(14); +// CPPUNIT_ASSERT(b1 == i1); + delete b1; + } + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(UInt64Test); + +} // namespace libdap + +int main(int argc, char *argv[]) +{ + GetOpt getopt(argc, argv, "dh"); + int option_char; + + while ((option_char = getopt()) != -1) + switch (option_char) { + case 'd': + debug = 1; // debug is a static global + break; + + case 'h': { // help - show test names + cerr << "Usage: UInt64Test has the following tests:" << endl; + const std::vector &tests = libdap::UInt64Test::suite()->getTests(); + unsigned int prefix_len = libdap::UInt64Test::suite()->getName().append("::").length(); + for (std::vector::const_iterator i = tests.begin(), e = tests.end(); i != e; ++i) { + cerr << (*i)->getName().replace(0, prefix_len, "") << endl; + } + return 1; + break; + } + + default: + break; + } + + CppUnit::TextTestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + + bool wasSuccessful = true; + string test = ""; + int i = getopt.optind; + if (i == argc) { + // run them all + wasSuccessful = runner.run(""); + } + else { + for (; i < argc; ++i) { + if (debug) cerr << "Running " << argv[i] << endl; + test = libdap::UInt64Test::suite()->getName().append("::").append(argv[i]); + wasSuccessful = wasSuccessful && runner.run(test); + } + } + + return wasSuccessful ? 0 : 1; +} + diff -Nru libdap-3.19.1/unit-tests/valgrind_suppressions.txt libdap-3.20.5/unit-tests/valgrind_suppressions.txt --- libdap-3.19.1/unit-tests/valgrind_suppressions.txt 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/unit-tests/valgrind_suppressions.txt 2020-02-17 07:35:45.000000000 +0000 @@ -88,3 +88,85 @@ obj:* obj:* } + +{ + + Memcheck:Free + fun:free + obj:/bin/bash + fun:run_unwind_frame + fun:parse_and_execute + fun:command_substitute + obj:/bin/bash + obj:/bin/bash + fun:expand_word_unsplit + fun:execute_command_internal + fun:execute_command + fun:execute_command_internal + fun:execute_command +} +{ + + Memcheck:Free + fun:free + obj:/bin/bash + fun:run_unwind_frame + fun:parse_and_execute + fun:command_substitute + obj:/bin/bash + obj:/bin/bash + fun:expand_string_assignment + obj:/bin/bash + obj:/bin/bash + obj:/bin/bash + obj:/bin/bash +} +{ + + Memcheck:Free + fun:free + obj:/bin/bash + fun:run_unwind_frame + fun:parse_and_execute + fun:command_substitute + obj:/bin/bash + obj:/bin/bash + fun:expand_string_assignment + obj:/bin/bash + obj:/bin/bash + obj:/bin/bash + obj:/bin/bash +} +{ + + Memcheck:Free + fun:free + obj:/bin/bash + fun:run_unwind_frame + fun:parse_and_execute + fun:command_substitute + obj:/bin/bash + obj:/bin/bash + fun:expand_string_assignment + obj:/bin/bash + obj:/bin/bash + obj:/bin/bash + obj:/bin/bash +} + +{ + + Memcheck:Free + fun:free + obj:/bin/bash + fun:run_unwind_frame + fun:parse_and_execute + fun:command_substitute + obj:/bin/bash + obj:/bin/bash + fun:expand_string_assignment + obj:/bin/bash + obj:/bin/bash + obj:/bin/bash + obj:/bin/bash +} diff -Nru libdap-3.19.1/UnMarshaller.h libdap-3.20.5/UnMarshaller.h --- libdap-3.19.1/UnMarshaller.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/UnMarshaller.h 2020-02-17 07:35:45.000000000 +0000 @@ -76,7 +76,7 @@ virtual void get_vector( char **val, unsigned int &num, int width, Vector &vec ) = 0 ; - virtual void dump(ostream &strm) const = 0 ; + virtual void dump(std::ostream &strm) const = 0 ; } ; } // namespace libdap diff -Nru libdap-3.19.1/Url.h libdap-3.20.5/Url.h --- libdap-3.19.1/Url.h 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Url.h 2020-02-17 07:35:45.000000000 +0000 @@ -39,6 +39,7 @@ #include +#if 0 #ifndef _dods_limits_h #include "dods-limits.h" #endif @@ -46,14 +47,18 @@ #ifndef _basetype_h #include "BaseType.h" #endif +#endif + -#ifndef _str_h +// #ifndef _str_h #include "Str.h" -#endif +//#endif namespace libdap { +class BaseType; + const unsigned int max_url_len = 255; /** @brief Holds an Internet address (URL). @@ -63,17 +68,19 @@ class Url: public Str { +#if 0 private: - string _buf; +string _buf; - // This enables methods of Str to access _buf in this class. - friend class Str; +// This enables methods of Str to access _buf in this class. +friend class Str; +#endif public: - Url(const string &n); - Url(const string &n, const string &d); - Url(const string &n, Type t); - Url(const string &n, const string &d, Type t); + Url(const std::string &n); + Url(const std::string &n, const std::string &d); + Url(const std::string &n, Type t); + Url(const std::string &n, const std::string &d, Type t); virtual ~Url() {} diff -Nru libdap-3.19.1/util.cc libdap-3.20.5/util.cc --- libdap-3.19.1/util.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/util.cc 2020-02-17 07:35:45.000000000 +0000 @@ -807,8 +807,6 @@ default: return false; } - - return false; } /** @brief Returns true if the instance is a vector (i.e., array) type @@ -852,8 +850,6 @@ default: return false; } - - return false; } /** @brief Returns true if the instance is a constructor (i.e., Structure, @@ -895,8 +891,6 @@ default: return true; } - - return false; } /** @@ -1142,8 +1136,6 @@ break; } } - - return 1; // Should never get here; this quiets gcc's warning } /** @name Security functions */ diff -Nru libdap-3.19.1/Vector.cc libdap-3.20.5/Vector.cc --- libdap-3.19.1/Vector.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/Vector.cc 2020-02-17 07:35:45.000000000 +0000 @@ -64,6 +64,7 @@ #include "util.h" #include "debug.h" #include "InternalErr.h" +#include "DapIndent.h" #undef CLEAR_LOCAL_DATA @@ -145,7 +146,6 @@ case dods_enum_c: return true; - break; // These must be handled differently. case dods_str_c: @@ -158,7 +158,6 @@ case dods_sequence_c: case dods_grid_c: return false; - break; default: assert("Vector::var: Unrecognized type"); @@ -510,13 +509,11 @@ // Transfer the ith value to the BaseType *d_proto d_proto->val2buf(d_buf + (i * d_proto->width())); return d_proto; - break; case dods_str_c: case dods_url_c: d_proto->val2buf(&d_str[i]); return d_proto; - break; case dods_opaque_c: case dods_array_c: @@ -524,14 +521,10 @@ case dods_sequence_c: case dods_grid_c: return d_compound_buf[i]; - break; default: throw Error ("Vector::var: Unrecognized type"); - break; } - - return 0; } /** Returns the number of bytes needed to hold the entire @@ -631,7 +624,6 @@ case dods_array_c: // This is an error since there can never be an Array of Array. throw InternalErr(__FILE__, __LINE__, "Array of Array not supported."); - break; case dods_structure_c: case dods_sequence_c: @@ -652,7 +644,6 @@ default: throw InternalErr(__FILE__, __LINE__, "Unknown datatype."); - break; } } @@ -669,9 +660,6 @@ bool Vector::serialize(ConstraintEvaluator & eval, DDS & dds, Marshaller &m, bool ce_eval) { -#if 0 - dds.timeout_on(); -#endif // Added to streamline zero-length arrays. Not needed for correct function, // but explicitly handling this case here makes the code easier to follow. // In libdap::Vector::val2buf() there is a test that will catch the zero-length @@ -684,9 +672,7 @@ if (ce_eval && !eval.eval_selection(dds, dataset())) return true; -#if 0 - dds.timeout_off(); -#endif + // length() is not capacity; it must be set explicitly in read(). int num = length(); @@ -740,7 +726,6 @@ default: throw InternalErr(__FILE__, __LINE__, "Unknown datatype."); - break; } #ifdef CLEAR_LOCAL_DATA @@ -842,7 +827,6 @@ // Added jhrg 5/18/17 // This replaces a comment that was simply 'TO DO' throw InternalErr(__FILE__, __LINE__, "Array of array!"); - break; case dods_structure_c: case dods_sequence_c: @@ -866,7 +850,6 @@ default: throw InternalErr(__FILE__, __LINE__, "Unknown type!"); - break; } return false; @@ -911,7 +894,6 @@ case dods_grid_c: // No grids in DAP4 default: throw InternalErr(__FILE__, __LINE__, "Unknown or unsupported datatype (" + d_proto->type_name() + ")."); - break; } } @@ -959,7 +941,6 @@ case dods_grid_c: default: throw InternalErr(__FILE__, __LINE__, "Unknown or unsupported datatype (" + d_proto->type_name() + ")."); - break; } } @@ -1041,7 +1022,6 @@ default: throw InternalErr(__FILE__, __LINE__, "Unknown datatype."); - break; } #ifdef CLEAR_LOCAL_DATA @@ -1131,7 +1111,6 @@ default: throw InternalErr(__FILE__, __LINE__, "Unknown type."); - break; } } @@ -1295,7 +1274,6 @@ memcpy(*val, d_buf, wid); return wid; - break; case dods_str_c: case dods_url_c: { @@ -1308,7 +1286,6 @@ *(static_cast (*val) + i) = d_str[i]; return width(); - break; } default: @@ -1467,7 +1444,6 @@ case dods_array_c: throw InternalErr(__FILE__, __LINE__, "reserve_value_capacity: Arrays not supported!"); - break; case dods_opaque_c: case dods_structure_c: @@ -1480,8 +1456,6 @@ default: throw InternalErr(__FILE__, __LINE__, "reserve_value_capacity: Unknown type!"); - break; - } // switch } @@ -1614,12 +1588,9 @@ // Not sure that this function will be used for these type of nested objects, so I will throw here. throw InternalErr(__FILE__, __LINE__, funcName + "Unimplemented method for Vectors of type: array, opaque, structure, sequence or grid."); - break; default: throw InternalErr(__FILE__, __LINE__, funcName + ": Unknown type!"); - break; - } // switch (_var->type()) // This is how many elements we copied. diff -Nru libdap-3.19.1/XDRFileMarshaller.cc libdap-3.20.5/XDRFileMarshaller.cc --- libdap-3.19.1/XDRFileMarshaller.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/XDRFileMarshaller.cc 2020-02-17 07:35:45.000000000 +0000 @@ -50,6 +50,7 @@ #include "util.h" #include "InternalErr.h" +#include "DapIndent.h" namespace libdap { @@ -75,8 +76,6 @@ XDRFileMarshaller::operator=(const XDRFileMarshaller &) { throw InternalErr( __FILE__, __LINE__, "Copy operator not implemented."); - - return *this; } XDRFileMarshaller::~XDRFileMarshaller() diff -Nru libdap-3.19.1/XDRFileUnMarshaller.cc libdap-3.20.5/XDRFileUnMarshaller.cc --- libdap-3.19.1/XDRFileUnMarshaller.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/XDRFileUnMarshaller.cc 2020-02-17 07:35:45.000000000 +0000 @@ -47,11 +47,10 @@ #include "Structure.h" #include "Sequence.h" #include "Grid.h" -#if 0 -#include "Vector.h" -#endif + #include "util.h" #include "InternalErr.h" +#include "DapIndent.h" namespace libdap { @@ -77,8 +76,6 @@ XDRFileUnMarshaller::operator=( const XDRFileUnMarshaller & ) { throw InternalErr( __FILE__, __LINE__, "Copy operator not implemented." ) ; - - return *this ; } XDRFileUnMarshaller::~XDRFileUnMarshaller( ) diff -Nru libdap-3.19.1/XDRStreamMarshaller.cc libdap-3.20.5/XDRStreamMarshaller.cc --- libdap-3.19.1/XDRStreamMarshaller.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/XDRStreamMarshaller.cc 2020-02-17 07:35:45.000000000 +0000 @@ -55,6 +55,7 @@ #include "util.h" #include "debug.h" +#include "DapIndent.h" using namespace std; diff -Nru libdap-3.19.1/XDRStreamUnMarshaller.cc libdap-3.20.5/XDRStreamUnMarshaller.cc --- libdap-3.19.1/XDRStreamUnMarshaller.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/XDRStreamUnMarshaller.cc 2020-02-17 07:35:45.000000000 +0000 @@ -40,11 +40,11 @@ //#define DODS_DEBUG 1 #include "Str.h" -// #include "Vector.h" #include "Array.h" #include "util.h" #include "InternalErr.h" #include "debug.h" +#include "DapIndent.h" namespace libdap { @@ -78,8 +78,6 @@ XDRStreamUnMarshaller::operator=(const XDRStreamUnMarshaller &) { throw InternalErr(__FILE__, __LINE__, "Copy operator not implemented."); - - return *this; } XDRStreamUnMarshaller::~XDRStreamUnMarshaller() diff -Nru libdap-3.19.1/XDRUtils.cc libdap-3.20.5/XDRUtils.cc --- libdap-3.19.1/XDRUtils.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/XDRUtils.cc 2020-02-17 07:35:45.000000000 +0000 @@ -142,37 +142,30 @@ @return A C function used to encode data in the XDR format. */ xdrproc_t -XDRUtils::xdr_coder( const Type &t ) +XDRUtils::xdr_coder(const Type &t) { - switch( t ) - { - case dods_int16_c: - return (xdrproc_t)XDR_INT16 ; - break ; - case dods_uint16_c: - return (xdrproc_t)XDR_UINT16 ; - break ; - case dods_int32_c: - return (xdrproc_t)XDR_INT32 ; - break ; - case dods_uint32_c: - return (xdrproc_t)XDR_UINT32 ; - break ; - case dods_float32_c: - return (xdrproc_t)XDR_FLOAT32 ; - break ; - case dods_float64_c: - return (xdrproc_t)XDR_FLOAT64 ; - break ; - case dods_byte_c: - case dods_str_c: - case dods_url_c: - case dods_array_c: - case dods_structure_c: - case dods_sequence_c: - case dods_grid_c: - default: - break ; + switch (t) { + case dods_int16_c: + return (xdrproc_t) XDR_INT16; + case dods_uint16_c: + return (xdrproc_t) XDR_UINT16; + case dods_int32_c: + return (xdrproc_t) XDR_INT32; + case dods_uint32_c: + return (xdrproc_t) XDR_UINT32; + case dods_float32_c: + return (xdrproc_t) XDR_FLOAT32; + case dods_float64_c: + return (xdrproc_t) XDR_FLOAT64; + case dods_byte_c: + case dods_str_c: + case dods_url_c: + case dods_array_c: + case dods_structure_c: + case dods_sequence_c: + case dods_grid_c: + default: + break; } return NULL; diff -Nru libdap-3.19.1/XMLWriter.cc libdap-3.20.5/XMLWriter.cc --- libdap-3.19.1/XMLWriter.cc 2017-10-03 08:33:50.000000000 +0000 +++ libdap-3.20.5/XMLWriter.cc 2020-02-17 07:35:45.000000000 +0000 @@ -43,7 +43,9 @@ using namespace libdap; XMLWriter::XMLWriter(const string &pad) { - LIBXML_TEST_VERSION; + // LEAK The LIBXML_TEST_VERSION macro leaks 40 bytes according to valgrind + // on centos7. jhrg 6/19/19 + // LIBXML_TEST_VERSION; /* Create a new XML buffer, to which the XML document will be * written */