@@ -79,16 +79,13 @@ MDAL::cfdataset_info_map MDAL::DriverCF::parseDatasetGroupInfo()
79
79
continue ;
80
80
81
81
size_t arr_size = mDimensions .size ( mDimensions .type ( dimid ) ) * nTimesteps;
82
- std::string suffix = nameSuffix ( mDimensions .type ( dimid ) );
83
82
84
83
// Get name, if it is vector and if it is x or y
85
84
std::string name;
86
85
bool is_vector = true ;
87
86
bool is_x = false ;
88
87
89
88
parseNetCDFVariableMetadata ( varid, variable_name, name, &is_vector, &is_x );
90
- if ( !suffix.empty () )
91
- name = name + " (" + suffix + " )" ;
92
89
93
90
// Add it to the map
94
91
auto it = dsinfo_map.find ( name );
@@ -136,12 +133,12 @@ static void populate_vals( bool is_vector, double *vals, size_t i,
136
133
{
137
134
if ( is_vector )
138
135
{
139
- vals[2 * i] = MDAL::safeValue ( vals_x[idx], fill_val_x );
140
- vals[2 * i + 1 ] = MDAL::safeValue ( vals_y[idx], fill_val_y );
136
+ vals[2 * i] = MDAL::safeValue ( vals_x[idx], fill_val_x );
137
+ vals[2 * i + 1 ] = MDAL::safeValue ( vals_y[idx], fill_val_y );
141
138
}
142
139
else
143
140
{
144
- vals[i] = MDAL::safeValue ( vals_x[idx], fill_val_x );
141
+ vals[i] = MDAL::safeValue ( vals_x[idx], fill_val_x );
145
142
}
146
143
}
147
144
@@ -190,7 +187,7 @@ void MDAL::DriverCF::addDatasetGroups( MDAL::Mesh *mesh, const std::vector<doubl
190
187
191
188
// read X data
192
189
double fill_val_x = mNcFile .getFillValue ( dsi.ncid_x );
193
- std::vector<double > vals_x ( dsi.arr_size );
190
+ std::vector<double > vals_x ( dsi.arr_size , std::numeric_limits< double >:: quiet_NaN () );
194
191
if ( nc_get_var_double ( mNcFile .handle (), dsi.ncid_x , vals_x.data () ) ) CF_THROW_ERR;
195
192
196
193
// read Y data if vector
@@ -199,7 +196,7 @@ void MDAL::DriverCF::addDatasetGroups( MDAL::Mesh *mesh, const std::vector<doubl
199
196
if ( dsi.is_vector )
200
197
{
201
198
fill_val_y = mNcFile .getFillValue ( dsi.ncid_y );
202
- vals_y.resize ( dsi.arr_size );
199
+ vals_y.resize ( dsi.arr_size , std::numeric_limits< double >:: quiet_NaN () );
203
200
if ( nc_get_var_double ( mNcFile .handle (), dsi.ncid_y , vals_y.data () ) ) CF_THROW_ERR;
204
201
}
205
202
@@ -254,7 +251,8 @@ bool MDAL::DriverCF::canRead( const std::string &uri )
254
251
{
255
252
NetCDFFile ncFile;
256
253
ncFile.openFile ( uri );
257
- populateDimensions ( ncFile );
254
+ mNcFile = ncFile;
255
+ populateDimensions ( );
258
256
}
259
257
catch ( MDAL_Status )
260
258
{
@@ -318,7 +316,7 @@ std::unique_ptr< MDAL::Mesh > MDAL::DriverCF::load( const std::string &fileName,
318
316
mNcFile .openFile ( mFileName );
319
317
320
318
// Parse dimensions
321
- mDimensions = populateDimensions ( mNcFile );
319
+ mDimensions = populateDimensions ( );
322
320
323
321
// Create mMesh
324
322
Faces faces;
0 commit comments