oceanarray 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. oceanarray/__init__.py +20 -0
  2. oceanarray/_version.py +1 -0
  3. oceanarray/cli.py +1343 -0
  4. oceanarray/clock_offset.py +675 -0
  5. oceanarray/config/OS1_sensor_attrs.yaml +49 -0
  6. oceanarray/config/OS1_var_names.yaml +5 -0
  7. oceanarray/config/OS1_vocab_attrs.yaml +84 -0
  8. oceanarray/config/legacy/project_RAPID.yaml +69 -0
  9. oceanarray/config/legacy/rodb_keys.txt +206 -0
  10. oceanarray/config/legacy/rodb_keys.yaml +1012 -0
  11. oceanarray/config/logging.yaml +28 -0
  12. oceanarray/legacy/__init__.py +47 -0
  13. oceanarray/legacy/caldip.py +753 -0
  14. oceanarray/legacy/convertOS.py +527 -0
  15. oceanarray/legacy/find_deployment.py +489 -0
  16. oceanarray/legacy/mooring_rodb.py +429 -0
  17. oceanarray/legacy/process_rodb.py +369 -0
  18. oceanarray/legacy/rodb.py +330 -0
  19. oceanarray/logger.py +192 -0
  20. oceanarray/logsheet/__init__.py +60 -0
  21. oceanarray/logsheet/_columns.py +97 -0
  22. oceanarray/logsheet/_config.py +245 -0
  23. oceanarray/logsheet/_firmware.py +43 -0
  24. oceanarray/logsheet/_latex.py +128 -0
  25. oceanarray/logsheet/_render.py +126 -0
  26. oceanarray/logsheet/builders/__init__.py +13 -0
  27. oceanarray/logsheet/builders/caldip_download.py +195 -0
  28. oceanarray/logsheet/builders/caldip_setup.py +188 -0
  29. oceanarray/logsheet/builders/deployment_setup.py +218 -0
  30. oceanarray/logsheet/builders/mooring_download.py +243 -0
  31. oceanarray/logsheet/builders/recovery.py +157 -0
  32. oceanarray/logsheet/data/column_defs.yaml +686 -0
  33. oceanarray/logsheet/data/latex_templates/_base_instrument.tex.j2 +42 -0
  34. oceanarray/logsheet/data/latex_templates/caldip_download.tex.j2 +47 -0
  35. oceanarray/logsheet/data/latex_templates/caldip_setup.tex.j2 +70 -0
  36. oceanarray/logsheet/data/latex_templates/deployment_setup.tex.j2 +97 -0
  37. oceanarray/logsheet/data/latex_templates/mooring_download.tex.j2 +54 -0
  38. oceanarray/logsheet/data/latex_templates/recovery.tex.j2 +103 -0
  39. oceanarray/mooring_level.py +1368 -0
  40. oceanarray/oceanarray.mplstyle +18 -0
  41. oceanarray/parameters.py +270 -0
  42. oceanarray/plotter.py +942 -0
  43. oceanarray/plotters/__init__.py +97 -0
  44. oceanarray/plotters/_animation.py +261 -0
  45. oceanarray/plotters/_current.py +705 -0
  46. oceanarray/plotters/_diagnostic.py +667 -0
  47. oceanarray/plotters/_helpers.py +57 -0
  48. oceanarray/plotters/_primitives.py +101 -0
  49. oceanarray/plotters/_section.py +16 -0
  50. oceanarray/plotters/_timeseries.py +11 -0
  51. oceanarray/rapid_interp.py +739 -0
  52. oceanarray/read_rbr_hex.py +541 -0
  53. oceanarray/readers.py +303 -0
  54. oceanarray/report/__init__.py +5 -0
  55. oceanarray/report/_array.py +386 -0
  56. oceanarray/report/_grid.py +539 -0
  57. oceanarray/report/_html_helpers.py +1004 -0
  58. oceanarray/report/_instrument.py +853 -0
  59. oceanarray/report/_mooring.py +1385 -0
  60. oceanarray/report/_plots.py +4284 -0
  61. oceanarray/report/_stack.py +941 -0
  62. oceanarray/stage1.py +1959 -0
  63. oceanarray/stage2.py +1160 -0
  64. oceanarray/stage3.py +2494 -0
  65. oceanarray/time_gridding.py +958 -0
  66. oceanarray/tools.py +400 -0
  67. oceanarray/transports.py +1 -0
  68. oceanarray/utilities.py +538 -0
  69. oceanarray/validation.py +389 -0
  70. oceanarray/writers.py +99 -0
  71. oceanarray-0.1.0.dist-info/METADATA +503 -0
  72. oceanarray-0.1.0.dist-info/RECORD +76 -0
  73. oceanarray-0.1.0.dist-info/WHEEL +5 -0
  74. oceanarray-0.1.0.dist-info/entry_points.txt +2 -0
  75. oceanarray-0.1.0.dist-info/licenses/LICENSE +21 -0
  76. oceanarray-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,42 @@
1
+ \documentclass[a4paper,landscape]{article}
2
+ \usepackage[top=30mm,bottom=20mm,left=18mm,right=18mm]{geometry}
3
+ \usepackage{array}
4
+ \usepackage{colortbl}
5
+ \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
6
+ \usepackage{longtable}
7
+ \usepackage[T1]{fontenc}
8
+ \usepackage[utf8]{inputenc}
9
+ \usepackage{helvet}
10
+ \renewcommand{\familydefault}{\sfdefault}
11
+ \usepackage{microtype}
12
+ \usepackage{xcolor}
13
+ \usepackage{amssymb}
14
+ \usepackage{parskip}
15
+ \usepackage{fancyhdr}
16
+
17
+ \setlength{\parindent}{0pt}
18
+ \setlength{\tabcolsep}{4pt}
19
+ \setlength{\parskip}{0pt}
20
+
21
+ \definecolor{hdrgray}{gray}{0.82}
22
+ \definecolor{prefill}{gray}{0.55}
23
+ \definecolor{exrow}{RGB}{220,235,255}
24
+ \definecolor{warnred}{RGB}{180,0,0}
25
+
26
+ \renewcommand{\arraystretch}{1.3}
27
+
28
+ \newcommand{\pre}[1]{{\color{prefill}\small #1}}
29
+ \newcommand{\datastrut}{\rule[-5pt]{0pt}{20pt}}
30
+
31
+ \pagestyle{fancy}
32
+ \fancyhf{}
33
+ \renewcommand{\headrulewidth}{0.4pt}
34
+ \renewcommand{\footrulewidth}{0.4pt}
35
+ \lhead{(% block lhead %)(% endblock %)}
36
+ \rhead{(% block rhead %)(% endblock %)}
37
+ \lfoot{\small (( cruise ))}
38
+ \rfoot{\small (( timestamp ))}
39
+
40
+ \begin{document}
41
+ (% block body %)(% endblock %)
42
+ \end{document}
@@ -0,0 +1,47 @@
1
+ (% extends "_base_instrument.tex.j2" %)
2
+
3
+ (% block lhead %)\large\textbf{Cal Dip Download}(% endblock %)
4
+ (% block rhead %)\large\textbf{(( cast_label ))}(% endblock %)
5
+
6
+ (% block body %)
7
+ (% if sheet_warnings %)
8
+ \noindent\colorbox{red!10}{\parbox{\dimexpr\linewidth-2\fboxsep\relax}{%
9
+ {\color{warnred}\bfseries $\bigtriangleup$\ MISSING FROM instruments.yaml --- these serials were not found and are omitted from this sheet:}\\[4pt]
10
+ (% for w in sheet_warnings %)
11
+ {\color{warnred}\small \textbullet\ (( w ))}\\
12
+ (% endfor %)
13
+ }}
14
+ \bigskip
15
+ (% endif %)
16
+ (% for section in sections %)
17
+ \begin{longtable}{(( section.colspec ))}
18
+ %% ---- title + note rows (first page) ----------------------------------------
19
+ \multicolumn{(( section.ncols ))}{l}{\textbf{\small (( section.title ))}}\\
20
+ (% for line in section.note_lines %)
21
+ \multicolumn{(( section.ncols ))}{l}{{\small (( line ))}}\\
22
+ (% endfor %)
23
+ \hline
24
+ (( section.header_row ))\\
25
+ \hline
26
+ \endfirsthead
27
+ %% ---- continuation header (subsequent pages) --------------------------------
28
+ \multicolumn{(( section.ncols ))}{l}{\textbf{\small (( section.title ))} {\small (continued)}}\\
29
+ \hline
30
+ (( section.header_row ))\\
31
+ \hline
32
+ \endhead
33
+ %% ---- footer ----------------------------------------------------------------
34
+ \hline
35
+ \endfoot
36
+ %% ---- example row (compact) -------------------------------------------------
37
+ \rowcolor{exrow}
38
+ (( section.example_row ))\\
39
+ \hline
40
+ %% ---- data rows (tall via \datastrut) ---------------------------------------
41
+ (% for row in section.data_rows %)
42
+ \datastrut (( row ))\\
43
+ \hline
44
+ (% endfor %)
45
+ \end{longtable}
46
+ (% endfor %)
47
+ (% endblock %)
@@ -0,0 +1,70 @@
1
+ (% extends "_base_instrument.tex.j2" %)
2
+
3
+ (% block lhead %)\large\textbf{Cal Dip Setup}(% endblock %)
4
+ (% block rhead %)\large\textbf{(( cast_label ))}(% endblock %)
5
+
6
+ (% block body %)
7
+ (% if sheet_warnings %)
8
+ \noindent\colorbox{red!10}{\parbox{\dimexpr\linewidth-2\fboxsep\relax}{%
9
+ {\color{warnred}\bfseries $\bigtriangleup$\ MISSING FROM instruments.yaml --- these serials were not found and are omitted from this sheet:}\\[4pt]
10
+ (% for w in sheet_warnings %)
11
+ {\color{warnred}\small \textbullet\ (( w ))}\\
12
+ (% endfor %)
13
+ }}
14
+ \bigskip
15
+ (% endif %)
16
+ \begin{tabular}{lllll}
17
+ \textbf{Moorings:} & (( moorings_str )) & &
18
+ \textbf{CTD cast \#:} & \underline{\hspace{2cm}} \\[2pt]
19
+ \textbf{Cast depth:} & \underline{\hspace{2cm}} m & &
20
+ \textbf{Date:} & \underline{\hspace{3cm}} \\
21
+ \end{tabular}
22
+
23
+ \smallskip
24
+ {\small
25
+ \textbf{Data path:} \texttt{(( caldip_data ))/cal\_dip/(( cast_label ))/}\\[2pt]
26
+ \textbf{Firmware $<$ 3.0d:}\enspace\texttt{\string{default\_filename\string}\_cal\_dip\_data.asc}\\[1pt]
27
+ \textbf{Firmware $\geq$ 3.0d:}\enspace\texttt{\string{default\_filename\string}\_cal\_dip\_data.xml $\to$ Convert XML $\to$ .cnv}
28
+ }
29
+
30
+ \smallskip
31
+ %% UTC clock sync reminder
32
+ {\color{warnred}\textbf{\small $\bigstar$~Confirm: laptop clock synced to UTC before setting instrument clocks.}}
33
+
34
+ (% for section in sections %)
35
+
36
+ \bigskip
37
+ \begin{longtable}{(( section.colspec ))}
38
+ %% ---- title row (first page) -----------------------------------------------
39
+ \multicolumn{(( section.ncols ))}{l}{%
40
+ \textbf{\small (( section.title ))}%
41
+ (% if section.post_deployment %)
42
+ {\color{red}\small \quad --- POST-DEPLOYMENT: do \textbf{NOT} reset SAMPLENUMBER/SAMPLENUM}%
43
+ (% endif %)}\\
44
+ \hline
45
+ (( section.header_row ))\\
46
+ \hline
47
+ \endfirsthead
48
+ %% ---- continuation header (subsequent pages) --------------------------------
49
+ \multicolumn{(( section.ncols ))}{l}{%
50
+ \textbf{\small (( section.title ))} {\small (continued)}}\\
51
+ \hline
52
+ (( section.header_row ))\\
53
+ \hline
54
+ \endhead
55
+ %% ---- footer ----------------------------------------------------------------
56
+ \hline
57
+ \endfoot
58
+ %% ---- example row -----------------------------------------------------------
59
+ \rowcolor{exrow}
60
+ (( section.example_row ))\\
61
+ \hline
62
+ %% ---- data rows -------------------------------------------------------------
63
+ (% for row in section.data_rows %)
64
+ \datastrut (( row ))\\
65
+ \hline
66
+ (% endfor %)
67
+ \end{longtable}
68
+
69
+ (% endfor %)
70
+ (% endblock %)
@@ -0,0 +1,97 @@
1
+ \documentclass[a4paper]{article}
2
+ \usepackage[a4paper,top=2.2cm,bottom=15mm,left=2.5cm,right=2.5cm,includehead]{geometry}
3
+ \usepackage{array}
4
+ \usepackage{colortbl}
5
+ \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
6
+ \usepackage{longtable}
7
+ \usepackage[T1]{fontenc}
8
+ \usepackage[utf8]{inputenc}
9
+ \usepackage{helvet}
10
+ \renewcommand{\familydefault}{\sfdefault}
11
+ \usepackage{microtype}
12
+ \usepackage{xcolor}
13
+ \usepackage{amssymb}
14
+ \usepackage{parskip}
15
+ \usepackage{fancyhdr}
16
+
17
+ \setlength{\parindent}{0pt}
18
+ \setlength{\tabcolsep}{4pt}
19
+ \setlength{\parskip}{0pt}
20
+ \setlength{\headheight}{16pt}
21
+
22
+ \definecolor{hdrgray}{gray}{0.82}
23
+ \definecolor{prefill}{gray}{0.55}
24
+ \definecolor{exrow}{RGB}{220,235,255}
25
+ \definecolor{warnred}{RGB}{180,0,0}
26
+ \definecolor{footgray}{gray}{0.55}
27
+
28
+ \renewcommand{\arraystretch}{1.3}
29
+
30
+ \newcommand{\pre}[1]{{\color{prefill}\small #1}}
31
+ \newcommand{\datastrut}{\rule[-5pt]{0pt}{20pt}}
32
+
33
+ \pagestyle{fancy}
34
+ \fancyhf{}
35
+ \renewcommand{\headrulewidth}{0.4pt}
36
+ \renewcommand{\footrulewidth}{0pt}
37
+ \lhead{\large\textbf{MIXSED MOORING LOGSHEET}}
38
+ \rhead{\large\textbf{\textcolor{red}{DEPLOYMENT}}}
39
+ \rfoot{{\color{footgray}\small (( timestamp ))}}
40
+
41
+ \begin{document}
42
+
43
+ (% if sheet_warnings %)
44
+ \noindent\colorbox{red!10}{\parbox{\dimexpr\linewidth-2\fboxsep\relax}{%
45
+ {\color{warnred}\bfseries $\bigtriangleup$\ MISSING FROM instruments.yaml --- these serials were not found and are omitted from this sheet:}\\[4pt]
46
+ (% for w in sheet_warnings %)
47
+ {\color{warnred}\small \textbullet\ (( w ))}\\
48
+ (% endfor %)
49
+ }}
50
+ \bigskip
51
+ (% endif %)
52
+
53
+ \begin{tabular}{lllllll}
54
+ \textbf{Mooring:} & (( mooring_tex )) & &
55
+ \textbf{Date:} & \underline{\hspace{3cm}} & &
56
+ \textbf{User:} \underline{\hspace{3cm}} \\
57
+ \end{tabular}
58
+
59
+ %% UTC clock sync reminder
60
+ {\color{warnred}\textbf{\small $\bigstar$~Confirm: laptop clock synced to UTC before setting instrument clocks.}}
61
+
62
+ (% for section in sections %)
63
+
64
+ \bigskip
65
+ \begin{longtable}{(( section.colspec ))}
66
+ %% ---- title + note rows (first page) ----------------------------------------
67
+ \multicolumn{(( section.ncols ))}{l}{\textbf{\small (( section.title ))}}\\
68
+ (% for line in section.note_lines %)
69
+ \multicolumn{(( section.ncols ))}{l}{{\small (( line ))}}\\
70
+ (% endfor %)
71
+ \hline
72
+ (( section.header_row ))\\
73
+ \hline
74
+ \endfirsthead
75
+ %% ---- continuation header (subsequent pages) --------------------------------
76
+ \multicolumn{(( section.ncols ))}{l}{%
77
+ \textbf{\small (( section.title ))} {\small (continued)}}\\
78
+ \hline
79
+ (( section.header_row ))\\
80
+ \hline
81
+ \endhead
82
+ %% ---- footer ----------------------------------------------------------------
83
+ \hline
84
+ \endfoot
85
+ %% ---- example row -----------------------------------------------------------
86
+ \rowcolor{exrow}
87
+ (( section.example_row ))\\
88
+ \hline
89
+ %% ---- data rows -------------------------------------------------------------
90
+ (% for row in section.data_rows %)
91
+ \datastrut (( row ))\\
92
+ \hline
93
+ (% endfor %)
94
+ \end{longtable}
95
+
96
+ (% endfor %)
97
+ \end{document}
@@ -0,0 +1,54 @@
1
+ (% extends "_base_instrument.tex.j2" %)
2
+
3
+ (% block lhead %)\large\textbf{Mooring Download}(% endblock %)
4
+ (% block rhead %)\large\textbf{(( mooring_tex ))}(% endblock %)
5
+
6
+ (% block body %)
7
+ (% if sheet_warnings %)
8
+ \noindent\colorbox{red!10}{\parbox{\dimexpr\linewidth-2\fboxsep\relax}{%
9
+ {\color{warnred}\bfseries $\bigtriangleup$\ MISSING FROM instruments.yaml --- these serials were not found and are omitted from this sheet:}\\[4pt]
10
+ (% for w in sheet_warnings %)
11
+ {\color{warnred}\small \textbullet\ (( w ))}\\
12
+ (% endfor %)
13
+ }}
14
+ \bigskip
15
+ (% endif %)
16
+ %% UTC clock sync reminder
17
+ {\color{warnred}\textbf{\small $\bigstar$~Confirm: laptop clock synced to UTC before downloading.}}
18
+
19
+ (% for section in sections %)
20
+ \begin{longtable}{(( section.colspec ))}
21
+ %% ---- title + note rows (first page) ----------------------------------------
22
+ \multicolumn{(( section.ncols ))}{l}{\textbf{\small (( section.title ))}}\\
23
+ (% for line in section.note_lines %)
24
+ (% if loop.first %)
25
+ \multicolumn{(( section.ncols ))}{l}{{\small (( line ))\hfill\textbf{User:}~\underline{\hspace{4cm}}}}\\
26
+ (% else %)
27
+ \multicolumn{(( section.ncols ))}{l}{{\small (( line ))}}\\
28
+ (% endif %)
29
+ (% endfor %)
30
+ \hline
31
+ (( section.header_row ))\\
32
+ \hline
33
+ \endfirsthead
34
+ %% ---- continuation header (subsequent pages) --------------------------------
35
+ \multicolumn{(( section.ncols ))}{l}{\textbf{\small (( section.title ))} {\small (continued)}}\\
36
+ \hline
37
+ (( section.header_row ))\\
38
+ \hline
39
+ \endhead
40
+ %% ---- footer ----------------------------------------------------------------
41
+ \hline
42
+ \endfoot
43
+ %% ---- example row (compact) -------------------------------------------------
44
+ \rowcolor{exrow}
45
+ (( section.example_row ))\\
46
+ \hline
47
+ %% ---- data rows (tall via \datastrut) ---------------------------------------
48
+ (% for row in section.data_rows %)
49
+ \datastrut (( row ))\\
50
+ \hline
51
+ (% endfor %)
52
+ \end{longtable}
53
+ (% endfor %)
54
+ (% endblock %)
@@ -0,0 +1,103 @@
1
+ \documentclass[a4paper]{article}
2
+ \usepackage[a4paper,top=2.2cm,bottom=15mm,left=2.5cm,right=2.5cm,includehead]{geometry}
3
+ \usepackage{array}
4
+ \usepackage{colortbl}
5
+ \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
6
+ \usepackage{longtable}
7
+ \usepackage{tabularx}
8
+ \usepackage[T1]{fontenc}
9
+ \usepackage[utf8]{inputenc}
10
+ \usepackage{helvet}
11
+ \renewcommand{\familydefault}{\sfdefault}
12
+ \usepackage{microtype}
13
+ \usepackage{xcolor}
14
+ \usepackage{parskip}
15
+ \usepackage{fancyhdr}
16
+
17
+ \setlength{\parindent}{0pt}
18
+ \setlength{\tabcolsep}{4pt}
19
+ \setlength{\parskip}{0pt}
20
+ \setlength{\headheight}{16pt}
21
+
22
+ \definecolor{hdrgray}{gray}{0.82}
23
+ \definecolor{prefill}{gray}{0.55}
24
+ \definecolor{footgray}{gray}{0.55}
25
+ \definecolor{warnred}{RGB}{180,0,0}
26
+
27
+ \renewcommand{\arraystretch}{2.0}
28
+
29
+ \newcommand{\pre}[1]{{\color{prefill}\small #1}}
30
+ \newcommand{\blank}[1]{\underline{\hspace{#1}}}
31
+
32
+ \pagestyle{fancy}
33
+ \fancyhf{}
34
+ \renewcommand{\headrulewidth}{0.4pt}
35
+ \renewcommand{\footrulewidth}{0pt}
36
+ \lhead{\large\textbf{MIXSED MOORING LOGSHEET}}
37
+ \rhead{\large\textbf{\textcolor{red}{RECOVERY}}}
38
+ \rfoot{{\color{footgray}\small (( timestamp ))}}
39
+
40
+ \begin{document}
41
+
42
+ (% if sheet_warnings %)
43
+ \noindent\colorbox{red!10}{\parbox{\dimexpr\linewidth-2\fboxsep\relax}{%
44
+ {\color{warnred}\bfseries $\bigtriangleup$\ MISSING FROM instruments.yaml --- these serials were not found and are omitted from this sheet:}\\[4pt]
45
+ (% for w in sheet_warnings %)
46
+ {\color{warnred}\small \textbullet\ (( w ))}\\
47
+ (% endfor %)
48
+ }}
49
+ \bigskip
50
+ (% endif %)
51
+
52
+ \begin{tabularx}{\linewidth}{@{}lX@{\hspace{1.5em}}lX@{}}
53
+ \textbf{Mooring:} & (( mooring_tex )) &
54
+ \textbf{Date:} & \blank{\hsize} \\[6pt]
55
+ \textbf{Site arrival time:} & \blank{\hsize} &
56
+ \textbf{Ascent rate:} & \blank{\hsize} \\[6pt]
57
+ \textbf{Time of first ranging:} & \blank{\hsize} &
58
+ \textbf{Water depth:} & \blank{\hsize} \\
59
+ \end{tabularx}
60
+
61
+ \bigskip
62
+
63
+ %% --- Component table --------------------------------------------------------
64
+ \begin{longtable}{(( comp_colspec ))}
65
+ \rowcolor{hdrgray}
66
+ (( comp_header_row ))\\
67
+ \hline
68
+ \endfirsthead
69
+ \rowcolor{hdrgray}
70
+ (( comp_header_row ))\\
71
+ \hline
72
+ \endhead
73
+ \hline
74
+ \endfoot
75
+ (% for row in comp_rows %)
76
+ (( row ))\\
77
+ \hline
78
+ (% endfor %)
79
+ \end{longtable}
80
+
81
+ \newpage
82
+
83
+ %% --- Ranging table ----------------------------------------------------------
84
+ \textbf{Ranging log}
85
+
86
+ \begin{longtable}{(( rang_colspec ))}
87
+ \rowcolor{hdrgray}
88
+ (( rang_header_row ))\\
89
+ \hline
90
+ \endfirsthead
91
+ \rowcolor{hdrgray}
92
+ (( rang_header_row ))\\
93
+ \hline
94
+ \endhead
95
+ \hline
96
+ \endfoot
97
+ (% for row in rang_rows %)
98
+ (( row ))\\
99
+ \hline
100
+ (% endfor %)
101
+ \end{longtable}
102
+
103
+ \end{document}