Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New BUFR Template for Snow Surface Temperature #198

Open
rzhangwmo opened this issue Apr 17, 2024 · 21 comments
Open

New BUFR Template for Snow Surface Temperature #198

rzhangwmo opened this issue Apr 17, 2024 · 21 comments
Assignees
Milestone

Comments

@rzhangwmo
Copy link

rzhangwmo commented Apr 17, 2024

Updated on 27 Nov 2024

Initial request

I'm submitting the request expressed by the Expert Team on Snow Watch of AG-GCW, for the generation of a new BUFR Template for Snow Surface Temperature (or expansion of an existing sequence, as the case may be). The scientific lead of the issue is Dr Charles Fierz ([email protected]), who will connect with MeteoSwiss on the data exchange aspects. Ran Zhang ([email protected]) will support Charles, from the Secretariat. Thank you.

Amendment details

Following the decisions taken on 2024-07-01, we now propose a generic template called Cryo station temperature profile.

1. Add new elements in table B

F X Y ELEMENT NAME UNIT SCALE REFERENCE VALUE DATA WITH (bits)
0 07 034 Vertical distance of sensor (see Note X) m 2 -65000 17
0 12 133 Ice temperature K 2 0 16
0 13 119 Snow depth (see Note X) m 3 -10000 15

2. Add new template to table D

Table D reference Table references Element name Element description Comment
3 07 104 Cryo station temperature profile
3 01 150 WIGOS identifier    
0 01 019 Long station or site name   
0 02 001 Type of station
3 01 011 Year, month, day   
3 01 013 Hour, minute, second    
3 01 021 Latitude/longitude (high accuracy)  
0 07 030 Height of station ground above mean sea level
0 08 029 Surface type Defines on what 'ground' the station stands, Code Table, eg 3 = Land
0 13 115 Ice thickness NB: Adapt note 9 to Class 13
0 20 062 State of the ground (with or without snow) Code Table, eg 13 = Even layer of compact or wet snow covering ground completely
0 13 119 Snow depth New NB: Add note X to Class 13; millimetre precision is needed
0 02 177 Method of snow depth measurement Code Table, eg 1 = Ultrasonic method
0 08 010 Surface qualifier (for temperature data) Code Table, eg 6 = Snow. No need for cancellation afterwards.
0 12 161 Skin temperature
1 11 000 Delayed replication of 11 descriptors
0 31 001 Delayed replication factor
0 07 034 Vertical distance of sensor New Positive values are above, negative values below the specified reference level 0 07 030; corresponds to WIGOS Metadata Standard, see added note X to Class 13 below
0 02 096 Type of temperature sensor Code Table, eg 3 = Resistive sensor or new 9 = Thermistor (NB: to be added to Code Table (see below)
0 12 101 Temperature/air temperature Generic temperature OR air temperature
0 12 131 Snow temperature
2 01 131 Change data width Add 3 bits, see issue #157
2 02 129 Change scale to allow for mK precision
0 12 130 Soil temperature
2 02 000 Change scale Cancel
2 01 000 Change data width Cancel
0 12 133 Ice temperature New Needed for temperature of ice bodies
0 13 082 Water temperature

3. Notes

  • Add note X to element 0 07 034:
    From WIGOS Metadata Standard (WMO-No. 1192), Chapter 7, Category 5, 5-05, Vertical distance of sensor, that is the "Vertical distance of the sensor from a (specified) reference level, such as local ground, deck of a marine platform at the point where the sensor is located, or sea surface".
  • Add note X to element 0 13 119:
    In particular on ice sheets and glaciers, snow depth can become negative due to erosion and/or ablation.
  • Adapt note 9 in Class 13:
    Ice thickness (0 13 115) shall be preceded by Surface type (0 08 029) set to 11, 12, 13 or 14 to specify whether it is river, lake, sea, or glacier ice, respectively.

4. Additions to Code Tables

Code figure Code table 0 02 096
8 Platinum resistance thermometer
9 Thermistor
10 Thermocouple

Comments

Patrick Leibersperger ([email protected]) at SLF/WSL wrote a plugin in the framework of MeteoIO to write data from an automatic cryostation located at Weissfluhjoch-Davos (Switzerland) to the attached sample BUFR file for validation:
meteoio-202411_cryoStn-template.bufr.zip
meteoio-202411_cryoStn-template.txt
The original data file is also provided and can be visualized using niViz:
WFJ2_soil_2023_2024.smet.zip

Requestor(s)

Ran Zhang, [email protected]
Rodica Nitu, [email protected]

Stakeholder(s)

Charles Fierz ([email protected])

Publication(s)

Manual on Codes (WMO-No. 306), Volume I.2

Expected impact of change

None

Collaborators

No response

References

No response

Validation

No response

@amilan17 amilan17 added this to the FT2024-2 milestone Apr 17, 2024
@amilan17
Copy link
Member

amilan17 commented May 2, 2024

2024-05-02 notes:

  • Charles Fierz introduced the request; see PPT: ttTDCF-20240502_issue198-CF2.pptx

  • Marijana noted that perhaps there needs to be a sm
    all group to discuss these requests;

  • Antoine noted that we could use surface flag in BUFR, e.g. 0-08-010 or 0-08-029, and then also maybe 0-02-096 to specify the type of sensor;

  • Jeff noted that snow temperature is 0-12-131 with scale 2 (there is no corresponding 0-12-031 with scale 1); the generic profile as described might not work as described but the code approach could work;

Team to look at snow surface temperature template as well as the generic profile template:
@antoinemerle, @jbathegit, @marijanacrepulja, and @SibylleK

@jbathegit
Copy link
Contributor

jbathegit commented May 2, 2024

It would also be good to consider how or whether this proposed new template and content would relate to existing GTS snow reports which use the templates 3-07-103, 3-07-101, etc, since I know that Switzerland in particular is already reporting such data.

@fierz
Copy link

fierz commented May 2, 2024

It would also be good to consider how or whether this proposed new template and content would relate to existing GTS snow reports which use the templates 3-07-103, 3-07-101, etc, since I know that Switzerland in particular is already reporting such data.

@jbathegit @antoinemerle @marijanacrepulja @SibylleK @rzhangwmo:
The two templates above refer to properties of the snow cover (as a whole): snow depth, water equivalent of snow cover, and bulk snow density. Snow surface temperature could or can also be considered as a property of the snow cover (its skin temperature) while snow temperature is measured at multiple levels within the snow cover.
Note that the GIMO terminology, used in WMDR, differs sometime a little bit from that of BUFR4 😇

From Antoine's comment above, I think I start to vaguely understand how a template could look like and why it may be difficult to include air in it. Looking forward to our next meeting to learn more.

@fierz
Copy link

fierz commented May 7, 2024

@ALL
I contacted MeteoSwiss but did not get an answer yet. I also contacted K. Isaksen, with whom you worked on issue#157 about permafrost temperatures. Great work!

I also attachj a few slides that may help better describe the problem from my side.
ttTDCF-20240507_issue198-CF.pdf

@amilan17
Copy link
Member

amilan17 commented May 14, 2024

https://github.com/wmo-im/CCT/wiki/Teleconference.14.May.2024 notes:
Marijana reported out on the outputs from the meeting last week and presented the updated proposal details; the team discussed the details; points vs profiles; what category/sub-category would this fall under?
@fierz @rzhangwmo check with providers/users to see if the generic profile is sufficient;

@fierz
Copy link

fierz commented Jun 3, 2024

I did contact some possible players and discussions were very helpful and valuable. I'll report on those in more details (see also attached PDF) but below are the main results.

  1. I would propose to rename the template to "Cryo station temperature profile";
  2. I realised the descriptor Surface qualifier (temperature data) (0 08 010 ) is better appropriate to define the surface as Surface type (0 08 029); on the other hand Surface type can be used to better describe the "ground" on which the station stands;
  3. Total snow depth (0 13 013) would need a change in reference value from -2 to 0 because real negative values could occur, for example on ice sheets;
  4. In addition to snow depth, it may be useful to be able to indicate (sea) ice thickness. A problem arises with the repeated use of Surface type though;
  5. From the discussions with my MeteoSwiss colleague M. Musa and P. Leibersperger, a colleague at SLF, I would now propose the following template ( additions; new elements ):
Table reference Table references Element name Description / comment
3-07-104 Cryo station temperature profile
3 01 150 WIGOS identifier
0 01 019 Long station or site name
0 02 0011 Type of station
3 01 011 Year, month, day
3 01 013 Hour, minute, second
3 01 021 Latitude/longitude (high accuracy)
0 07 030 Height of station ground above mean sea level
0 08 029 Surface type / Defines on what 'ground' the station stands
0 02 177 Method of snow depth measurement / Not necesssarily needed
0 20 062 State of the ground (with or without snow)
2 03 YYY Change reference values / to allow negative values for snow depth
0 13 013 Total snow depth
2 03 255 Change reference values
0 08 029 Surface type Conflicting w/ definition above / See WMO-No. 306, Vol. I.2, I.2 – BUFR/CREX Table B/13 — 5, note 9 : shall be set to set to 11, 12, 13 or 14 to specify river, lake, sea or glacier, respectively.
0 13 115 Ice thickness / Nice to have
0 08 029 Surface type Cancel
0 08 010 Surface qualifier (for temperature data)
0 12 161 Skin temperature
0 08 010 Surface qualifier (for temperature data) Cancel / Is cancelling necessary?
1 07 000 Delayed replication of 7 descriptors
0 31 001 Delayed replication factor
0 07 034 Height of sensor relative to local ground (or deck of marine platform)
0 12 101 Temperature/air temperature
0 12 131 Snow temperature
0 12 130 Soil temperature
0 12 133 Ice temperature New / Needed for sea ice etc.
0 12 082 Water temperature
0 12 134 Temperature kelvin New / Temperature in kelvin as 0 12 023 is in degree Celsius

Add new elements in table B

F X Y ELEMENT NAME UNIT SCALE REFERENCE VALUE DATA WITH (bits)
0 07 034 Height of sensor relative to local ground (or deck of marine platform) m 2 0 16
0 12 133 Ice temperature K 2 0 16
0 12 134 Temperature kelvin K 2 0 16
  1. MeteoSwiss would need some time to provide BUFR messages with the new templates as BUFR encoding is outsourced (DWD etc.) This would require an agreed upon template;
  2. SLF could provide BUFR messages for cryo stations but not before End July 2024.

ttTDCF-20240605_issue198-CF.pdf

@amilan17
Copy link
Member

amilan17 commented Jun 5, 2024

https://github.com/wmo-im/CCT/wiki/Teleconference.2024.June.4and5 notes:
Charles presented some revisions to the proposal for generic temperature profile for cryosphere stations; there were discussions about "height of sensor relative to local ground", "Temperature Kelvin" descriptor; It was noted that temperature/air temperature == generic temperature OR air temperature;

  • samples cannot be provided until after the end of July at the soonest;
  • discussion about proposing only the necessary descriptors, but continue to explore the options for the BUFR sequence;

TO DO: set up an ad hoc meeting to continue discussions in the first week of July; Change to FT2025-1

@amilan17 amilan17 modified the milestones: FT2024-2, FT2025-1 Jun 5, 2024
@fierz
Copy link

fierz commented Jun 25, 2024

@jbathegit @antoinemerle @marijanacrepulja @SibylleK @rzhangwmo:
(and further interested members of TT-TDCF)

Dear all
Here is a refined proposal to be discussed next week
on 2024-07-01. I added 4 question marks '? N' to elements that I think will need clarification. I also attach a spreadsheet that contains some more info and examples of data mapped to this new template.
bufr4-202405_templateSnowTempProfile-v03.xlsx
ttTDCF-20240701_issue198-CF.pdf

Table reference Table references Element name Element description comment
3-07-104 Cryo station temperature profile
3 01 150 WIGOS identifier
0 01 019 Long station or site name
0 02 001 Type of station
3 01 011 Year, month, day
3 01 013 Hour, minute, second
3 01 021 Latitude/longitude (high accuracy)
0 07 030 Height of station ground above mean sea level
0 08 029 Surface type Defines on what 'ground' the station stands
0 13 115 Ice thickness ? 3 -> See WMO-No. 306. Note to be adapted!
0 20 062 State of the ground (with or without snow)
2 03 YYY Change reference values ? 2 -> How to get rid of -2 ref value
2 01 131 Change data width Add 3 bits, see issue #157
2 02 129 Change scale to allow for mm precision
0 13 013 Total snow depth
2 01 000 Change data width Cancel
2 02 000 Change scale Cancel
2 03 255 Change reference values Cancel
0 08 010 Surface qualifier (for temperature data)
0 12 161 Skin temperature
0 08 010 Surface qualifier (for temperature data) Cancel Is cancelling necessary?
1 10 000 Delayed replication of 10 descriptors ? 4 -> Is a Time period or displacement (0 04 025) set to zero needed here? See issue #157.
0 31 001 Delayed replication factor
0 07 034 Vertical distance of sensor New ? 1 -> From WIGOS Metadata Standard ID 5-05, Vertical distance of the sensor from a (specified) reference level
0 12 101 Temperature/air temperature Generic temperature OR(==/) air temperature
0 12 131 Snow temperature
2 01 131 Change data width Add 3 bits, see issue #157
2 02 129 Change scale to allow for mK precision
0 12 130 Soil temperature
2 01 000 Change data width Cancel
2 02 000 Change scale Cancel
0 12 133 Ice temperature New Needed for sea ice etc.
0 12 082 Water temperature

Add new elements in table B

F X Y ELEMENT NAME UNIT SCALE REFERENCE VALUE DATA WITH (bits)
0 07 034 Vertical distance of sensor m 2 -65000 17
0 12 133 Ice temperature K 2 0 16

@amilan17
Copy link
Member

amilan17 commented Jun 25, 2024

https://github.com/wmo-im/CCT/wiki/Teleconference.24and26.June.2024 notes:
Proposal is updated and meeting on Monday to discuss further

@marijanacrepulja
Copy link
Contributor

marijanacrepulja commented Jul 1, 2024

Meeting on 1 July 2024
Decisions:

  • Define a new descriptor: Snow depth
  • Define a new descriptor: Ice temperature
  • There is no need to include time period
  • Define new a descriptor: Vertical distance of sensor and add a note as defined in WMO No 1192 Chapter 7, WIGOS metadata standard
  • Adapt WMO-No. 306. Note 5 for Ice thickness
  • @fierz will update proposal
  • MeteoSwiss will provide sample BUFR files
  • Team will validate the samples in November/December 2024
  • New BUFR template and descriptors for snow temperature profile to be ready for operational use in May-June 2025

@amilan17
Copy link
Member

amilan17 commented Jul 2, 2024

https://github.com/wmo-im/CCT/wiki/Teleconference.2.July.2024 notes
Marijana explained the decisions from meeting yesterday

@fierz

This comment was marked as duplicate.

@amilan17 amilan17 moved this to In discussion in BUFR4 Amendments Aug 22, 2024
@amilan17
Copy link
Member

amilan17 commented Sep 5, 2024

@marijanacrepulja can you please update the issue summary with the latest decisions on the template(s)?

@rzhangwmo
Copy link
Author

rzhangwmo commented Sep 5, 2024

I appreciate clarification on 1) whether this BUFR template "Cryo station temperature profile" also include snow surface temperature? and 2) if so, does the element "0 12 161 Skin temperature" refer to snow surface temperature? Or how else to represent it? Thank you. @fierz @marijanacrepulja

@fierz
Copy link

fierz commented Sep 13, 2024

@rzhangwmo
at 1) Yes
at 2) skin temperature refers to the temperature of the surface seen by the thermometer. The element 0 08 010 'Surface qualifier (for temperature data)' qualifies the surface as snow, ice, water, bare rock, etc.

@fierz
Copy link

fierz commented Sep 13, 2024

@marijanacrepulja @SibylleK @jbathegit @antoinemerle
I have two questions regarding the template:

  1. In the replication part of the template I assumed the two occurrences of 'cancel' are part of the replication length (11 descriptors). However, my colleague developing the code for encoding the template in a BUFR message told me the two instances are irrelevant. What is correct?
  2. If we want to use the newly defined elements in our BUFR message, how to do it as these are not yet included in ecCodes?

@jbathegit
Copy link
Contributor

  1. In the replication part of the template I assumed the two occurrences of 'cancel' are part of the replication length (11 descriptors). However, my colleague developing the code for encoding the template in a BUFR message told me the two instances are irrelevant. What is correct?

The two cancel occurrences in 202000 and 201000 are absolutely a part of the replication length of 11 descriptors. However, and on a related note, the corresponding FXY value should be 1-11-000, not 1-10-000 :-)

  1. If we want to use the newly defined elements in our BUFR message, how to do it as these are not yet included in ecCodes?

That's a question for someone who's more familiar with ecCodes. I assume there's some way to do this in that software, since the members of TT-TDCF routinely swap pre-operational samples and other test messages for validation of potential new elements and sequences, in advance of them being published in official WMO tables. But I just don't personally know how to go about doing that in ecCodes, b/c we don't use that software here at NCEP.

@fierz
Copy link

fierz commented Oct 2, 2024

@jbathegit
Thanks for your valuable comments Jeff … and I corrected the FXY value as you indicated ;-).
Regarding point 2, I'll check further how to go forward, possibly with my MeteoSwiss contact.

@amilan17
Copy link
Member

amilan17 commented Oct 15, 2024

https://github.com/wmo-im/tt-tdcf/wiki/2024.10.15.tt.tdcf notes:
Marijana will update branch and help with validation
Sibylle will help with validation too

@amilan17
Copy link
Member

amilan17 commented Nov 13, 2024

https://github.com/wmo-im/tt-tdcf/wiki/2024.11.13.tt.tdcf notes:

  • Charles provided a brief update and Patrick demonstrated the samples
  • @fierz please update the issue summary add samples
  • @marijanacrepulja will udpate the branch
  • @SibylleK will validate

@fierz
Copy link

fierz commented Nov 27, 2024

https://github.com/wmo-im/tt-tdcf/wiki/2024.11.13.tt.tdcf notes:

  • @fierz please update the issue summary add samples
    The issue summary is updated and a sample added. If needed we can work on providing more samples.
    @rzhangwmo : dear Ran, please move the new summary to replace the three first sections (initial request, amendment details, and comments) in the top comment as I cannot edit it myself.
    @SibylleK @marijanacrepulja : a sample BUFR file has now been provided ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In progress
Development

When branches are created from issues, their pull requests are automatically linked.

7 participants