<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openwfm.org/index.php?action=history&amp;feed=atom&amp;title=How_to_create_a_fire_portal_compute_server</id>
	<title>How to create a fire portal compute server - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openwfm.org/index.php?action=history&amp;feed=atom&amp;title=How_to_create_a_fire_portal_compute_server"/>
	<link rel="alternate" type="text/html" href="https://wiki.openwfm.org/index.php?title=How_to_create_a_fire_portal_compute_server&amp;action=history"/>
	<updated>2026-06-02T22:25:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://wiki.openwfm.org/index.php?title=How_to_create_a_fire_portal_compute_server&amp;diff=2552&amp;oldid=prev</id>
		<title>Jbeezley: Compute server setup information</title>
		<link rel="alternate" type="text/html" href="https://wiki.openwfm.org/index.php?title=How_to_create_a_fire_portal_compute_server&amp;diff=2552&amp;oldid=prev"/>
		<updated>2012-09-14T05:28:25Z</updated>

		<summary type="html">&lt;p&gt;Compute server setup information&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The fire portal compute server is the backend of [http://wildfire.sci.utah.edu], which is responsible for &lt;br /&gt;
the computational tasks of generating the fire outputs.  This page describes how to install all the necessary&lt;br /&gt;
software on a fresh install of Ubuntu Server 12.4.  Installing on a different operating system is also possible,&lt;br /&gt;
but the user must figure out the correct package names from the package manager.  In general, the following&lt;br /&gt;
software is necessary to run the compute server:&lt;br /&gt;
* Tools to build WRF&lt;br /&gt;
** fortran compiler&lt;br /&gt;
** make&lt;br /&gt;
** m4&lt;br /&gt;
** tcsh&lt;br /&gt;
** perl&lt;br /&gt;
** netcdf development libraries&lt;br /&gt;
** Geotiff development libraries&lt;br /&gt;
** jasper development libraries&lt;br /&gt;
** png development libraries&lt;br /&gt;
* Tools for running the compute server&lt;br /&gt;
** python version 2.6 or 2.7 with development libraries&lt;br /&gt;
** git&lt;br /&gt;
** openssh server and client&lt;br /&gt;
** GDAL with python support&lt;br /&gt;
* Python modules (most can be found in the package manager or easy_install/pip)&lt;br /&gt;
** netCDF4&lt;br /&gt;
** GitPython&lt;br /&gt;
** percache&lt;br /&gt;
** mechanize&lt;br /&gt;
** BeautifulSoup&lt;br /&gt;
** simplekml&lt;br /&gt;
&lt;br /&gt;
=OS and software installation=&lt;br /&gt;
&lt;br /&gt;
For the remainder of this guide, it is assumed that you have installed Ubuntu Server 12.4 with user name wildfire.  Once you are logged in to the terminal, it is&lt;br /&gt;
recommended that you do a system update and restart.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get dist-upgrade&lt;br /&gt;
 sudo restart&lt;br /&gt;
Now you need to install required software from the apt repository.&lt;br /&gt;
 sudo apt-get install python-pip gfortran libnetcdf-dev netcdf-bin   \&lt;br /&gt;
              libhdf5-serial-dev python-dev python-matplotlib        \&lt;br /&gt;
              python-matplotlib-data tcsh git build-essential m4     \&lt;br /&gt;
              libcloog-ppl10 openssh-server libjasper-dev libpng-dev \&lt;br /&gt;
              libgeotiff-dev gdal-bin python-gdal&lt;br /&gt;
Next, install python modules available in pip.&lt;br /&gt;
 sudo pip install netCDF4 GitPython percache mechanize BeautifulSoup simplekml&lt;br /&gt;
&lt;br /&gt;
Set the ssh server to start by default.&lt;br /&gt;
 sudo update-rc.d ssh defaults&lt;br /&gt;
&lt;br /&gt;
Add environment variables to the shell rc file.&lt;br /&gt;
 echo &amp;#039;export NETCDF=/usr&amp;#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;#039;export LIBTIFF=/usr&amp;#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;#039;export GEOTIFF=/usr&amp;#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Finally, reboot the computer.&lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
=WRF and server code checkout and configuration=&lt;br /&gt;
Checkout software from our git repository.&lt;br /&gt;
 git clone repo.openwfm.org:/home/git/wrf-fire.git&lt;br /&gt;
 git clone repo.openwfm.org:/home/git/WRF-GoogleEarth.git&lt;br /&gt;
&lt;br /&gt;
Now, you need to compile WRF and WPS to generate a template run directory that the &lt;br /&gt;
compute server will use to execute the simulation.&lt;br /&gt;
 cd wrf-fire/wrfv2_fire&lt;br /&gt;
 echo &amp;#039;9&lt;br /&gt;
 1&amp;#039; | ./configure &lt;br /&gt;
 ./compile em_real&lt;br /&gt;
 cd ../WPS&lt;br /&gt;
 echo 6 | ./configure&lt;br /&gt;
 ./compile&lt;br /&gt;
 cd ..&lt;br /&gt;
&lt;br /&gt;
Now, generate template tarball firesim.tar in ~/wrf-fire.&lt;br /&gt;
 ~/WRF-GoogleEarth/computeserver/makeTemplate.sh&lt;br /&gt;
&lt;br /&gt;
Next, you will need to create a file in the home directory called &amp;lt;tt&amp;gt;.globalConfig.txt&amp;lt;/tt&amp;gt;.  This&lt;br /&gt;
contains basic information about that the computer setup that the server will use to execute the&lt;br /&gt;
simulation.  A template of this file can be found in &amp;lt;tt&amp;gt;~/WRF-GoogleEarth/computeserver/globalConfig.txt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
For this setup, you can paste the following into this file:&lt;br /&gt;
&amp;lt;pre&amp;gt;[server]&lt;br /&gt;
mainDir=/home/wildfire/run&lt;br /&gt;
repoDir=/home/wildfire/wrf-fire&lt;br /&gt;
wrfConfig=%(repoDir)s/wrfv2_fire/configure.wrf&lt;br /&gt;
wpsConfig=%(repoDir)s/WPS/configure.wps&lt;br /&gt;
netCDFpath=/usr&lt;br /&gt;
wpsData=/home/wildfire/geog&lt;br /&gt;
ldPath=&lt;br /&gt;
templateDir=/home/wildfire/wrf-fire/firesim.tar&lt;br /&gt;
&lt;br /&gt;
[cache]&lt;br /&gt;
cachefile=/home/wildfire/cache/cache.db&lt;br /&gt;
livesync=True&lt;br /&gt;
filestore=/home/wildfire/cache&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, create directories that the server will use for execution.&lt;br /&gt;
 mkdir ~/cache&lt;br /&gt;
 mkdir ~/log&lt;br /&gt;
 mkdir ~/run&lt;br /&gt;
&lt;br /&gt;
=Testing the installation=&lt;br /&gt;
To make sure everything is working correctly, create a test parameter file and run the simulation code.&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir results&lt;br /&gt;
mkdir test&lt;br /&gt;
cd test&lt;br /&gt;
echo &amp;#039;centerLat=40.07160929510595&lt;br /&gt;
centerLon=-105.9405756939366&lt;br /&gt;
ign_radius=10&lt;br /&gt;
dx=100&lt;br /&gt;
dy=100&lt;br /&gt;
nx=40&lt;br /&gt;
ny=41&lt;br /&gt;
ignLat=40.07160929510595&lt;br /&gt;
ignLon=-105.9405756939366&lt;br /&gt;
ignTime=2011-10-05_00:01:00&lt;br /&gt;
runTime=1&lt;br /&gt;
spinupTime=.001&lt;br /&gt;
map_proj=lambert&lt;br /&gt;
uploadpath=localhost:results&amp;#039; &amp;gt; params.txt&lt;br /&gt;
 &lt;br /&gt;
python ~/WRF-GoogleEarth/computeserver/fireSim.py testsession params.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will run a simulation and output kmz files to ~/results.  Check logs in ~/log and the run directory in ~/run/testsession in case&lt;br /&gt;
any errors occur.&lt;br /&gt;
&lt;br /&gt;
=Connecting to a web server=&lt;br /&gt;
At this point, the compute server is fully configured.  All that remains is to ensure that there is a way to ssh into the web server without a password using the ~/.ssh/authorized_keys file.  The&lt;br /&gt;
web server must also be able to log into the compute server passwordlessly as well.  See the web server configuration guide for information on how to connect the portal to this compute server.&lt;/div&gt;</summary>
		<author><name>Jbeezley</name></author>
	</entry>
</feed>