ioos / vocabularies

Instructions and Guidelines for use of Controlled Vocabularies in IOOS-compliant data services
1 stars 8 forks source link

How to specify the height of a meteorological station in a netCDF file #6

Closed robragsdale closed 7 years ago

robragsdale commented 9 years ago

Jorge Capella (CariCOOS) brought this issue up on the ioos_tech@googlegroups.com list. Jorge is looking for:

The correct way to specify the height of a meteorological station in a netcdf file. Our wind people are providing information of the type

ground elevation = ##, sensor distance above ground = ##

The standard name "height" variable does not allow for both parameters. Looked for other standard name alternatives, or combination thereof, to no avail.

robragsdale commented 9 years ago

Sara Haines; (UNC-CH) response to Jorge, but also asks how terms are properly attributed for the ncSOS translation?:

Since others more qualified to answer your question have not, I’ll endeavor. I hope that someone will speak up on behalf of the IOOS catalog and metadata translation effort if this is off mark. I too would like to know for sure how these things are suggested and properly attributed for ncSOS translation. I skimmed thru github IOOS documentation (https://github.com/ioos/sos-guidelines/blob/master/doc/wsdd/sos_wsdd_github_initial_word_doc.md) to see how this is done in SOS but did not see how sensor height relative to station attributes was handled in SOS. This was just a quick glance so I may have missed it and/or hit the wrong document(s).

In other projects, like SEACOOS and SECOORA, assuming station time series (like a buoy or met station) the “standard” or consensus was/is to provide the nominal station elevation (some element of the station referenced to sea level or other elevation reference) in a variable.

float z(z); //or z(time) z: standard_name = "height"; z: units = "m"; z: reference = "mean sea level (MSL)"; z: positive = "up"; z: axis = "Z";

Then, information about the sensor (e.g. anemometer height relative to the station elevation variable) is provided in variable attributes. Here is an example from

float wspd(time); wspd: standard_name = "wind_speed"; wspd: units = "m s-1"; wspd: z = 2.5; wspd: z_units = "m" float wdir(time); wdir: standard_name = "wind_from_direction"; wdir: units = "degrees"; wdir: reference = "clockwise from true north"; wdir: valid_range = 0.,360.; wdir: z = 2.5; wdir: z_units = "m"

Unfortunately, that requires repeating the variable sensor height information for each variable in the file (e.g. wspd, wdir, wgust, wspd_std, etc).

However, please be cautioned that this is one way to do it and one way that was consensus in some one group. I do not know how this has been addressed and agreed upon with if at all in other RAs or within IOOS SOS Milestone >1.0. It may be that this is being addressed in next iterations. I have not been able to stay on top of all that is going on . I hope that others will chime in. These are important elements to translate. There is a mechanism in OGC to describe these important metadata sensor orientation, etc.