README.md
... ...
@@ -1,3 +1,7 @@
1
+<p align="center">
2
+ <img src="azimuth_logo.png" alt="Sailing Analytics">
3
+</p>
4
+
1 5
# Sailing Analytics
2 6
3 7
## About this Project
azimuth_logo.png
... ...
Binary files /dev/null and b/azimuth_logo.png differ
configuration/linecount.sh
... ...
@@ -1,2 +1,9 @@
1 1
#!/bin/sh
2
-wc -l `find */com.sap.* -type f \( -name '*.java' -o -name '*.gwt.xml' -o -name '*.ini' -o -name '*.html' -o -name '*.css' -o -name '*.gss' \) \! -ipath '*/generated/*' \! -ipath '*/gen/*' \! -ipath '*/bin/*' \! -ipath '*/generated-sources/*' \! -ipath '*/.generated/*' \! -name R.java \! -ipath './java/com.sap.sailing.gwt.ui/com.sap.sailing.gwt.*' `
2
+all=$( wc --total=only -l `find com.sap.* */com.sap.* -type f \( -name '*.java' -o -name '*.gwt.xml' -o -name '*.ini' -o -name '*.html' -o -name '*.css' -o -name '*.gss' \) \! -ipath '*/generated/*' \! -ipath '*/gen/*' \! -ipath '*/bin/*' \! -ipath '*/generated-sources/*' \! -ipath '*/.generated/*' \! -name R.java \! -ipath './java/com.sap.sailing.gwt.ui/com.sap.sailing.gwt.*' 2>/dev/null` )
3
+gwt_files=`find *.gwt.* */*.gwt.* -type f \( -name '*.java' -o -name '*.gwt.xml' -o -name '*.ini' -o -name '*.html' -o -name '*.css' -o -name '*.gss' \) \! -ipath '*/generated/*' \! -ipath '*/gen/*' \! -ipath '*/bin/*' \! -ipath '*/generated-sources/*' \! -ipath '*/.generated/*' \! -name R.java \! -ipath './java/com.sap.sailing.gwt.ui/com.sap.sailing.gwt.*' 2>/dev/null`
4
+if [ -n "${gwt_files}" ]; then
5
+ gwt=$( wc --total=only -l ${gwt_files} )
6
+else
7
+ gwt=0
8
+fi
9
+echo "${gwt} ${all}"
configuration/linecount_per_month.sh
... ...
@@ -0,0 +1,15 @@
1
+#!/bin/bash
2
+cp "$( dirname ${0} )/linecount.sh" "${TMP}"
3
+for y in $( seq 2011 2026 ); do
4
+ for m in $( seq 01 12 ); do
5
+ d=$( printf '%04d-%02d-01\n' ${y} ${m} )
6
+ commit=$( git rev-list -n 1 --first-parent --before=${d} main 2>/dev/null )
7
+ if [ -n "${commit}" ]; then
8
+ echo -n "$d "
9
+ git reset --hard >/dev/null 2>&1
10
+ git checkout -f ${commit} >/dev/null 2>&1
11
+ "${TMP}/linecount.sh"
12
+ git reset --hard >/dev/null 2>&1
13
+ fi
14
+ done
15
+done
doc/LinesOfCode.ods
... ...
Binary files /dev/null and b/doc/LinesOfCode.ods differ
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/SailingAnalyticsNotes.html
... ...
@@ -1,4 +1,5 @@
1 1
2
+
2 3
<!DOCTYPE html>
3 4
<html>
4 5
<body>
... ...
@@ -18,7 +19,7 @@
18 19
maneuver calculation delays for better performance due to fewer re-calculations
19 20
and reliable results with no difference between live and replay analysis.</li>
20 21
<li>The polar data export service now allows clients to filter the result down to one or
21
- more boat classes. See <a href="/polars/webservices/api/polar_data.html">https://dev.sapsailing.com/polars/webservices/api/polar_data.html</a>
22
+ more boat classes. See <a href="/polars/webservices/api/polar_data.html">https://sapsailing.com/polars/webservices/api/polar_data.html</a>
22 23
for more details.</li>
23 24
</ul>
24 25
<h5 class="articleSubheadline">December 2025</h5>
java/com.sap.sse.landscape/src/com/sap/sse/landscape/Landscape.java
... ...
@@ -17,7 +17,7 @@ public interface Landscape<ShardingKey> {
17 17
/**
18 18
* The timeout for a host to come up
19 19
*/
20
- Optional<Duration> WAIT_FOR_HOST_TIMEOUT = Optional.of(Duration.ONE_HOUR.times(2));
20
+ Optional<Duration> WAIT_FOR_HOST_TIMEOUT = Optional.of(Duration.ONE_HOUR.times(4));
21 21
22 22
/**
23 23
* The timeout for a running process to respond
wiki/howto/windestimation.md
... ...
@@ -1,5 +1,7 @@
1 1
# Training of internal Wind Estimation models
2 2
3
+[[_TOC_]]
4
+
3 5
This document describes the generation process of Machine Learning (ML) models which are used internally by the maneuver-based wind estimation. It is highly recommended to process this howto step by step considering the order of sections. At the end of this howto, you will generate a file containing the representation of internal models used by ``com.sap.sailing.windestimation`` bundle. You can use this file to update the wind estimation models of a running server instance. If you are interested in a more advanced tutorial which requires all the execution steps contained in ``SimpleModelsTrainingPart...`` classes to be executed manually, then you might be interested in [Advanced Guide for training of internal Wind Estimation models](./windestimationAdvanced.md)
4 6
5 7
## Prerequisites
... ...
@@ -92,7 +94,7 @@ Under ``docker/Dockerfile_windestimation`` there is a docker file that can be us
92 94
docker build --no-cache -f Dockerfile_windestimation -t docker.sapsailing.com/windestimationtraining:0.0.4 .
93 95
```
94 96
95
-To produce the JAR file used for the Docker image creation, run an "Export" command in Eclipse, using "File - Export - Runnable JAR File" with the ``SimpleModelsTrainingPart1`` launch configuration. This will export a JAR that you can then upload to ``trac@sapsailing.com:static`` using a command such as
97
+To produce the JAR file used for the Docker image creation, run an "Export" command in Eclipse, using "File - Export - Runnable JAR File" with the ``SimpleModelsTrainingPart1`` launch configuration with the option "Package required libraries into generated JAR" selected. This will export a JAR that you can then upload to ``trac@sapsailing.com:static`` using a command such as
96 98
```
97 99
scp WindEstimationModelsTraining.jar trac@sapsailing.com:static
98 100
```