[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error occurring in dods.dap.Parser




On Jan 26, 2005, at 6:29 PM, Nathan Potter wrote:



T,

Well. The problem is in your Dataset name:

} stream=ocea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS =RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMA IN=G,salinity.nc;

The parser is barfing on the first "=" character (Line 58, column 9)

James? Is this in any way a legal name? If so, how does he need to "escape" the "=" (and possibly the ",") characters?

You could escape the '=' and ',' using the HTTP %<hex digit><hex digit> notation, I think. When the Java DAP 2.0 parser was written we had not encountered file names that broke the 'C identifier' mold. But that was just around the corner... Anyway, the C++ code lets just about anything be a file name. I'd try the escaping scheme and see how it works.


James

PS. I just checked the DDS parser and it will grok the percent sign, so you should be OK using that to signal the start of the escape sequence.



N



On Jan 26, 2005, at 3:26 PM, Tennessee Leeuwenburg wrote:


Bingo. Known problem. Can you send me the DDS, or is it automatically generated (and thus it never actually makes it through the system)?

Or, can you send a list of all the filenames and variable names?

Here 'tis. Hope your system can handle long filenames! :)

The netCDF file gets generated on the fly based on the parameters you see encoded in the filename.

Does anyone know if this error related to java code, or the structure of a netCDF file, or the filename or what? To what is "line 58, column 9" referring - the .java file, the netCDF file, or something else entirely?


That's where in the DDS or DAS the parser is crapping out.

Cool. Looks like it doesn't like the '=' character in some places.
Dataset {
Float64 time[time = 1];
String seg_type[time = 1];
Float32 lat[lat = 196];
Float32 lon[lon = 180];
Float32 lvl[lvl = 1];
Grid {
ARRAY:
Int32 base_date[time = 1];
MAPS:
Float64 time[time = 1];
} base_date;
Grid {
ARRAY:
Int32 base_time[time = 1];
MAPS:
Float64 time[time = 1];
} base_time;
Grid {
ARRAY:
Int32 valid_date[time = 1];
MAPS:
Float64 time[time = 1];
} valid_date;
Grid {
ARRAY:
Int32 valid_time[time = 1];
MAPS:
Float64 time[time = 1];
} valid_time;
Grid {
ARRAY:
Float32 forc_hrs[time = 1];
MAPS:
Float64 time[time = 1];
} forc_hrs;
Grid {
ARRAY:
Int32 wrtn_date[time = 1];
MAPS:
Float64 time[time = 1];
} wrtn_date;
Grid {
ARRAY:
Int32 wrtn_time[time = 1];
MAPS:
Float64 time[time = 1];
} wrtn_time;
Grid {
ARRAY:
Float32 temperature[time = 1][lvl = 1][lat = 196][lon = 180];
MAPS:
Float64 time[time = 1];
Float32 lvl[lvl = 1];
Float32 lat[lat = 196];
Float32 lon[lon = 180];
} temperature;
} stream=ocea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS =RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMA IN=G,salinity.nc;


========================================================
Nathan Potter              Oregon State University, COAS
address@hidden   104 Ocean. Admin. Bldg.
541 737 2293 voice         Corvallis, OR   97331-5503
541 737 2064 fax


--
James Gallagher                jgallagher at opendap.org
OPeNDAP, Inc                   406.783.8663


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.