{"id":1554,"date":"2019-04-22T19:07:27","date_gmt":"2019-04-22T19:07:27","guid":{"rendered":"https:\/\/www.ssec.wisc.edu\/aeri\/?page_id=1554"},"modified":"2019-05-16T21:48:15","modified_gmt":"2019-05-16T21:48:15","slug":"maerisst-for-docker-installation-procedure","status":"publish","type":"page","link":"https:\/\/www.ssec.wisc.edu\/aeri\/kb\/software\/maerisst-for-docker-installation-procedure\/","title":{"rendered":"MAERISST Installation on a Windows 10 Pro Computer"},"content":{"rendered":"<h2>Overview<\/h2>\n<p>This procedure describes the steps for a new installation of <em>MAERISST<\/em> on a computer with the <em>Windows 10 Pro<\/em> operating system, from the files provided on the USB drive.\u00a0 It also includes instructions for functional testing, running a test dataset, and description of the input and output data files.<\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h2>Installation Procedure<\/h2>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Ensure that the operating system is <em>Windows 10 Pro<\/em>. <em>Docker<\/em> functionality for <em>MAERISST<\/em> will not work on <em>Windows 10 Home<\/em>.<\/li>\n<li>Create a user called <em>AERI<\/em> with administrator privileges. Log in and perform all subsequent steps from the <em>AERI<\/em> account.<\/li>\n<li>Confirm that virtualization is enabled on the computer. This can be determined from the <em>Task Manager<\/em> &gt; <em>Performance<\/em> tab.\n<ul>\n<li>Type &#8220;<em>Task Manager<\/em>&#8221; where it says &#8220;<em>Type here to search<\/em>&#8221; in the lower left then click to launch.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1340 size-full\" src=\"http:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Task-Manager-Virtualization-markup.png\" alt=\"\" width=\"675\" height=\"604\" srcset=\"https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Task-Manager-Virtualization-markup.png 675w, https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Task-Manager-Virtualization-markup-300x268.png 300w\" sizes=\"auto, (max-width: 675px) 100vw, 675px\" \/><br \/>\nIf virtualization is not enabled, then this can be enabled in the BIOS.<\/p>\n<ul>\n<li>Enabling virtualization in BIOS if disabled on a Lenovo T530\n<ol>\n<li>Restart computer<\/li>\n<li>Press enter to stop normal boot at black ThinkPad splash screen<\/li>\n<li>Press F1 within 5 seconds to get to BIOS setup utility<\/li>\n<li>Select Security menu<\/li>\n<li>Select Virtualization<\/li>\n<li>Enable both Intel (R) Virtualization Technology and Intel (R) VT-d Feature<\/li>\n<li>Press F10 to save then choose yes<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<ol start=\"4\">\n<li>Install <em>Docker for Windows<\/em>\n<ul>\n<li>Copy the file <tt>Docker for Windows Installer.exe<\/tt> from the USB drive to the computer<\/li>\n<li>Run the file and follow the prompts to guide through the installation. Accept all the default configurations options. Select <em>OK<\/em> if prompted to <em>enable Hyper-V and Containers features<\/em>.<\/li>\n<li>Restart the computer.\u00a0 By default, <em>Docker<\/em> will be configured to auto-run on startup.\u00a0 <em>Docker<\/em> may take a few minutes to start up.<\/li>\n<li>There is no need for a Docker ID \/ password.<\/li>\n<li><em>Docker<\/em> settings can be accessed by right-clicking on the <em>Docker<\/em> icon in the taskbar.<\/li>\n<li>Share the drive where the M-AERI data for <em>MAERISST<\/em> is located (C Drive for provided test data):\u00a0 <em>Docker<\/em> &gt; <em>Settings<\/em> &gt; <em>Shared Drives<\/em> tab &gt; Select <em>C<\/em> Drive.<\/li>\n<\/ul>\n<p>Alternatively <em>Docker<\/em> can be downloaded from the Docker Store at <tt>https:\/\/store.docker.com\/editions\/community\/docker-ce-desktop-windows<\/tt>. Download <em>Docker Community Edition (CE) for Windows<\/em>.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1335 size-full aligncenter\" src=\"http:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-settings-select.png\" alt=\"\" width=\"543\" height=\"415\" srcset=\"https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-settings-select.png 543w, https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-settings-select-300x229.png 300w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1336 size-full aligncenter\" src=\"http:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-settings.png\" alt=\"\" width=\"869\" height=\"612\" srcset=\"https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-settings.png 869w, https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-settings-300x211.png 300w, https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-settings-768x541.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><\/li>\n<\/ol>\n<ol start=\"5\">\n<li>Copy the folder <tt>docker<\/tt> from the USB drive to <tt>C:\\Users\\AERI\\<\/tt>. This folder contains the files needed for <em>MAERISST<\/em> to run.<\/li>\n<li>Ensure that the file <tt>C:\\Users\\AERI\\docker\\maerisst_docker.tar<\/tt> exists. This is the <em>Docker<\/em> image of <em>MAERISST<\/em>.<\/li>\n<li>Load the <em>Docker<\/em> image of <em>MAERISST<\/em>. Open <em>Command Prompt<\/em>. Type\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">cd c:\\Users\\AERI\\docker<br \/>\ndocker load -i maerisst_docker.tar<\/p>\n<\/li>\n<\/ol>\n<p><em>MAERISST<\/em> is now installed and ready to run.<\/p>\n<p>Note: the first time mounting a directory, <em>Docker for Windows<\/em> may need to be granted permission to access drive <tt>C:\\<\/tt>.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1334 size-medium\" src=\"https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-Drive-Access-300x147.png\" alt=\"\" width=\"300\" height=\"147\" srcset=\"https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-Drive-Access-300x147.png 300w, https:\/\/www.ssec.wisc.edu\/aeri\/wp-content\/uploads\/sites\/21\/2018\/07\/Docker-Drive-Access.png 380w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h2>MAERISST Functional Test<\/h2>\n<p>Test data from a M-AERI have been included inside the <em>Docker<\/em> image to confirm operation.\u00a0 To test the operation of <em>MAERISST<\/em>, open <em>Command Prompt<\/em>. Type<\/p>\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">docker run \u2011\u2011rm -it maerisst bash<\/p>\n<p><em>Note: there are two dashes before rm, not one.<\/em><\/p>\n<p>This starts the <em>MAERISST<\/em> <em>Docker<\/em> container, and returns a prompt such as <tt>bash-4.2#<\/tt><\/p>\n<p>For the test case provided, <tt>AE960318<\/tt>, at the <em>Docker<\/em> prompt (<tt>bash-4.2#<\/tt>), type<\/p>\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">cd \/root\/test_data\/<br \/>\nmaerisst.exe<br \/>\n960318<br \/>\n1<\/p>\n<p>This will run <em>MAERISST<\/em> on the test dataset inside the <em>Docker<\/em> container and write output files <tt>asciiout.mlt<\/tt>,\u00a0 <tt>TSKINDMP.ASC<\/tt>,\u00a0 <tt>maerisst.log<\/tt>.<\/p>\n<p>To verify that matching output is generated, while still in the container, type<\/p>\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">cd \/root\/test_data\/<br \/>\ndiff asciiout.mlt test_output\/asciiout.mlt<\/p>\n<p>If the output is identical, <tt>diff<\/tt> should return an empty set.<\/p>\n<p><em>Note:\u00a0 numerical precision differences between computers may result in different computed output on different computers.\u00a0 In that case, inspect and compare the output files manually.<\/em><\/p>\n<p>To close the <em>Docker<\/em> container, type<\/p>\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">exit<\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h2>Running MAERISST on User Data<\/h2>\n<p>To run <em>MAERISST<\/em> on user data for a given day, <tt>YYMMDD<\/tt>, the M-AERI data as well as the configuration files must be copied into the <em>Docker<\/em> container using a mounted drive.<\/p>\n<ol>\n<li>Set up the input M-AERI data and configuration files on the computer.\u00a0 For the test data provided, copy the folder <tt>AE960318<\/tt> from the USB drive to <tt>C:\\ftp\\<\/tt>. This folder contains test data and configuration files needed to run <em>MAERISST<\/em>.<\/li>\n<li>Start a <em>Docker<\/em> container mounting the M-AERI data directory.\u00a0 Open <em>Command Prompt<\/em> and type\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">docker run \u2011\u2011rm -it -v c:\\ftp:\/ftp maerisst bash<\/p>\n<p><em>Note: there are two dashes before rm, not one.<\/em><\/li>\n<li>Copy the input data into the <em>Docker<\/em> container.\u00a0 Note: <em>MAERISST<\/em> will not run on data outside the <em>Docker<\/em> container.\u00a0 Type\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">cp -r \/ftp\/AE960318 \/root\/data\/.<\/p>\n<\/li>\n<li>Run <em>MAERISST<\/em>.\u00a0 Type\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">cd \/root\/data\/AE960318<br \/>\nmaerisst.exe<br \/>\n960318<br \/>\n1<\/p>\n<\/li>\n<li>Copy the output data out of the <em>Docker<\/em> container.\u00a0 Note:\u00a0 new files created inside the <em>Docker<\/em> container will be discarded once it is closed.\u00a0 Type\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">cp asciiout.mlt \/ftp\/AE960318\/.<br \/>\ncp TSKINDMP.ASC \/ftp\/AE960318\/.<br \/>\ncp maerisst.log \/ftp\/AE960318\/.<\/p>\n<p>This will copy the output data into <tt>c:\\ftp\\AE960318<\/tt> on the computer.<\/li>\n<li>To close the <em>Docker<\/em> container, type\n<p style=\"font-family: monospace; background: #000000; color: #c6c3c6; border: 2px solid #C6C3C6; padding: 10px;\">exit<\/p>\n<\/li>\n<\/ol>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h2>Input data<\/h2>\n<p>The following input files need to be in each c:\\ftp\\AEYYMMDD directory in order to run <em>MAERISST<\/em> per the instructions above. They need to be configured for the given M-AERI input data.\u00a0 The test data in <tt>AE960318<\/tt> are provided as a template.<\/p>\n<ul>\n<li><tt>.RNC<\/tt> files from the M-AERI for the given day (e.g. <tt>960318C1.RNC<\/tt>, <tt>960318C2.RNC<\/tt>)<\/li>\n<li><tt>.SUM<\/tt> file from the M-AERI for the given day (e.g. <tt>960318.SUM<\/tt>)<\/li>\n<li><tt>mirror.beg<\/tt> file used to collect M-AERI data, found in the c:\\config directory on the M-AERI data acquisition computer.<\/li>\n<li><tt>MAERISST.VIP<\/tt> specifies file locations for input, output, etc.\u00a0 These must be specified for each given day.<\/li>\n<li><tt>MAERISST.SIP<\/tt> specifies scene mirror position IDs, and other parameters.\u00a0 These must be specified based on the given <tt>mirror.beg<\/tt> file.\n<ul>\n<li><tt>SceneMirPosIDzenithSky<\/tt>: zenith position in mirror.beg (e.g. <tt>S<\/tt>)<\/li>\n<li><tt>SceneMirPosID1*TempCalc<\/tt>: 55 degrees from nadir position in mirror.beg (e.g. <tt>V<\/tt>)<\/li>\n<li><tt>SceneMirPosID2*TempCalc<\/tt>: 55 degress from zenith position in mirror.beg (e.g. <tt>W<\/tt>)<\/li>\n<\/ul>\n<\/li>\n<li><tt>coeffs<\/tt> directory<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>Output data<\/h2>\n<p>Three output files are generated<\/p>\n<ul>\n<li><tt>asciiout.mlt<\/tt>, ASCII datafile containing sea surface skin temperature calculations, uncertainties, and other output data.\u00a0 The data are described in the file header.<\/li>\n<li><tt>TSKINDMP.ASC<\/tt>, parameter file<\/li>\n<li><tt>maerisst.log<\/tt>, processing log file<\/li>\n<\/ul>\n<p>For the test case provided, output can be verified against test output found in <tt>\/root\/test_data\/test_output<\/tt> inside the <em>Docker<\/em> container, or <tt>test_output<\/tt> on the USB drive.<\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h2>Reference<\/h2>\n<p>The theory behind the retrieval is described in:<br \/>\nSmith, W. L., and Coauthors, 1996: Observations of the infrared radiative properties of the ocean &#8211; implications for the measurement of sea surface temperature via satellite remote sensing. <em>Bull. Amer. Meteor. Soc.<\/em>, <strong>77<\/strong>, 41-51.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview This procedure describes the steps for a new installation of MAERISST on a computer with the Windows 10 Pro operating system, from the files provided on the USB drive.\u00a0 It also includes instructions for functional testing, running a test dataset, and description of the input and output data files. &nbsp; Installation Procedure Ensure that [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"parent":603,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-1554","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/pages\/1554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/comments?post=1554"}],"version-history":[{"count":87,"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/pages\/1554\/revisions"}],"predecessor-version":[{"id":1649,"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/pages\/1554\/revisions\/1649"}],"up":[{"embeddable":true,"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/pages\/603"}],"wp:attachment":[{"href":"https:\/\/www.ssec.wisc.edu\/aeri\/wp-json\/wp\/v2\/media?parent=1554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}