Re: [thredds] Plus sign and global attributes.

It should be noted that '+' is not a legal
opendap/DAP2 name (see opendap spec) and must be
escaped. Unfortunately, DAP2 escaping uses the URL
%xx mechanism, so there can be some confusion
of who is doing the escaping.
=Dennis Heimbigner
 Unidata

Phil Cogbill (NOAA Affiliate) wrote:
I'll reply inline to keep your questions together with the answers...


On Mon, Mar 17, 2014 at 1:21 PM, John Caron <caron@xxxxxxxxxxxxxxxx> wrote:

Hi Phil:

* ​​1. does the "+" cause trouble or is it just aesthetics? We wont hand
correct NCEP/WMO tables, but if it a serious problem we will autocorrect,
eg replace "+" with "and" anywhere we see it.*


​It seems to be the plus causing the problem.  We first noticed it in our
NARR catalog with 4.2.x and could fix it with NcML by renaming the
variable.  So far we have only seen the issue with this one variable in
NARR that has the "+" symbol and it getting turned into %2b (I guess for
URL encoding?).  Here is a snippet of the OPeNDAP form code with the global
attributes containing the long_name for "Volumetric soil moisture frozen +
liquid".

<h3><a href="opendap_form_help.html#global_attr">*Global Attributes:*
</a></h3>
<td><textarea name="global_attr" rows=5 cols=70>
long_name: *Volumetric soil moisture frozen + liquid @ Layer between 2
depths below land surface layer*
units:
missing_value: NaN
grid_mapping: LambertConformal_Projection
Grib_Variable_Id: VAR_7-15-131-144_L112_layer
Grib1_Center: 7
Grib1_Subcenter: 15
Grib1_TableVersion: 131
Grib1_Parameter: 144
Grib1_Parameter_Name: SOILW
Grib1_Level_Type: 112
Grib1_Level_Desc: Layer between 2 depths below land surface
Originating_or_generating_Center: US National Weather Service, National
Centres for Environmental Prediction (NCEP)
Originating_or_generating_Subcenter: North American Regional Reanalysis
Project
Generating_process_or_model: North American Regional Reanalysis (NARR)
Conventions: CF-1.6
history: Read using CDM IOSP Grib1Collection
featureType: GRID
file_format: GRIB-1
_CoordSysBuilder: ucar.nc2.dataset.conv.CF1Convention
</textarea><p>

Later in the form there is a listing for the variable with the name
transformed to %2b....

Volumetric_soil_moisture_frozen_%2b_liquid_layer_between_two_depths_below_surface_layer:
Grid



* ​​2. assuming "Volumetric_soil_moisture_frozen_+_liquid" really exists
in the datase, i think*





* <variable name="Volumetric_soil_moisture_frozen_and_liquid"
orgName="Volumetric_soil_moisture_frozen_+_liquid" /> *
* should have worked. Check you are looking at the variable name, not the
description.*


​This did work in 4.2​.x, but seems to have some issues in 4.3.21, but I've
not tried it in older 4.3.x  If I take out the NcML to rename the variable
this is what shows up at the DDS...

*TDS 4.3 w/o NcML*


Grid {
     ARRAY:
        Float32
Volumetric_soil_moisture_frozen_*%2b*_liquid_layer_between_two_depths_below_surface_layer[time
= 1][layer_between_two_depths_below_surface_layer = 4][y = 277][x =
349];
     MAPS:
        Int32 time[time = 1];
        Float32
layer_between_two_depths_below_surface_layer[layer_between_two_depths_below_surface_layer
= 4];
        Float32 y[y = 277];
        Float32 x[x = 349];
    } 
Volumetric_soil_moisture_frozen_%2b_liquid_layer_between_two_depths_below_surface_layer;


​
*​TDS 4.3 with NcML*
​
​Grid {


     ARRAY:
        Float32
Volumetric_soil_moisture_frozen_%2b_liquid_layer_between_two_depths_below_surface_layer[time
= 1][layer_between_two_depths_below_surface_layer = 4][y = 277][x =
349];
     MAPS:
        Int32 time[time = 1];
        Float32
layer_between_two_depths_below_surface_layer[layer_between_two_depths_below_surface_layer
= 4];
        Float32 y[y = 277];
        Float32 x[x = 349];
    } 
Volumetric_soil_moisture_frozen_%2b_liquid_layer_between_two_depths_below_surface_layer;
    Grid {
     ARRAY:
        Float32 Cloud_water_isobaric[time = 1][isobaric = 29][y = 277][x = 349];
     MAPS:
        Int32 time[time = 1];
        Float32 isobaric[isobaric = 29];
        Float32 y[y = 277];
        Float32 x[x = 349];

    } ​



3. Are you sure its in the "Global Attributes", not the "Variable
Attributes" ??


I'm positive that it's the Global Attributes that are showing the variable
data in them.  In the HTML source above there is the Global Attributes text
box.  Please let me know if you need any more information or if I can send
you something else.

Thanks for looking into this for us!  :-D

--Phil




​​

John


On 3/17/2014 11:08 AM, Phil Cogbill (NOAA Affiliate) wrote:

I am working TDS 4.3.21 and NcML to to fix an issue with "Volumetric
soil moisture frozen + liquid" showing up in the "Global Attributes" in
the OPeNDAP Dataset Access Form.

Inline image 1

Let me start from the beginning.  With TDS 4.2.9 we saw this same
behaviour and renamed the variable this way...

<variable name="Volumetric_soil_moisture_frozen_and_liquid"
   orgName="Volumetric_soil_moisture_frozen_+_liquid" />

With 4.2.9 this fixes the issue with the garbled metadata in the Global
Attributes.  When this is added to the 4.3.21 catalog this happens...

Error {
     code = 500;
     message = "New variable (Volumetric_soil_moisture_frozen_and_liquid)
must have datatype attribute";
};


After finding this I dug around in the code to add a type and added
this...

<variable name="Volumetric_soil_moisture_frozen_and_liquid"
   orgName="Volumetric_soil_moisture_frozen_+_liquid"
   type="float" />

Then I get two variables, the original and the new one with the _and_ in
the name, plus the Global Attributes metadata is still not correct.  I have
even tried to remove the variable in multiple ways and it still shows up in
the metadata as it is in the image above...

  <remove name="Volumetric_soil_moisture_frozen_+_liquid"
     type="variable" />

<remove name="Volumetric_soil_moisture_frozen_%2b_liquid"
     type="variable" />



Any help to fix this would be super!  :-D




Thanks!

Phil Cogbill (Government Contractor)


Senior Architect, STG, Inc.
NOAA's National Climatic Data Center
Climate Services and Monitoring Division
Data Access and Applications Branch

National Climatic Data Center
Veach-Baley Federal Building
151 Patton Ave.
Room 355
Asheville, NC 28801-5001
Phil.Cogbill@xxxxxxxx <mailto:Phil.Cogbill@xxxxxxxx>

Desk: (828) 271-4474
Cell: (828) 419-0303

This electronic transmission contains information that may be internal
use only,confidential, or proprietary.  If you are not the intended
recipient, be aware that any disclosure, copying, distribution or use
of the contents hereof is strictly prohibited.  If you have received
this transmission in error, please notify Phil.Cogbill@xxxxxxxx
<mailto:Phil.Cogbill@xxxxxxxx>


_______________________________________________
thredds mailing list
thredds@xxxxxxxxxxxxxxxx
For list information or to unsubscribe,  visit:
http://www.unidata.ucar.edu/mailing_lists/


_______________________________________________
thredds mailing list
thredds@xxxxxxxxxxxxxxxx
For list information or to unsubscribe,  visit:
http://www.unidata.ucar.edu/mailing_lists/


------------------------------------------------------------------------

_______________________________________________
thredds mailing list
thredds@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/



  • 2014 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: