To receive notifications about scheduled maintenance, please subscribe to the mailing-list gitlab-operations@sympa.ethz.ch. You can subscribe to the mailing-list at https://sympa.ethz.ch

Commit 7f046226 authored by holukas's avatar holukas
Browse files

Datablock corrections

parent 52136730
......@@ -3,6 +3,9 @@
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/bico" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/_raw_photoshop" />
<excludeFolder url="file://$MODULE_DIR$/_tests" />
<excludeFolder url="file://$MODULE_DIR$/_versions" />
</content>
<orderEntry type="jdk" jdkName="Python 3.8 (BICOFLUXRUN1)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
......
......@@ -2,21 +2,23 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="254ecb79-655b-4854-8af6-177bb7347e8a" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/BICO_Binary_Converter.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/BICO_Binary_Converter.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/CHANGELOG.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/CHANGELOG.md" beforeDir="false" afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/bico.py" beforeDir="false" afterPath="$PROJECT_DIR$/bico/bico.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/gui/gui.py" beforeDir="false" afterPath="$PROJECT_DIR$/bico/gui/gui.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/ops/vis.py" beforeDir="false" afterPath="$PROJECT_DIR$/bico/ops/vis.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/Bico.settings" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/Bico.settings" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/Bico.settingsOld" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/Bico.settingsOld" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/_version.py" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/_version.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/LGR-A.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/LGR-A.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/LGR-A.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/LGR-A.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A2.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A2.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A2.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A2.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A4.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A4.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A4.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-A4.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-C.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-C.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-C.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/QCL-C.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-A.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-A.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-A.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-A.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-B.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-B.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-B.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-B.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA75-A-GN1.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA75-A-GN1.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA75-A-GN1.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA75-A-GN1.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA75-A.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA75-A.dblock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA75-A.md" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA75-A.md" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......@@ -355,6 +357,12 @@
<workItem from="1613169484033" duration="82000" />
<workItem from="1613337626286" duration="1447000" />
<workItem from="1613403778064" duration="2794000" />
<workItem from="1613481309306" duration="8000" />
<workItem from="1613865598352" duration="841000" />
<workItem from="1613905360064" duration="1822000" />
<workItem from="1613923026962" duration="1455000" />
<workItem from="1614037555738" duration="2930000" />
<workItem from="1614089533601" duration="7154000" />
</task>
<servers />
</component>
......@@ -378,18 +386,23 @@
<breakpoints>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/bico/bico.py</url>
<line>419</line>
<line>420</line>
<option name="timeStamp" value="41" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/bico/ops/stats.py</url>
<line>13</line>
<option name="timeStamp" value="185" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/bico/ops/bin.py</url>
<line>94</line>
<option name="timeStamp" value="183" />
<line>400</line>
<option name="timeStamp" value="186" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/bico/ops/bin.py</url>
<line>14</line>
<option name="timeStamp" value="184" />
<line>403</line>
<option name="timeStamp" value="187" />
</line-breakpoint>
</breakpoints>
<default-breakpoints>
......@@ -410,7 +423,7 @@
<SUITE FILE_PATH="coverage/BICO$main.coverage" NAME="bico Coverage Results" MODIFIED="1598258463691" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/bico" />
<SUITE FILE_PATH="coverage/BICO_Binary_Converter$gui.coverage" NAME="gui Coverage Results" MODIFIED="1606435918815" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/bico" />
<SUITE FILE_PATH="coverage/BICO_Binary_Converter$main.coverage" NAME="main Coverage Results" MODIFIED="1596498134562" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/bico" />
<SUITE FILE_PATH="coverage/BICO_Binary_Converter$start_bico.coverage" NAME="start_bico Coverage Results" MODIFIED="1613408230510" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/bico" />
<SUITE FILE_PATH="coverage/BICO_Binary_Converter$start_bico.coverage" NAME="start_bico Coverage Results" MODIFIED="1614098683212" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/bico" />
<SUITE FILE_PATH="coverage/BICO_Binary_Converter$example.coverage" NAME="example Coverage Results" MODIFIED="1606348759035" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/example" />
</component>
</project>
\ No newline at end of file
# BICO Changelog
## v0.5.0 - 23 Feb 2021
- bug: wrong number of bits for SIGNAL_STRENGTH in `IRGA72-B.dblock`
- bug: reading order for extracted variables was wrong in `IRGA72-B.dblock`
- bug: wrong number of bits for AGC in `IRGA75-A.dblock` and `IRGA75-A-GN1.dblock`
- bug: reading order for extracted variables was wrong in `IRGA75-A.dblock` and `IRGA75-A-GN1.dblock`
- changed: the `'apply_gain'` option for `SIGNAL_STRENGTH` in IRGA72 datablocks was changed
from `6.6666666666666666` to `6.67` to be more in line with their manual. This means that
the max signal strength that can be reached is `100.05`:
- `IRGA72-A.dblock`
- `IRGA72-B.dblock`
- added: median is now also shown in hires plots
- added: link for CHANGELOG
## v0.4.0 - 15 Feb 2021
- changed: For QCL and LGR instruments, PRESS_CELL in Torr is now converted to hPa.
This conversion is done because EddyPro cannot handle Torr as input units for cell pressure during flux calculations. For the conversion, the parameter
For the conversion, the parameter
`'apply_gain': 1.33322368` was used (was previously set to `1`).
**The following .dblock files are affected:**
- LGR-A.dblock
......
......@@ -250,6 +250,7 @@ class Bico(qtw.QMainWindow, Ui_MainWindow):
def connections(self):
"""Connect GUI elements to functions"""
# Logo
self.lbl_link_changelog.linkActivated.connect(self.link)
self.lbl_link_releases.linkActivated.connect(self.link)
self.lbl_link_source_code.linkActivated.connect(self.link)
self.lbl_link_license.linkActivated.connect(self.link)
......
......@@ -78,14 +78,16 @@ class Ui_MainWindow(object):
# self.lbl_link_releases.setAlignment(qtc.Qt.AlignCenter | qtc.Qt.AlignVCenter)
# grid.addWidget(self.lbl_link_releases, 5, 0)
self.lbl_link_changelog = gui_elements.add_label_link_to_grid(
link_txt='Changelog', link_str=info.__link_changelog__, grid=grid, row=5)
self.lbl_link_releases = gui_elements.add_label_link_to_grid(
link_txt='Releases', link_str=info.__link_releases__, grid=grid, row=5)
link_txt='Releases', link_str=info.__link_releases__, grid=grid, row=6)
self.lbl_link_source_code = gui_elements.add_label_link_to_grid(
link_txt='Source Code', link_str=info.__link_source_code__, grid=grid, row=6)
link_txt='Source Code', link_str=info.__link_source_code__, grid=grid, row=7)
self.lbl_link_license = gui_elements.add_label_link_to_grid(
link_txt='License', link_str=info.__license__, grid=grid, row=7)
link_txt='License', link_str=info.__license__, grid=grid, row=8)
self.lbl_link_help = gui_elements.add_label_link_to_grid(
link_txt='Help', link_str=info.__link_wiki__, grid=grid, row=8)
link_txt='Help', link_str=info.__link_wiki__, grid=grid, row=9)
grid.addWidget(label_image, 0, 0)
grid.addWidget(qtw.QLabel(), 1, 0)
......@@ -93,7 +95,7 @@ class Ui_MainWindow(object):
grid.addWidget(label_txt2, 3, 0)
grid.addWidget(label_txt3, 4, 0)
grid.setRowStretch(9, 1)
grid.setRowStretch(10, 1)
section.setLayout(grid)
return section
......
......@@ -178,8 +178,9 @@ def high_res_histogram(df, outfile, outdir, logger):
_default_format(ax=ax, width=1, length=2, txt_xlabel="", txt_ylabel="Counts", fontsize=7)
ax.text(0.01, 0.96, f"{col[0]} {col[1]} {col[2]}", transform=ax.transAxes, horizontalalignment='left',
**text_args)
txt_info = f"mean: {dblock_df[col].mean():.3f} vals: {dblock_df[col].count():.0f}\n" \
f"min: {dblock_df[col].min():.3f} max:{dblock_df[col].max():.3f}"
txt_info = f"values: {dblock_df[col].count():.0f}\n" \
f"median: {dblock_df[col].median():.3f} | mean: {dblock_df[col].mean():.3f}\n" \
f"min: {dblock_df[col].min():.3f} | max:{dblock_df[col].max():.3f}"
ax.text(0.99, 0.96, txt_info, transform=ax.transAxes, horizontalalignment='right', **text_args)
for tick in ax.xaxis.get_major_ticks():
tick.label.set_fontsize(6)
......@@ -238,8 +239,9 @@ def high_res_ts(df, outfile, outdir, logger):
if dataok:
# Numeric data, values available
ax.plot(dblock_df[col].index, dblock_df[col], 'r,', alpha=0.5, c='#5f87ae')
txt_info = f"mean: {dblock_df[col].mean():.3f} vals: {dblock_df[col].count():.0f}\n" \
f"min: {dblock_df[col].min():.3f} max:{dblock_df[col].max():.3f}"
txt_info = f"values: {dblock_df[col].count():.0f}\n" \
f"median: {dblock_df[col].median():.3f} | mean: {dblock_df[col].mean():.3f}\n" \
f"min: {dblock_df[col].min():.3f} | max:{dblock_df[col].max():.3f}"
ax.text(0.99, 0.96, txt_info, transform=ax.transAxes, horizontalalignment='right', **text_args)
_default_format(ax=ax, width=1, length=2)
......
run_id=BICO-20210215-175711
run_id=BICO-20210223-174444
# INSTRUMENTS
# ===========
# Site
site=CH-AES
site=CH-DAV
# Data Blocks
header=WECOM3
instrument_1=R350-A
instrument_2=IRGA75-A-GN1
instrument_3=LGR-A
instrument_1=HS50-B
instrument_2=IRGA72-B
instrument_3=QCL-C
# RAW DATA
# ========
# Source Folder
dir_source=A:/FLUXES/x-TEST-FILES
dir_source=Y:/CH-DAV_Davos/20_sonic_ghg/2015/11/20_HS_LI72
# Time Range
start_date=2019-05-15 19:00
end_date=2019-06-15 19:00
start_date=2015-11-14 07:00
end_date=2015-12-14 07:00
# File Settings
filename_datetime_format=yyyymmddHH.XMM
file_ext=*.X*
file_size_min=900
file_limit=0
row_limit=0
row_limit=1000
# Special
select_random_files=0
select_random_files=20
# OUTPUT
# ======
dir_out=A:/FLUXES/x-TEST-OUT
dir_out_run=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175711
dir_out_run_log=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175711\log
dir_out_run_plots=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175711\plots
dir_out_run_plots_hires=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175711\plots\hires
dir_out_run_plots_agg=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175711\plots\agg
dir_out_run_raw_data_ascii=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175711\raw_data_ascii
dir_out_run=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-174444
dir_out_run_log=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-174444\log
dir_out_run_plots=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-174444\plots
dir_out_run_plots_hires=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-174444\plots\hires
dir_out_run_plots_agg=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-174444\plots\agg
dir_out_run_raw_data_ascii=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-174444\raw_data_ascii
output_folder_name_prefix=CH-AES_test
output_folder_name_prefix=CH-DAV_test
file_compression=gzip
add_instr_to_varname=1
......
run_id=BICO-20210215-175450
run_id=BICO-20210223-173815
# INSTRUMENTS
# ===========
......@@ -8,19 +8,19 @@ site=CH-AES
# Data Blocks
header=WECOM3
instrument_1=R350-A
instrument_2=IRGA75-A-GN1
instrument_3=LGR-A
instrument_1=HS50-B
instrument_2=IRGA72-B
instrument_3=QCL-C
# RAW DATA
# ========
# Source Folder
dir_source=A:/FLUXES/x-TEST-FILES
dir_source=Y:/CH-DAV_Davos/20_sonic_ghg/2015/11/20_HS_LI72
# Time Range
start_date=2019-05-15 19:00
end_date=2019-06-15 19:00
start_date=2015-11-14 07:00
end_date=2015-11-14 07:00
# File Settings
filename_datetime_format=yyyymmddHH.XMM
......@@ -35,14 +35,14 @@ select_random_files=0
# OUTPUT
# ======
dir_out=A:/FLUXES/x-TEST-OUT
dir_out_run=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175450
dir_out_run_log=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175450\log
dir_out_run_plots=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175450\plots
dir_out_run_plots_hires=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175450\plots\hires
dir_out_run_plots_agg=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175450\plots\agg
dir_out_run_raw_data_ascii=A:\FLUXES\x-TEST-OUT\CH-AES_test_BICO-20210215-175450\raw_data_ascii
dir_out_run=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-173815
dir_out_run_log=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-173815\log
dir_out_run_plots=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-173815\plots
dir_out_run_plots_hires=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-173815\plots\hires
dir_out_run_plots_agg=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-173815\plots\agg
dir_out_run_raw_data_ascii=A:\FLUXES\x-TEST-OUT\CH-DAV_test_BICO-20210223-173815\raw_data_ascii
output_folder_name_prefix=CH-AES_test
output_folder_name_prefix=CH-DAV_test
file_compression=gzip
add_instr_to_varname=1
......
__version__ = "0.4.0"
__date__ = "15 Feb 2021"
__version__ = "0.5.0"
__date__ = "23 Feb 2021"
__link_changelog__ = "https://gitlab.ethz.ch/holukas/bico/-/blob/master/CHANGELOG.md"
__link_source_code__ = "https://gitlab.ethz.ch/holukas/bico"
__link_releases__ = "https://gitlab.ethz.ch/holukas/bico/-/releases"
__link_wiki__ = "https://gitlab.ethz.ch/holukas/bico/-/wikis/home"
......
......@@ -29,6 +29,6 @@ CHOPPER == {'order': 3.07, 'bit_pos_start': 8, 'bit_pos_end': 9, 'app
DETECTOR == {'order': 3.08, 'bit_pos_start': 9, 'bit_pos_end': 10, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA72-A'}
PLL == {'order': 3.09, 'bit_pos_start': 10, 'bit_pos_end': 11, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA72-A'}
SYNC == {'order': 3.10, 'bit_pos_start': 11, 'bit_pos_end': 12, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA72-A'}
SIGNAL_STRENGTH == {'order': 3.11, 'bit_pos_start': 12, 'bit_pos_end': 16, 'apply_gain': 6.6666666666666666, 'add_offset': 0, 'units': '%', 'output': 1, 'datablock': 'IRGA72-A'}
SIGNAL_STRENGTH == {'order': 3.11, 'bit_pos_start': 12, 'bit_pos_end': 16, 'apply_gain': 6.67, 'add_offset': 0, 'units': '%', 'output': 1, 'datablock': 'IRGA72-A'}
......@@ -25,9 +25,8 @@
- (5) PLL: 1 = OK; lock bit, indicates that optical wheel is rotating at the correct rate
- (4) SYNC: always set to 1 (OK)
- (3,2,1,0) SIGNAL_STRENGTH
The gain 6.6666666666666666 has that many digits after the comma so that the calculated
max signal strength is 100%. For example, if there is one digit after the comma less,
then the max signal strength yields 99.99999999999999% instead of 100%.
100% means very good signal. However, this value cannot be *exactly* reached if the conversion
of `6.67` according to the manual is used. Instead, the maximum value is `100.05%`.
- 'output': 1 means that the var is written to the output stream of this data block,
i.e. included in the output file.
- H2O_DRY ... H2O dry mole fraction (in dry air), mixing ratio, ppt (parts per THOUSAND)
......
......@@ -19,7 +19,7 @@ FLOW_VOLRATE == {'order': 12, 'bytes': 2, 'format': 'B B', 'gain_on_signal
# Values extracted from GA_DIAG_CODE:
# -----------------------------------
SIGNAL_STRENGTH == {'order': 3.11, 'bit_pos_start': 0, 'bit_pos_end': 4, 'apply_gain': 6.6666666666666666, 'add_offset': 0, 'units': '%', 'output': 1, 'datablock': 'IRGA72-B'}
UNUSED == {'order': 3.01, 'bit_pos_start': 4, 'bit_pos_end': 7, 'apply_gain': 1, 'add_offset': 0, 'units': 'unused', 'output': 0, 'datablock': 'IRGA72-B'}
UNUSED == {'order': 3.01, 'bit_pos_start': 0, 'bit_pos_end': 4, 'apply_gain': 1, 'add_offset': 0, 'units': 'unused', 'output': 0, 'datablock': 'IRGA72-B'}
SIGNAL_STRENGTH == {'order': 3.02, 'bit_pos_start': 4, 'bit_pos_end': 8, 'apply_gain': 6.67, 'add_offset': 0, 'units': '%', 'output': 1, 'datablock': 'IRGA72-B'}
......@@ -16,9 +16,8 @@
- (8,7,6,5,4) currently unknown info, but most likely a part of the 2-byte GA_DIAG_CODE from the
IRGA72-A can be found in these bits
- (3,2,1,0) SIGNAL_STRENGTH
The gain 6.6666666666666666 has that many digits after the comma so that the calculated
max signal strength is 100%. For example, if there is one digit after the comma less,
then the max signal strength yields 99.99999999999999% instead of 100%.
100% means very good signal. However, this value cannot be *exactly* reached if the conversion
of `6.67` according to the manual is used. Instead, the maximum value is `100.05%`.
- 'output': 1 means that the var is written to the output stream of this data block,
i.e. included in the output file.
- H2O_DRY ... H2O dry mole fraction (in dry air), mixing ratio, ppt (parts per THOUSAND)
......
......@@ -15,10 +15,10 @@ COOLER_V == {'order': 8, 'bytes': 3, 'format': 'B B B', 'gain_on_signa
# Values extracted from GA_DIAG_CODE:
# --------------------------------------
AGC == {'order': 3.04, 'bit_pos_start': 0, 'bit_pos_end': 3, 'apply_gain': 6.25, 'add_offset': 6.25, 'units': '%', 'output': 1, 'datablock': 'IRGA75-A-GN1'}
SYNC == {'order': 3.05, 'bit_pos_start': 4, 'bit_pos_end': 5, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A-GN1'}
PLL == {'order': 3.06, 'bit_pos_start': 5, 'bit_pos_end': 6, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A-GN1'}
DETECTOR == {'order': 3.07, 'bit_pos_start': 6, 'bit_pos_end': 7, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A-GN1'}
CHOPPER == {'order': 3.08, 'bit_pos_start': 7, 'bit_pos_end': 8, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A-GN1'}
CHOPPER == {'order': 3.01, 'bit_pos_start': 0, 'bit_pos_end': 1, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A-GN1'}
DETECTOR == {'order': 3.02, 'bit_pos_start': 1, 'bit_pos_end': 2, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A-GN1'}
PLL == {'order': 3.03, 'bit_pos_start': 2, 'bit_pos_end': 3, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A-GN1'}
SYNC == {'order': 3.04, 'bit_pos_start': 3, 'bit_pos_end': 4, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A-GN1'}
AGC == {'order': 3.05, 'bit_pos_start': 4, 'bit_pos_end': 8, 'apply_gain': 6.25, 'add_offset': 0, 'units': '%', 'output': 1, 'datablock': 'IRGA75-A-GN1'}
......@@ -11,12 +11,18 @@ Based on IRGA75-A but with a different gain on CO2_CONC.
- 40 .. Status OK, old data used (0040)
- 200 .. not OK, IRGA data are missing (0200)
- GA_DIAG_CODE ... IRGA diagnostic value
- The cell diagnostic value is a 1 byte unsigned integer (value between 0 and 255) with the following bit map (in order of how the code reads it, orig bit position in brackets):
- (7) CHOPPER: 1 = OK
- (6) DETECTOR: 1 = OK
- (5) PLL: 1 = OK
- (4) SYNC: 1 = OK
- (3,2,1,0) AGC: 100% = bad (generally true, but check data files for exceptions), automatic gain control, window dirtiness, signal strength
- The cell diagnostic value is a 1 byte unsigned integer (value between 0 and 255, or in binary
notation e.g. `00111001`) with the following bit map (in order of how the code reads it,
orig bit position in brackets):
- (7; first digit) CHOPPER: 1 = OK
- (6; second digit) DETECTOR: 1 = OK
- (5; third digit) PLL: 1 = OK
- (4; fourth digit) SYNC: 1 = OK
- (3,2,1,0; last four digits) AGC: 100% = bad (generally true, but check data files for exceptions),
automatic gain control, window dirtiness, signal strength. However, this value can never reach 100%
according to the binary notation, because AGC corresponds to the 4 right-most digits of the byte,
and if these are e.g. `1111` than that corresponds to decimal `15`, which is multiplied
by `6.25` to yield AGC = `93.75%`.
- 'output': 1 means that the var is written to the output stream of this data block, i.e. included in the
output file.
- H2O_CONC ... H2O concentration density, molar density
......
......@@ -15,10 +15,10 @@ COOLER_V == {'order': 8, 'bytes': 3, 'format': 'B B B', 'gain_on_signa
# Values extracted from GA_DIAG_CODE:
# --------------------------------------
AGC == {'order': 3.04, 'bit_pos_start': 0, 'bit_pos_end': 3, 'apply_gain': 6.25, 'add_offset': 6.25, 'units': '%', 'output': 1, 'datablock': 'IRGA75-A'}
SYNC == {'order': 3.05, 'bit_pos_start': 4, 'bit_pos_end': 5, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A'}
PLL == {'order': 3.06, 'bit_pos_start': 5, 'bit_pos_end': 6, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A'}
DETECTOR == {'order': 3.07, 'bit_pos_start': 6, 'bit_pos_end': 7, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A'}
CHOPPER == {'order': 3.08, 'bit_pos_start': 7, 'bit_pos_end': 8, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A'}
CHOPPER == {'order': 3.01, 'bit_pos_start': 0, 'bit_pos_end': 1, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A'}
DETECTOR == {'order': 3.02, 'bit_pos_start': 1, 'bit_pos_end': 2, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A'}
PLL == {'order': 3.03, 'bit_pos_start': 2, 'bit_pos_end': 3, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A'}
SYNC == {'order': 3.04, 'bit_pos_start': 3, 'bit_pos_end': 4, 'apply_gain': 1, 'add_offset': 0, 'units': '1=OK', 'output': 0, 'datablock': 'IRGA75-A'}
AGC == {'order': 3.05, 'bit_pos_start': 4, 'bit_pos_end': 8, 'apply_gain': 6.25, 'add_offset': 0, 'units': '%', 'output': 1, 'datablock': 'IRGA75-A'}
......@@ -10,12 +10,18 @@
- 40 .. Status OK, old data used (0040)
- 200 .. not OK, IRGA data are missing (0200)
- GA_DIAG_CODE ... IRGA diagnostic value
- The cell diagnostic value is a 1 byte unsigned integer (value between 0 and 255) with the following bit map (in order of how the code reads it, orig bit position in brackets):
- (7) CHOPPER: 1 = OK
- (6) DETECTOR: 1 = OK
- (5) PLL: 1 = OK
- (4) SYNC: 1 = OK
- (3,2,1,0) AGC: 100% = bad (generally true, but check data files for exceptions), automatic gain control, window dirtiness, signal strength
- The cell diagnostic value is a 1 byte unsigned integer (value between 0 and 255, or in binary
notation e.g. `00111001`) with the following bit map (in order of how the code reads it,
orig bit position in brackets):
- (7; first digit) CHOPPER: 1 = OK
- (6; second digit) DETECTOR: 1 = OK
- (5; third digit) PLL: 1 = OK
- (4; fourth digit) SYNC: 1 = OK
- (3,2,1,0; last four digits) AGC: 100% = bad (generally true, but check data files for exceptions),
automatic gain control, window dirtiness, signal strength. However, this value can never reach 100%
according to the binary notation, because AGC corresponds to the 4 right-most digits of the byte,
and if these are e.g. `1111` than that corresponds to decimal `15`, which is multiplied
by `6.25` to yield AGC = `93.75%`.
- 'output': 1 means that the var is written to the output stream of this data block, i.e. included in the
output file.
- H2O_CONC ... H2O concentration density, molar density
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment