The SeaDAS processing components (OCSSW) can be installed only on Linux or macOS (Intel) systems. For this reason, it has been difficult for Windows users to use the OCSSW programs in an efficient way. SeaDAS 8.1.0 and future releases use a client/server model, which enables the physical decoupling of the SeaDAS GUI application and the OCSSW package. (Note SeaDAS 8.0.0 was a Beta version and did not support client/server model. SeaDAS 7.5 also supports client/server model).
Since the SeaDAS client and the OCSSW server reside on two separate machines, they need a way to share files. They can either transmit the files over the network or use a shared folder. For virtual machines, we can use a shared folder and eliminate the transmission of files over the network.
The OCSSW server provides access to OCSSW programs through web services. The web services are packaged as an independent JAR (Java ARchive) file and can be deployed on a machine (real or virtual) capable of running OCSSW programs. With this new capability, we have three additional options that enable SeaDAS to access to OCSSW programs:
In this manual, we explain how to configure the OCSSW server and the SeaDAS client for each scenario.
(For this option, we are using Oracle’s VirtualBox software. Other VM software may work, but we have only tested VirtualBox using an Ubuntu 16.04 server configuration)
$ sudo mount /dev/cdrom /media/cdrom $ cd /media/cdrom $ sudo apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r) $ sudo su $ ./VBoxLinuxAdditions.run $ reboot $ lsmod | grep -io vboxguest $ sudo usermod -aG vboxsf <user>
Create a shared folder
C:\Users\${username}\seadasClientServerShared
~/seadasClientServerShared
C:\Users\${username}\seadasClientServerShared
in the “Folder Path” and name it, for example, “seadasClientServerShared”, in the “Folder Name”Prepare the shared folder
With a shared folder named “seadasClientServerShared”, as above, the folder can be mounted as the directory ~/seadasClientServerShared with the command
$ sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) ocssw_shared ~/seadasClientServerShared
If you experience any problem with setting up a shared folder, please visit Ubuntu Help.
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt update
$ sudo apt install oracle-java##-installer
$ sudo apt install oracle-java##-set-default
(replace ## with the version number, e.g. 12 …tested with 8, 10 and 12, should work with later releases as well)
1. Install python (3.6 or higher)
$ sudo apt install python
$ sudo apt install git
The OCSSW Web Services Package consists of two files than need to be downloaded to the server machine. For our example we will put them in the home directory.
The jar file is a self-contained webserver and multiple web services that access various OCSSW programs. The configuration file provides crucial information for establishing communication between the OCSSW server and the SeaDAS client.
NOTE: we have not had success with openJDK for this server JAR, so you will need to install the official Oracle Java package - step #1 under “Configure the Virtual or Real Machine” above.
ocsswrest.version=1.0
baseUriPortNumber=6400
ocsswroot=${user.home}/ocssw
serverWorkingDirectory=${user.home}/seadasClientServerShared
clientServerSharedDir=true
keepIntermediateFilesOnServer=false
processInputStreamPortNumber=6402
processErrorStreamPortNumber=6403
ocsswrest.version=1.0
baseUriPortNumber=6400
ocsswroot=${user.home}/ocssw
serverWorkingDirectory=/mnt/c/Users/${user.name}/seadasClientServerShared
clientServerSharedDir=true
keepIntermediateFilesOnServer=false
processInputStreamPortNumber=6402
processErrorStreamPortNumber=6403
ocsswrest.version=1.0
baseUriPortNumber=6400
ocsswroot=${user.home}/ocssw
serverWorkingDirectory=${user.home}/seadasClientServerShared
clientServerSharedDir=false
keepIntermediateFilesOnServer=false
processInputStreamPortNumber=6402
processErrorStreamPortNumber=6403
The config file properties related to port numbers and the folders are essential and should match the values in the client configuration file. Please see the “SeaDAS Client Configuration” section of this document for the corresponding client configuration properties and their values.
To start the OCSSW server, execute the following command:
$ java -Xmx4G -jar seadas-ocsswserver.jar ocsswserver.config
To stop the OCSSW server, press Ctrl + C
.
To configure the client to communicate with the server, the SeaDAS config file needs to be edited.
${user.dir}.seadas8\etc\seadas.properties
Edit the following lines in the seadas.config file:
seadas.ocssw.location=virtualMachine
seadas.ocssw.port=6400
seadas.ocssw.sharedDir=C:\\Users\\${user.name}\\seadasClientServerShared
seadas.client.id=${user.name}
seadas.ocssw.keepFilesOnServer=false
seadas.ocssw.processInputStreamPort=6402
seadas.ocssw.processErrorStreamPort=6403
seadas.ocssw.location=virtualMachine
seadas.ocssw.port=6400
seadas.ocssw.sharedDir=C:\\Users\\${user.name}\\seadasClientServerShared
seadas.client.id=${user.name}
seadas.ocssw.keepFilesOnServer=false
seadas.ocssw.processInputStreamPort=6402
seadas.ocssw.processErrorStreamPort=6403
seadas.ocssw.location=remote server IP addess
seadas.ocssw.port=6400
seadas.client.id=${user.name}
seadas.ocssw.keepFilesOnServer=false
seadas.ocssw.processInputStreamPort=6402
seadas.ocssw.processErrorStreamPort=6403