⇐ ⇒

[CF-metadata] [CF Metadata] #37: Conventions for Point Observation Data

From: John Caron <caron>
Date: Wed, 11 Nov 2009 09:12:15 -0700

Martina Stockhause wrote:
> Dear John, dear Heinke,
>
> I would support Heinke's idea of generalizing the definition for 'profiles', so that it can be applied to microscale measurements as well. Apart from scintillometer data, data from optical methods like DOAS or FTIR can be delivered as horizontal profiles as well.
>
> Using the proposal for the description of our weather mast data (http://wettermast-hamburg.zmaw.de/index.htm; click to the english version), I was misled by the name 'stationTimeSeries'. What is described in the proposal, is more the time series of a single instrument at a station than the data of the whole station due to the fixed altitude. Normally, a station's position is described geographically (lon/lat) and the measurements supply data in different observation heights.
>
> E.g. we measure with 30 different instruments standard meteorological parameters in multiple heights and additionally examine cloud heights and rain by profile measurements. Therefore the station data would be an aggregation of 'stationTimeSeries' and 'stationProfileTimeSeries' according to the present proposal.
>
> In the referenced document (http://www.unidata.ucar.edu/staff/caron/papers/obs2.pdf) the vertical coordinate is defined as a variable for time series of station data.
> Could we make the altitude in stationTimeSeries variable?
> If not: Do you have a suggestion how I could apply the proposal for data of more then one measurement instrument, i.e. different measurement heights of the parameters?
>
> Thanks a lot and best wishes,
> Martina
>
>
> _______________________________________________
> CF-metadata mailing list
> CF-metadata at cgd.ucar.edu
> http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
>
Hi Martina:

Im not sure if I ever answered this - i had it marked "to do" so im
guessing i never did.

Its difficult for a generic program to correctly process all the various
representations, which is why i am reluctant to allow multiple feature
types in the same file. However your case points out that its natural
for data to sometimes have a vertical coordinate and some not.

One could use stationProfile as the feature type, since not all data has
to have the vertical dimension. If, for example you were using 9.6.1
(multidimensional case) :

dimensions:
  station = 22 ;
  time = 3002 ;
  z = 42 ;

variables:
  float lon(station) ;
    lon:long_name = "station longitude";
    lon:units = "degrees_east";
  float lat(station) ;
    lat:long_name = "station latitude" ;
    lat:units = "degrees_north" ;
  char station_name(station, name_strlen) ;
    station_name:standard_name = "station_id" ;
    station_name:long_name = "station name" ;
  int station_info(station) ;
    station_name:long_name = "some kind of station info" ;

  float alt(station, time, z) ;
    alt:long_name = "height above mean sea level" ;
    alt:units = "km" ;
    alt:positive = "up" ;

  double time(station, time) ;
    time:long_name = "time of measurement" ;
    time:units = "days since 1970-01-01 00:00:00" ;
    time:missing_value = -999.9;

  float temperature(station, time, z) ;
    temperature:long_name = "skin temperature" ;
    temperature:units = "Celsius" ;
    temperature:coordinates = "time lon lat alt" ;

  float surface_temperature(station, time) ;
    temperature:long_name = "surface temperature" ;
    temperature:units = "Celsius" ;
    temperature:coordinates = "time lon lat" ;


I have renamed the profile dimension as "time" to make it clearer that we have a time series of measurements at each station. The collection of data that have dimensions variable(station, time) constitute one measurement. those that have the z dimension are part of the profile.

Still there could be some problem if you want the profile to have a varying time dimension:

variables:
  float lon(station) ;
  float lat(station) ;
  char station_name(station, name_strlen) ;

  float alt(station, time, z) ;
  double time(station, time, z) ;
 
  float temperature(station, time, z) ;
  float surface_temperature(station, time) ;
 

So now what is the time coordinate for surface_temperature? One would have to make some kind of ad-hoc assumption like using z = 0 (bad!).

Perhaps we need to generalize to:

 variables:
  float lon(station) ;
  float lat(station) ;
  char station_name(station, name_strlen) ;

  float alt(station, time, z) ;
  double time(station, time) ;
  double timeProfile(station, time, z) ;

  float temperature(station, time, z) ;
  float surface_temperature(station, time) ;

??

So im wondering if you in fact have time-varying profile data (ie time varies along the z axis)?


Also we might want to move further discussion to
https://cf-pcmdi.llnl.gov/trac/ticket/37.
Received on Wed Nov 11 2009 - 09:12:15 GMT

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:41 BST

⇐ ⇒