{"id":11821,"date":"2024-02-14T15:55:39","date_gmt":"2024-02-14T14:55:39","guid":{"rendered":"https:\/\/www.swissfluxnet.ethz.ch\/?page_id=11821"},"modified":"2025-11-20T13:04:57","modified_gmt":"2025-11-20T12:04:57","slug":"eddy-covariance-raw-data-binary-files","status":"publish","type":"page","link":"https:\/\/swissfluxnet.ethz.ch\/index.php\/documentation\/eddy-covariance-raw-data-binary-files\/","title":{"rendered":"Eddy covariance raw data binary files"},"content":{"rendered":"\r\n<h2 class=\"wp-block-heading\">In short<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">We historically used the <a href=\"https:\/\/www.swissfluxnet.ethz.ch\/wp-content\/uploads\/2018\/10\/sonicread_20190503.pdf\">sonicread<\/a> script for logging eddy covariance raw data files, a practice that began in 2005. In 2024, we transitioned the first site (CH-FRU) to rECord, a new data logging script based on <code>sonicread<\/code>.<\/p>\r\n<p>Each <code>sonicread<\/code> eddy covariance raw data binary file contains a header section, and then data from the sonic anemometer and the gas analyzer(s) over a time period of 6 hours. EddyPro cannot handle our EC raw data files because they are compressed, and therefore they need to be converted into an uncompressed format that EddyPro can understand. In our case, the compressed raw binary data files are converted to uncompressed ASCII csv files using the Python script <a href=\"https:\/\/gitlab.ethz.ch\/flux\/bico\" target=\"_blank\" rel=\"noopener\">bico (Binary Converter)<\/a>.<\/p>\r\n\r\n\r\n<p class=\"info\"> EddyPro needs to know in what sequence data are coming in, i.e. the sequence in which data are stored in a file. Whenever an instrument is added or removed at the site, the data stored in the raw binary files changes. For example, most of the time the regular structure of a raw binary file consists of (a) sonic data and (b) IRGA data. When a QCL system is installed at the site, the data of this new instrument are added to the sonic and IRGA data, e.g. after 6 columns of sonic data and 8 columns of IRGA data follow 5 columns of QCL data <\/p>\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Time periods with different instrumental setup have to be calculated separately.<\/strong> Therefore, there is a subpage called EC Raw Binary Data (XX-XXX) for each site with tables, showing the name of the first\/last raw binary file with the instrumental setting of the respective time period.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">What Does Compressed vs Uncompressed Mean?<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Data from the instruments arrive in blocks at the logger. These datablocks arrive sequentially: first the datablock from instrument 1, then from instrument 2, etc &#8230; Datablocks are then stored to data files in the order as they arrive at the logger.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>See<\/strong>: <a href=\"https:\/\/gitlab.ethz.ch\/flux\/bico\/-\/tree\/master\/src\/settings\/data_blocks\" target=\"_blank\" rel=\"noopener\">Datablocks in bico<\/a><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In the binary files these datablocks are compressed, which means that one line of data records (i.e., all records for a specific timestamp) can consist of a varying number of Bytes and data columns. For example, if all data are available at a specific timestamp, one line of data records might consist of <code>26 Bytes<\/code> and 12 data columns. If the data for one instrument are missing, then one line of data records may only consist of <code>14 Bytes<\/code> and 8 data columns. After <code>bico<\/code> converted the raw data file to ASCII, the files are uncompressed and each line of data records, no matter if data are missing or not, consists of the full 12 data columns: the format is therefore regular.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">For example<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Let&#8217;s say we have a site with one sonic anemometer (Solent R3-50) and one gas analyzer (LI-COR 7200, i.e. IRGA72). Measurements are performed at 20Hz.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>The <strong>sonic anemometer data<\/strong> consists of a 12-Byte data block that comprises the wind data etc. These 12 Bytes are written to the raw binary file and this data block always has a size of <code>12 Bytes<\/code>.<\/li>\r\n\r\n\r\n\r\n<li>The <strong>gas analyzer data<\/strong> of the IRGA72 is then added to this sonic data. Most of the time, when everything runs normally and there are no errors, the data block coming from the IRGA72 has a size of <code>26 Bytes<\/code>. In this case, the 26 Bytes are added to the raw data file right after the 12-Bytes data block from the sonic anemometer. However, sometimes the IRGA72 data is missing, and in this case the data block from the IRGA72 is only <code>2 Bytes<\/code> in size. In this case, the 2 Bytes (instead of 26 Bytes) are added to the 12-Bytes data block from the sonic.<\/li>\r\n\r\n\r\n\r\n<li>This merging of sonic and IRGA data is done 20 times per second (20Hz), and each of the 20 records per second consists of the sonic and the anemometer data.<\/li>\r\n\r\n\r\n\r\n<li>There are no columns or line breaks in the raw binary files, which means that all the data blocks coming from the instruments are assembled into one big data block in the raw binary file. This looks like this: sonic data block + IRGA72 data block + sonic data block + IRGA72 data block + sonic data block + &#8230;.etc<\/li>\r\n\r\n\r\n\r\n<li>Since sometimes the data coming from the IRGA72 are missing, the single records (sonic data block + IRGA72 data block) can vary in size: when both the sonic and IRGA72 data are available, the record is <code>38 Bytes<\/code> (12 Bytes + 26 Bytes). When sonic data are available but IRGA72 data are missing, then the record is <code>14 Bytes<\/code> (12 Bytes + 2 Bytes).<\/li>\r\n\r\n\r\n\r\n<li>This means that only the available information is stored in the raw data files (e.g. only 14 Bytes in case of missing data instead of 38 Bytes), and therefore the data are compressed.<\/li>\r\n\r\n\r\n\r\n<li>EddyPro can only use files that are uncompressed, which means that it is not possible to tell EddyPro &#8220;Sometimes the record is 38 Bytes, but sometimes it is 14 Bytes&#8221;. And therefore, we have to convert this compressed format to an uncompressed format.<\/li>\r\n\r\n\r\n\r\n<li>This conversion is done using the open source Python script <a href=\"https:\/\/gitlab.ethz.ch\/holukas\/bico\" target=\"_blank\" rel=\"noopener\">BICO<\/a> before raw data files are used to calculate fluxes in EddyPro. The Python script converts the compressed raw binary files to uncompressed ASCII csv files. During this conversion, the raw binary data are sorted in to columns, and at the end of one record a line break is added. This means that one record in the ASCII file consists of data sorted into columns followed by a line break. Each line in these files is one record and there are 20 lines (i.e. 20 records) per second.<\/li>\r\n\r\n\r\n\r\n<li><strong>In the uncompressed ASCII files, one record always consists of the same amount of columns, regardless of missing data, and is therefore &#8220;uncompressed&#8221;.<\/strong> This way, the files can be directly used in EddyPro for the flux calculations.In case the data from the IRGA72 are missing, still the same number of columns is written to the ASCII file, and columns that contain no data have the value -9999.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Example Structure<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In this example, the setup consists of 1 sonic anemometer and 2 different gas analyzers.<\/p>\r\n\r\n\r\n\r\n<div class=\"level4\">\r\n<ol>\r\n<li>HEADER: Size of header: 29 Bytes. The compressed raw binary files also contain header information. This information is not written to the uncompressed ASCII file, but it is written to the log file during conversion from binary to ASCII.<\/li>\r\n<li>INSTRUMENT 1: Data block coming from sonic anemometer Solent R3-50: <code>12 Bytes<\/code> (big endian short integer).<\/li>\r\n<li>INSTRUMENT 2: Data block coming from Li-7500 (IRGA75): <code>2-16 Bytes<\/code>. In case of 2 Bytes, data from the IRGA75 are missing.<\/li>\r\n<li>INSTRUMENT 3: Data block coming from Li-7200 (IRGA72): <code>2-25 Bytes<\/code>. In case of 2 Bytes, data from the IRGA72 are missing.<\/li>\r\n<\/ol>\r\n<p>The HEADER is at the start of the file. After the HEADER, data from the instruments are stored sequentially. One record consists of the sonic data block + IRGA75 data block + IRGA72 data block.<\/p>\r\n<ul>\r\n<li>In case everything runs normally, one record in the compressed raw binary file is <code>53 Bytes<\/code> (12 + 16 + 25 Bytes).<\/li>\r\n<li>In case only data from the IRGA75 are missing, one record in the compressed raw binary file is <code>39 Bytes<\/code> (12 + 2 + 25 Bytes)<\/li>\r\n<li>In case only data from the IRGA72 are missing, one record in the compressed raw binary file is <code>30 Bytes<\/code> (12 + 16 + 2 Bytes)<\/li>\r\n<li>In case data from the IRGA75 and from the IRGA72 are missing, one record in the compressed raw binary file is <code>16 Bytes<\/code> (12 + 2 + 2 Bytes)<\/li>\r\n<\/ul>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"level5\">\r\n<p>When converted to an ASCII file, the following columns are found in the converted file. Missing data columns (i.e. missing in the compressed raw binary files) have the numeric value -9999 instead of the (missing) measurement.<\/p>\r\n<div class=\"table sectionedit1\">\r\n<table class=\"inline\">\r\n<thead>\r\n<tr class=\"row0\">\r\n<th class=\"col0\">Byte#<\/th>\r\n<th class=\"col1\">Sensor<\/th>\r\n<th class=\"col2\">Type<\/th>\r\n<th class=\"col3\">Parameter<\/th>\r\n<th class=\"col4\">Comment<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr class=\"row1\">\r\n<td class=\"col0 leftalign\">1-2<\/td>\r\n<td class=\"col1\">Sonic Anemometer<\/td>\r\n<td class=\"col2\">Solent R3-50<\/td>\r\n<td class=\"col3\">wind u<\/td>\r\n<td class=\"col4\">divide by 100 to get m s-1<\/td>\r\n<\/tr>\r\n<tr class=\"row2\">\r\n<td class=\"col0 leftalign\">3-4<\/td>\r\n<td class=\"col1\">Sonic Anemometer<\/td>\r\n<td class=\"col2\">Solent R3-50<\/td>\r\n<td class=\"col3\">wind v<\/td>\r\n<td class=\"col4\">divide by 100 to get m s-1<\/td>\r\n<\/tr>\r\n<tr class=\"row3\">\r\n<td class=\"col0 leftalign\">5-6<\/td>\r\n<td class=\"col1\">Sonic Anemometer<\/td>\r\n<td class=\"col2\">Solent R3-50<\/td>\r\n<td class=\"col3\">wind w<\/td>\r\n<td class=\"col4\">divide by 100 to get m s-1<\/td>\r\n<\/tr>\r\n<tr class=\"row4\">\r\n<td class=\"col0 leftalign\">7-8<\/td>\r\n<td class=\"col1\">Sonic Anemometer<\/td>\r\n<td class=\"col2\">Solent R3-50<\/td>\r\n<td class=\"col3\">sonic temperature<\/td>\r\n<td class=\"col4\">divide by 100 to get K<\/td>\r\n<\/tr>\r\n<tr class=\"row5\">\r\n<td class=\"col0 leftalign\">9-10<\/td>\r\n<td class=\"col1\">Sonic Anemometer<\/td>\r\n<td class=\"col2\">Solent R3-50<\/td>\r\n<td class=\"col3\">inclinometer x<\/td>\r\n<td class=\"col4\">&#8211;<\/td>\r\n<\/tr>\r\n<tr class=\"row6\">\r\n<td class=\"col0\">11-12<\/td>\r\n<td class=\"col1\">Sonic Anemometer<\/td>\r\n<td class=\"col2\">Solent R3-50<\/td>\r\n<td class=\"col3\">inclinometer y<\/td>\r\n<td class=\"col4\">&#8211;<\/td>\r\n<\/tr>\r\n<tr class=\"row7\">\r\n<td class=\"col0 leftalign\">13<\/td>\r\n<td class=\"col1 leftalign\">Open Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7500<\/td>\r\n<td class=\"col3\">size of IRGA data block<\/td>\r\n<td class=\"col4\">&#8211;<\/td>\r\n<\/tr>\r\n<tr class=\"row8\">\r\n<td class=\"col0 leftalign\">14<\/td>\r\n<td class=\"col1 leftalign\">Open Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7500<\/td>\r\n<td class=\"col3\">status of IRGA data acquisition<\/td>\r\n<td class=\"col4\">octal<\/td>\r\n<\/tr>\r\n<tr class=\"row9\">\r\n<td class=\"col0 leftalign\">15<\/td>\r\n<td class=\"col1 leftalign\">Open Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7500<\/td>\r\n<td class=\"col3\">status byte<\/td>\r\n<td class=\"col4\">used to calculate window dirtiness<\/td>\r\n<\/tr>\r\n<tr class=\"row10\">\r\n<td class=\"col0\">16-18<\/td>\r\n<td class=\"col1 leftalign\">Open Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7500<\/td>\r\n<td class=\"col3\">H2O concentration<\/td>\r\n<td class=\"col4\">multiply by 0.001 to get mmol m-3<\/td>\r\n<\/tr>\r\n<tr class=\"row11\">\r\n<td class=\"col0\">19-21<\/td>\r\n<td class=\"col1 leftalign\">Open Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7500<\/td>\r\n<td class=\"col3\">CO2 concentration<\/td>\r\n<td class=\"col4\">multiply by 0.0001 to get mmol m-3<\/td>\r\n<\/tr>\r\n<tr class=\"row12\">\r\n<td class=\"col0\">22-23<\/td>\r\n<td class=\"col1 leftalign\">Open Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7500<\/td>\r\n<td class=\"col3\">IRGA temperature<\/td>\r\n<td class=\"col4\">multiply by 0.01, then subtract 100 to get K<\/td>\r\n<\/tr>\r\n<tr class=\"row13\">\r\n<td class=\"col0\">24-25<\/td>\r\n<td class=\"col1 leftalign\">Open Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7500<\/td>\r\n<td class=\"col3\">IRGA pressure<\/td>\r\n<td class=\"col4\">multiply by 10 to get Pa<\/td>\r\n<\/tr>\r\n<tr class=\"row14\">\r\n<td class=\"col0\">26-28<\/td>\r\n<td class=\"col1 leftalign\">Open Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7500<\/td>\r\n<td class=\"col3\">IRGA cooler voltage<\/td>\r\n<td class=\"col4\">multiply by 0.0001 to get V<\/td>\r\n<\/tr>\r\n<tr class=\"row15\">\r\n<td class=\"col0 leftalign\">29<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">size of IRGA data block<\/td>\r\n<td class=\"col4\">&#8211;<\/td>\r\n<\/tr>\r\n<tr class=\"row16\">\r\n<td class=\"col0 leftalign\">30<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">status of IRGA data acquisition<\/td>\r\n<td class=\"col4\">octal<\/td>\r\n<\/tr>\r\n<tr class=\"row17\">\r\n<td class=\"col0 leftalign\">31<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">status byte<\/td>\r\n<td class=\"col4\">used to calculate window dirtiness (1)<\/td>\r\n<\/tr>\r\n<tr class=\"row18\">\r\n<td class=\"col0\">32-34<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">H2O ppt<\/td>\r\n<td class=\"col4\">multiply by 0.001 to get mmol mol-1 (dmf)<\/td>\r\n<\/tr>\r\n<tr class=\"row19\">\r\n<td class=\"col0\">35-37<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">CO2 ppm<\/td>\r\n<td class=\"col4\">multiply by 0.0001 to get umol mol-1 (dmf)<\/td>\r\n<\/tr>\r\n<tr class=\"row20\">\r\n<td class=\"col0\">38-40<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">H2O concentration<\/td>\r\n<td class=\"col4\">multiply by 0.001 to get mmol m-3<\/td>\r\n<\/tr>\r\n<tr class=\"row21\">\r\n<td class=\"col0\">41-43<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">CO2 concentration<\/td>\r\n<td class=\"col4\">multiply by 0.0001 to get mmol m-3<\/td>\r\n<\/tr>\r\n<tr class=\"row22\">\r\n<td class=\"col0\">44-45<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">IRGA temperature<\/td>\r\n<td class=\"col4\">multiply by 0.01 to get K<\/td>\r\n<\/tr>\r\n<tr class=\"row23\">\r\n<td class=\"col0\">46-47<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">IRGA pressure<\/td>\r\n<td class=\"col4\">multiply by 10 to get Pa<\/td>\r\n<\/tr>\r\n<tr class=\"row24\">\r\n<td class=\"col0\">48-49<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">IRGA atm pressure<\/td>\r\n<td class=\"col4\">multiply by 10 to get Pa<\/td>\r\n<\/tr>\r\n<tr class=\"row25\">\r\n<td class=\"col0\">50-51<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">IRGA cooler voltage<\/td>\r\n<td class=\"col4\">multiply by 0.001 to get V<\/td>\r\n<\/tr>\r\n<tr class=\"row26\">\r\n<td class=\"col0\">52-53<\/td>\r\n<td class=\"col1 leftalign\">Enclosed Path IRGA<\/td>\r\n<td class=\"col2 leftalign\">LICOR 7200<\/td>\r\n<td class=\"col3\">IRGA flow<\/td>\r\n<td class=\"col4\">multiply by 0.001 to get l min-1<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"level5\">\r\n<h2>Links<\/h2>\r\n<ul>\r\n<li><code>bico<\/code> (Binary Converter): <a href=\"https:\/\/gitlab.ethz.ch\/flux\/bico\" target=\"_blank\" rel=\"noopener\">source code<\/a> | <a href=\"https:\/\/gitlab.ethz.ch\/flux\/bico\/-\/tree\/master\/src\/settings\/data_blocks\" target=\"_blank\" rel=\"noopener\">overview of raw data blocks<\/a><\/li>\r\n<li><strong>Documentation about on-site data acquisition scripts<\/strong>:\r\n<ul>\r\n<li>Sonic Anemometer Data Aquisition Program: <a href=\"https:\/\/www.swissfluxnet.ethz.ch\/wp-content\/uploads\/2018\/10\/sonicread_20190503.pdf\">sonicread_20190503.pdf<\/a><\/li>\r\n<li>Quantum Cascade Laser (QCL) Data Aquisition Program: <a href=\"https:\/\/www.swissfluxnet.ethz.ch\/wp-content\/uploads\/2018\/10\/qcldoc_20200515.pdf\">qcldoc_20200515.pdf<\/a><\/li>\r\n<li>Los Gatos Research (LGR) Data Aquisition Program: <a href=\"https:\/\/www.swissfluxnet.ethz.ch\/wp-content\/uploads\/2018\/10\/lgrdoc_20180601.pdf\">lgrdoc_20180601.pdf<\/a><\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<p>&nbsp;<\/p>\r\n<\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>In short We historically used the sonicread script for logging eddy covariance raw data files, a practice that began in 2005. In 2024, we transitioned the first site (CH-FRU) to rECord, a new data logging script based on sonicread. Each sonicread eddy covariance raw data binary file contains a header . . . <a class=\"readmore-link\" href=\"https:\/\/swissfluxnet.ethz.ch\/index.php\/documentation\/eddy-covariance-raw-data-binary-files\/\">Read more<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":11817,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"template-full-width.php","meta":{"_acf_changed":false,"_lmt_disableupdate":"no","_lmt_disable":"no","ngg_post_thumbnail":0,"footnotes":""},"coauthors":[314],"class_list":["post-11821","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/pages\/11821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/comments?post=11821"}],"version-history":[{"count":3,"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/pages\/11821\/revisions"}],"predecessor-version":[{"id":13254,"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/pages\/11821\/revisions\/13254"}],"up":[{"embeddable":true,"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/pages\/11817"}],"wp:attachment":[{"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/media?parent=11821"}],"wp:term":[{"taxonomy":"author","embeddable":true,"href":"https:\/\/swissfluxnet.ethz.ch\/index.php\/wp-json\/wp\/v2\/coauthors?post=11821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}