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 43cb832c authored by holukas's avatar holukas
Browse files

Added datablocks

parent 28f5ce62
...@@ -2,12 +2,13 @@ ...@@ -2,12 +2,13 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="254ecb79-655b-4854-8af6-177bb7347e8a" name="Default Changelist" comment=""> <list default="true" id="254ecb79-655b-4854-8af6-177bb7347e8a" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-B.dblock" afterDir="false" /> <change afterPath="$PROJECT_DIR$/bico/settings/data_blocks/HS50-B.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/bico/settings/data_blocks/IRGA72-B.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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.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/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/_version.py" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/_version.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bico/settings/data_blocks/HS50-B.dblock" beforeDir="false" afterPath="$PROJECT_DIR$/bico/settings/data_blocks/HS50-B.dblock" 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" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
...@@ -321,6 +322,7 @@ ...@@ -321,6 +322,7 @@
<workItem from="1610135291866" duration="1775000" /> <workItem from="1610135291866" duration="1775000" />
<workItem from="1610145522443" duration="1445000" /> <workItem from="1610145522443" duration="1445000" />
<workItem from="1610235475279" duration="791000" /> <workItem from="1610235475279" duration="791000" />
<workItem from="1610289783723" duration="6634000" />
</task> </task>
<servers /> <servers />
</component> </component>
...@@ -340,11 +342,6 @@ ...@@ -340,11 +342,6 @@
<line>142</line> <line>142</line>
<option name="timeStamp" value="28" /> <option name="timeStamp" value="28" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/bico/ops/bin.py</url>
<line>192</line>
<option name="timeStamp" value="31" />
</line-breakpoint>
</breakpoints> </breakpoints>
<default-breakpoints> <default-breakpoints>
<breakpoint type="python-exception"> <breakpoint type="python-exception">
...@@ -363,7 +360,7 @@ ...@@ -363,7 +360,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$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$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$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="1610235479171" 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="1610322270675" 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" /> <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> </component>
</project> </project>
\ No newline at end of file
run_id=BICO-20210110-003801 run_id=BICO-20210111-004431
# INSTRUMENTS # INSTRUMENTS
# =========== # ===========
...@@ -10,37 +10,37 @@ site=CH-DAV ...@@ -10,37 +10,37 @@ site=CH-DAV
header=WECOM3 header=WECOM3
instrument_1=HS50-B instrument_1=HS50-B
instrument_2=IRGA72-B instrument_2=IRGA72-B
instrument_3=-None- instrument_3=QCL-C
# RAW DATA # RAW DATA
# ======== # ========
# Source Folder # Source Folder
dir_source=Y:/CH-DAV_Davos/20_sonic_ghg/2015 dir_source=Y:/CH-DAV_Davos/20_sonic_ghg/2015/11
# Time Range # Time Range
start_date=2015-06-01 08:00 start_date=2015-11-15 08:00
end_date=2015-11-01 23:00 end_date=2015-11-15 23:00
# File Settings # File Settings
filename_datetime_format=yyyymmddHH.dMM filename_datetime_format=yyyymmddHH.XMM
file_ext=*.d* file_ext=*.X*
file_size_min=900 file_size_min=900
file_limit=0 file_limit=0
row_limit=10 row_limit=0
# Special # Special
select_random_files=50 select_random_files=0
# OUTPUT # OUTPUT
# ====== # ======
dir_out=A:/FLUXES/x-TEST-OUT dir_out=A:/FLUXES/x-TEST-OUT
dir_out_run=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801 dir_out_run=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-004431
dir_out_run_log=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\log dir_out_run_log=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-004431\log
dir_out_run_plots=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\plots dir_out_run_plots=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-004431\plots
dir_out_run_plots_hires=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\plots\hires dir_out_run_plots_hires=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-004431\plots\hires
dir_out_run_plots_agg=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\plots\agg dir_out_run_plots_agg=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-004431\plots\agg
dir_out_run_raw_data_csv=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\raw_data_csv dir_out_run_raw_data_csv=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-004431\raw_data_csv
output_folder_name_prefix=DAV_2015 output_folder_name_prefix=DAV_2015
file_compression=None file_compression=None
...@@ -48,7 +48,7 @@ file_compression=None ...@@ -48,7 +48,7 @@ file_compression=None
plot_file_availability=0 plot_file_availability=0
plot_ts_hires=0 plot_ts_hires=0
plot_histogram_hires=0 plot_histogram_hires=0
plot_ts_agg=1 plot_ts_agg=0
# DIRECTORIES # DIRECTORIES
# =================== # ===================
......
run_id=BICO-20210110-003801 run_id=BICO-20210111-003720
# INSTRUMENTS # INSTRUMENTS
# =========== # ===========
...@@ -10,21 +10,21 @@ site=CH-DAV ...@@ -10,21 +10,21 @@ site=CH-DAV
header=WECOM3 header=WECOM3
instrument_1=HS50-B instrument_1=HS50-B
instrument_2=IRGA72-B instrument_2=IRGA72-B
instrument_3=-None- instrument_3=QCL-C
# RAW DATA # RAW DATA
# ======== # ========
# Source Folder # Source Folder
dir_source=Y:/CH-DAV_Davos/20_sonic_ghg/2015 dir_source=Y:/CH-DAV_Davos/20_sonic_ghg/2015/11
# Time Range # Time Range
start_date=2015-06-01 08:00 start_date=2015-11-15 08:00
end_date=2015-11-01 23:00 end_date=2015-11-15 23:00
# File Settings # File Settings
filename_datetime_format=yyyymmddHH.dMM filename_datetime_format=yyyymmddHH.XMM
file_ext=*.d* file_ext=*.X*
file_size_min=900 file_size_min=900
file_limit=0 file_limit=0
row_limit=10 row_limit=10
...@@ -35,12 +35,12 @@ select_random_files=10 ...@@ -35,12 +35,12 @@ select_random_files=10
# OUTPUT # OUTPUT
# ====== # ======
dir_out=A:/FLUXES/x-TEST-OUT dir_out=A:/FLUXES/x-TEST-OUT
dir_out_run=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801 dir_out_run=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-003720
dir_out_run_log=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\log dir_out_run_log=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-003720\log
dir_out_run_plots=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\plots dir_out_run_plots=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-003720\plots
dir_out_run_plots_hires=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\plots\hires dir_out_run_plots_hires=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-003720\plots\hires
dir_out_run_plots_agg=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\plots\agg dir_out_run_plots_agg=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-003720\plots\agg
dir_out_run_raw_data_csv=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210110-003801\raw_data_csv dir_out_run_raw_data_csv=A:\FLUXES\x-TEST-OUT\DAV_2015_BICO-20210111-003720\raw_data_csv
output_folder_name_prefix=DAV_2015 output_folder_name_prefix=DAV_2015
file_compression=None file_compression=None
......
__version__ = "0.0.7" __version__ = "0.0.8"
__date__ = "8 Jan 2021" __date__ = "10 Jan 2021"
__link_source_code__ = "https://gitlab.ethz.ch/holukas/bico" __link_source_code__ = "https://gitlab.ethz.ch/holukas/bico"
__link_releases__ = "https://gitlab.ethz.ch/holukas/bico/-/releases" __link_releases__ = "https://gitlab.ethz.ch/holukas/bico/-/releases"
__link_wiki__ = "https://gitlab.ethz.ch/holukas/bico/-/wikis/home" __link_wiki__ = "https://gitlab.ethz.ch/holukas/bico/-/wikis/home"
......
# HS50-B
## Variables
- U ... First horizontal wind component (x)
- V ... Second horizontal wind component (y)
- W ... Vertical wind component (z)
- T_SONIC ... Sonic temperature
- INC_X ... Inclinometer x
- INC_Y ... Inclinometer y
## BICO Settings
- 'order' ... Order in the data block variable sequence
- 'bytes' ... Number of bytes in the binary data
- 'format' ... Format to convert from binary to integers, floats, etc.
- 'gain_on_signal' ... Gain that was applied to the raw data signal, to get to units *divide* by this gain
- 'offset_on_signal' ... Offset that was added to the raw data signal, to get to units *subtract* this offset
- 'apply_gain' ... Gain that is applied during conversion, e.g. to convert to different units if needed
- 'add_offset' ... Offset that is added during conversion, e.g. to convert to different units if needed
- 'units' ... Units
- 'datablock' ... Data block ID
*Before BICO, the binary conversion was done in FCT FluxCalcTool:*
- Old ID in FCT: hs-50
- Old data block in FCT: data_block_sonic_hs_50
- FCT Source code: --> https://gitlab.ethz.ch/holukas/fct-flux-calculation-tool
## Details
- Original format with which HS-50 data were logged
## Binary info
- B...unsigned char, integer, 1 Byte
- h...short integer, 2 Bytes
- ">"...big-endian, MSB most-significant Byte at lowest address
Big-endian systems store the most significant byte of a word in the smallest address
- --> https://docs.python.org/3/library/struct.html
- --> https://docs.python.org/3.1/library/struct.html#format-characters
...@@ -4,22 +4,22 @@ ...@@ -4,22 +4,22 @@
# Details: see IRGA72-B.md # Details: see IRGA72-B.md
DATA_SIZE == {'order': 1, 'bytes': 1, 'format': 'B', 'gain_on_signal': 1, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'Bytes', 'datablock': 'IRGA72-A'} DATA_SIZE == {'order': 1, 'bytes': 1, 'format': 'B', 'gain_on_signal': 1, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'Bytes', 'datablock': 'IRGA72-B'}
STATUS_CODE == {'order': 2, 'bytes': 1, 'format': 'B', 'gain_on_signal': 1, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'status_code_irga', 'datablock': 'IRGA72-A'} STATUS_CODE == {'order': 2, 'bytes': 1, 'format': 'B', 'gain_on_signal': 1, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'status_code_irga', 'datablock': 'IRGA72-B'}
GA_DIAG_CODE == {'order': 3, 'bytes': 1, 'format': 'B', 'gain_on_signal': 1, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'bit_map', 'datablock': 'IRGA72-A'} GA_DIAG_CODE == {'order': 3, 'bytes': 1, 'format': 'B', 'gain_on_signal': 1, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'bit_map', 'datablock': 'IRGA72-B'}
H2O_DRY == {'order': 4, 'bytes': 3, 'format': 'B B B', 'gain_on_signal': 1000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'mmol+1_mol-1', 'datablock': 'IRGA72-A'} H2O_DRY == {'order': 4, 'bytes': 3, 'format': 'B B B', 'gain_on_signal': 1000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'mmol+1_mol-1', 'datablock': 'IRGA72-B'}
CO2_DRY == {'order': 5, 'bytes': 3, 'format': 'B B B', 'gain_on_signal': 10000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'umol+1_mol-1', 'datablock': 'IRGA72-A'} CO2_DRY == {'order': 5, 'bytes': 3, 'format': 'B B B', 'gain_on_signal': 10000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'umol+1_mol-1', 'datablock': 'IRGA72-B'}
H2O_CONC == {'order': 6, 'bytes': 3, 'format': 'B B B', 'gain_on_signal': 1000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'mmol+1_m-3', 'datablock': 'IRGA72-A'} H2O_CONC == {'order': 6, 'bytes': 3, 'format': 'B B B', 'gain_on_signal': 1000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'mmol+1_m-3', 'datablock': 'IRGA72-B'}
CO2_CONC == {'order': 7, 'bytes': 3, 'format': 'B B B', 'gain_on_signal': 10000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'mmol+1_m-3', 'datablock': 'IRGA72-A'} CO2_CONC == {'order': 7, 'bytes': 3, 'format': 'B B B', 'gain_on_signal': 10000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'mmol+1_m-3', 'datablock': 'IRGA72-B'}
T_CELL == {'order': 8, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 100, 'offset_on_signal': 100, 'apply_gain': 1, 'add_offset': 0, 'units': 'degC', 'datablock': 'IRGA72-A'} T_CELL == {'order': 8, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 100, 'offset_on_signal': 100, 'apply_gain': 1, 'add_offset': 0, 'units': 'degC', 'datablock': 'IRGA72-B'}
PRESS_CELL == {'order': 9, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 10, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'hPa', 'datablock': 'IRGA72-A'} PRESS_CELL == {'order': 9, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 10, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'hPa', 'datablock': 'IRGA72-B'}
PRESS_BOX == {'order': 10, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 10, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'hPa', 'datablock': 'IRGA72-A'} PRESS_BOX == {'order': 10, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 10, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'hPa', 'datablock': 'IRGA72-B'}
COOLER_V == {'order': 11, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 1000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'V', 'datablock': 'IRGA72-A'} COOLER_V == {'order': 11, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 1000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'V', 'datablock': 'IRGA72-B'}
FLOW_VOLRATE == {'order': 12, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 1000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'L+1 min-1', 'datablock': 'IRGA72-A'} FLOW_VOLRATE == {'order': 12, 'bytes': 2, 'format': 'B B', 'gain_on_signal': 1000, 'offset_on_signal': 0, 'apply_gain': 1, 'add_offset': 0, 'units': 'L+1 min-1', 'datablock': 'IRGA72-B'}
# Values extracted from GA_DIAG_CODE: # 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-A'} 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-A'} 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'}
# IRGA72-B
## Variables
- DATA_SIZE ... Data size of current data block, number of bytes in Licor 7200 record
(2 = missing, 25 = available)
- STATUS_CODE ... Status of IRGA data aquisition, see Table 7 in WE's sonicread.pdf
- octal value converted to integer yields:
- 0 .. Status OK, no problems (octal 0000)
- 20 .. IRGA did not respond (0020)
- 40 .. Status OK, old data used (0040)
- 200 .. not OK, IRGA data are missing (0200)
- GA_DIAG_CODE ... IRGA diagnostic value
- MSB, most significant bit; high-order bit
- The cell diagnostic value in **IRGA72-B** is a **1 byte** unsigned integer
with the following bit map (in order of how the code reads it, orig bit position in brackets):
- (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%.
- '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)
- CO2_DRY ... CO2 dry mole fraction (in dry air), mixing ratio, ppm (parts per million)
- H2O_CONC ... H2O concentration density, molar density
- CO2_CONC ... CO2 concentration density, molar density
- T_CELL ... Temperature of the measurement cell
- PRESS_CELL ... Pressure in the measurement cell
- PRESS_BOX ... Pressure of the box containing the logger and the electronics of the GA
- COOLER_V ... Cooler voltage
- FLOW_VOLRATE ... Volume flow rate in the sampling line
## BICO Settings
- 'order' ... Order in the data block variable sequence
- 'bytes' ... Number of bytes in the binary data
- 'format' ... Format to convert from binary to integers, floats, etc.
- 'gain_on_signal' ... Gain that was applied to the raw data signal, to get to units *divide* by this gain
- 'offset_on_signal' ... Offset that was added to the raw data signal, to get to units *subtract* this offset
- 'apply_gain' ... Gain that is applied during conversion, e.g. to convert to different units if needed
- 'add_offset' ... Offset that is added during conversion, e.g. to convert to different units if needed
- 'units' ... Units
- 'datablock' ... Data block ID
*Before BICO, the binary conversion was done in FCT FluxCalcTool:*
- Old ID in FCT: li-7200
- Old data block in FCT: data_block_irga_li7200
- FCT Source code: --> https://gitlab.ethz.ch/holukas/fct-flux-calculation-tool
## Details
- Generally the same as IRGA72-A, but GA_DIAG_CODE is only 1 Byte in size and contains less information.
## Binary info
- B...unsigned char, integer, 1 Byte
- h...short integer, 2 Bytes
- ">"...big-endian, MSB most-significant Byte at lowest address
Big-endian systems store the most significant byte of a word in the smallest address
- --> https://docs.python.org/3/library/struct.html
- --> https://docs.python.org/3.1/library/struct.html#format-characters
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