[cig-commits] r11877 - in cs/portal/trunk/northridge/SeismoWebPortal: . static static/css static/pics static/samples templates/SeismoWebPortal

leif at geodynamics.org leif at geodynamics.org
Wed Apr 30 17:24:01 PDT 2008


Author: leif
Date: 2008-04-30 17:24:01 -0700 (Wed, 30 Apr 2008)
New Revision: 11877

Added:
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mineos_parameters.pml
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/par_file.txt
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/parameters.pml
Removed:
   cs/portal/trunk/northridge/SeismoWebPortal/static/about.html
   cs/portal/trunk/northridge/SeismoWebPortal/static/html/
   cs/portal/trunk/northridge/SeismoWebPortal/static/jss/
   cs/portal/trunk/northridge/SeismoWebPortal/static/links.html
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-down.3030a0.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-right.000000.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-right.3030a0.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-right.c0c0c0.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-right.ffffff.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrowsm-down.000000.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrowsm-down.ffffff.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/bar-blank.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/bar-blipblop-end.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/bar-blipblop.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/bar-end.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/dock.tmb.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/earth.americas.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/earth.atlantic.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/earth.basin.01.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/earth.basin.02.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/ellipticity_mesh.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/f_down.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/f_up.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/globalchunks.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/globalchunks.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/info.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/info.i.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/info.shadow.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/list.000000.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/nooptions.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/ondemand-screenshot.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/ondemand-screenshot.tmb.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/onechunks.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/onechunks.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/q_down.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/q_up.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/quicksetup.tmb.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/ritsema_dvs_mntlmdl.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/simple-logo.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.01.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.01.long.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.02.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.03.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.04.long.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/topography_earth_mesh.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/twochunks.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/twochunks.jpg
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/x_down.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/x_up.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/science.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/detail.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/jobs.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/list.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_info.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/model_info.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/movie_info.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/output_format_info.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/run_list.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/runs.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation.pml
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_base.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_2chunks.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_3chunks.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_global.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_start.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_run_form.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_add.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_detail.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_remove.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_code.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_location.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_results.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationnetwork_detail.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationnetwork_list.html
Modified:
   cs/portal/trunk/northridge/SeismoWebPortal/forms.py
   cs/portal/trunk/northridge/SeismoWebPortal/models.py
   cs/portal/trunk/northridge/SeismoWebPortal/static/css/style.css
   cs/portal/trunk/northridge/SeismoWebPortal/static/pics/stations.gif
   cs/portal/trunk/northridge/SeismoWebPortal/static/samples/STATIONS.txt
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/base.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/check_all.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_form_3chunks.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_form_base.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/model_form.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/register.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/registration_form.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_detail.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationlist_upload.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/update_mesh_1or2chunks.html
   cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/update_mesh_3or6chunks.html
   cs/portal/trunk/northridge/SeismoWebPortal/urls.py
   cs/portal/trunk/northridge/SeismoWebPortal/views.py
Log:
Merged r10984 through r11146.


Modified: cs/portal/trunk/northridge/SeismoWebPortal/forms.py
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/forms.py	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/forms.py	2008-05-01 00:24:01 UTC (rev 11877)
@@ -13,44 +13,6 @@
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
-class MeshAddManipulator(Mesh.AddManipulator):
-    def __init__(self):
-        super(MeshAddManipulator, self).__init__()
-        # replace generic fields with custom fields
-        del self['user']
-        del self['nchunks']
-        self.fields.extend([
-            forms.HiddenField(field_name='user', is_required=True),
-            forms.HiddenField(field_name='nchunks', is_required=True),
-            ])
-
-
-class OneOr2ChunkMeshAddManipulator(MeshAddManipulator):
-    
-    def __init__(self):
-        super(OneOr2ChunkMeshAddManipulator, self).__init__()
-        # replace generic fields with custom fields
-        del self['nex_xi']
-        del self['nex_eta']
-        from models import NEX_C_CHOICES
-        self.fields.extend([
-            forms.SelectField(field_name='nex_xi_c', choices=NEX_C_CHOICES, is_required=True),
-            forms.SelectField(field_name='nex_eta_c', choices=NEX_C_CHOICES, is_required=True),
-            ])
-
-    def save(self, new_data):
-        # Compute derived mesh values.  This must be done
-        # (redundantly) on the server, in case JavaScript is
-        # unavailable on the client.
-        nex_xi_c = int(new_data['nex_xi_c'])
-        nex_eta_c = int(new_data['nex_eta_c'])
-        nproc_xi = int(new_data['nproc_xi'])
-        nproc_eta = int(new_data['nproc_eta'])
-        new_data['nex_xi'] = str(16 * nex_xi_c * nproc_xi)
-        new_data['nex_eta'] = str(16 * nex_eta_c * nproc_eta)
-        return super(OneOr2ChunkMeshAddManipulator, self).save(new_data)
-
-
 class MeshManipulator(object):
     
     def __init__(self, nchunks):
@@ -118,42 +80,6 @@
         return Mesh.ChangeManipulator.save(self, new_data)
 
 
-class ModelAddManipulator(Model.AddManipulator):
-    def __init__(self):
-        super(ModelAddManipulator, self).__init__()
-        # replace generic fields with custom fields
-        del self['user']
-        self.fields.extend([
-            forms.HiddenField(field_name='user', is_required=True),
-            ])
-
-
-class SimulationAddManipulator(Simulation.AddManipulator):
-    
-    def __init__(self):
-        super(SimulationAddManipulator, self).__init__()
-        # replace generic fields with custom fields
-        del self['user']
-        del self['mesh']
-        del self['model']
-        del self['simulation_type']
-        del self['absorbing_conditions']
-        self.fields.extend([
-            forms.HiddenField(field_name='user', is_required=True),
-            forms.HiddenField(field_name='mesh', is_required=True),
-            forms.HiddenField(field_name='model', is_required=True),
-            forms.HiddenField(field_name='simulation_type', is_required=True),
-            forms.HiddenField(field_name='absorbing_conditions'),
-            ])
-        
-    def do_html2python(self, new_data):
-        super(SimulationAddManipulator, self).do_html2python(new_data)
-        # This field requires special love and care, I guess
-        # because it's a HiddenField instead of a
-        # CheckboxField.
-        new_data['absorbing_conditions'] = {'True': True, 'False': False}[new_data['absorbing_conditions']]
-
-
 class RunStatusManipulator(forms.Manipulator):
 
     def __init__(self):

Modified: cs/portal/trunk/northridge/SeismoWebPortal/models.py
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/models.py	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/models.py	2008-05-01 00:24:01 UTC (rev 11877)
@@ -260,14 +260,14 @@
 
 model_types = [
     #   id (*)                        display name
-    ('isotropic_prem',             'isotropic PREM'),
-    ('transversely_isotropic_prem', 'transversely isotropic PREM'),
-    ('1066a',                      '1066a'),
-    ('iasp91',                     'iasp91'),
-    ('ak135',                      'ak135'),
-    ('s20rts',                     's20rts'),
-    ('crust_2.0_plus_transversely_isotropic_prem', 'crust2.0+PREM'),
-    # (*) ^^^ 'id' must be a name understood by the Pyrized code
+    ("transversely_isotropic_prem_plus_3D_crust_2.0", "crust2.0+prem"),
+    ("s20rts",                        "s20rts"),
+    ("s362ani",                       "s362ani"),
+    #("s362iso",                       "s362iso"), # undocumented
+    ("s362wmani",                     "s362wmani"),
+    ("s362ani_prem",                  "s362ani+prem"),
+    ("s29ea",                         "s29ea"),
+    # (*) ^^^ 'id' must be a name understood by the code
 ]
 
 MODEL_TYPES = tuple([(num+1, model_types[num][1]) for num in xrange(0, len(model_types))])
@@ -301,8 +301,8 @@
     nproc_eta = models.IntegerField(core=True, choices=NPROC_CHOICES, default=5)
     nex_xi_c = models.IntegerField(core=True, choices=NEX_C_CHOICES, default=2)
     nex_eta_c = models.IntegerField(core=True, choices=NEX_C_CHOICES, default=2)
-    def nex_xi(self): return 16 * self.nex_xi_c * self.nproc_xi
-    def nex_eta(self): return 16 * self.nex_eta_c * self.nproc_eta
+    def nex_xi(self): return 8 * self.nex_xi_c * self.nproc_xi
+    def nex_eta(self): return 8 * self.nex_eta_c * self.nproc_eta
     #save_files = models.BooleanField(core=True)
     def save_files(self): return False
 
@@ -319,9 +319,9 @@
 
     def shortestPeriod(self):
         if self.nchunks == 6:
-            return (240.0 / float(self.nex_xi())) * 18.0
+            return (256.0 / float(self.nex_xi())) * 17.0
         # regional
-        return (240.0 / float(self.nex_xi())) * (self.angular_width_xi / 90.0) * 18.0
+        return (256.0 / float(self.nex_xi())) * (self.angular_width_xi / 90.0) * 17.0
 
     def __str__(self): return self.name
 
@@ -495,7 +495,59 @@
     class Admin:
         pass
 
+    
+    # ~~~~~~ #
+    # Mineos #
+    # ~~~~~~ #
 
+    # jcom
+    radial = models.BooleanField(default=True)
+    toroidal = models.BooleanField(default=True)
+    spheroidal = models.BooleanField(default=True)
+    ictoroidal = models.BooleanField(default=True)
+
+
+    #------------------------------------------------------------------------
+    # minos_bran
+    
+    eps = models.FloatField(max_digits=19, decimal_places=10, default=1.0e-10)
+    wgrav = models.FloatField(max_digits=19, decimal_places=10, default=1.0) # mHz
+
+    # angular orders
+    lmin = models.IntegerField(default=2)
+    lmax = models.IntegerField(default=8000)
+
+    # compute frequency range
+    wmin = models.FloatField(max_digits=19, decimal_places=10, default=0.0) # mHz
+    wmax = models.FloatField(max_digits=19, decimal_places=10, default=200.0) # mHz
+
+    # dispersion branch numbers
+    nmin = models.IntegerField(default=0)
+    nmax = models.IntegerField(default=0)
+
+
+    #------------------------------------------------------------------------
+    # eigcon
+
+    max_depth = models.FloatField(max_digits=19, decimal_places=10, default=1000.0) # km
+    
+
+    #------------------------------------------------------------------------
+    # green
+
+    fmin = models.FloatField(max_digits=19, decimal_places=10, default=10.0) # mHz
+    fmax = models.FloatField(max_digits=19, decimal_places=10, default=260.0) # mHz
+
+    #------------------------------------------------------------------------
+    # syndat
+    
+    step = models.FloatField(max_digits=19, decimal_places=10, default=1.0) # seconds
+
+    def nsamples(self):
+        from math import ceil
+        return int(ceil(self.record_length * 60.0 / self.step))
+
+
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 # Runs, Jobs
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/about.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/static/about.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/static/about.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,111 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<link href="/specfem3dglobe/css/main.css" type="text/css" rel="stylesheet" media="all" />
-<script type="text/javascript" language="javascript" src="/specfem3dglobe/jss/main.js"></script>
-<head>
-    <title>Specfem3D: on-demand: \about</title>
-</head>
-<body>
-<table width=100% cellpadding=0 cellspacing=0 border=0 class=header>
-<! **************************** HEADER *********************** >
-<tr><td bgcolor=#d0d0d0 height=80 valign=bottom>
-  <table width=100% height=80 cellpadding=0 border=0 cellspacing=0><tr>
-    <td width=200 class=whitetext align=center><a href=/specfem3dglobe/><img src=/specfem3dglobe/pics/simple-logo.gif border=0></a></td>
-    <td valign=bottom align=center> <! *** [DOCK] *** > </td>
-    <td width=240 class=whitesmalltext align=right>
-	<!------
-       New user? <a href="/specfem3dglobe/registration/" class=dark
-         onmouseover="document.getElementById('registerarrow').src='/specfem3dglobe/pics/arrow-right.ffffff.gif ';"
-         onmouseout= "document.getElementById('registerarrow').src='/specfem3dglobe/pics/arrow-right.000000.gif ';"
-                >register now!&nbsp;
-                <img src=/specfem3dglobe/pics/arrow-right.000000.gif align=top border=0 id="registerarrow"></a> <br>
-       <font class=blacksmallertext>
-        <form method="post" action="." id="loginform">
-	    USERNAME <input type=text id=id_username class=vTextField required name=username size=15 maxlength=30 /> 
-		      <img src=/specfem3dglobe/pics/arrow-right.c0c0c0.gif border=0> <br>
-	    PASSWORD <input type=password id=id_password class=vPasswordField required name=password size=15 maxlength=30 />
-      		<a href=login onclick="document.getElementById('loginform').submit(); return false;"
-         		onmouseover="document.getElementById('loginarrow').src='/specfem3dglobe/pics/arrow-right.ffffff.gif ';"
-         		onmouseout= "document.getElementById('loginarrow').src='/specfem3dglobe/pics/arrow-right.000000.gif ';"
-       		><img src=/specfem3dglobe/pics/arrow-right.000000.gif border=0 id="loginarrow"></a> </font><br>
-        <input type="hidden" name="next" value="/specfem3dglobe/" />
-    </form>
-	------>
-	<!----  *** forgot name/password links: not working
-  [ <a href=forgotname.html class=dark>forgot name</a> | <a href=forgorpassword.html class=dark>forgot password</a> ] <img src=/specfem3dglobe/pics/arrow-right.c0c0c0.gif border=0> <br>
-	---->
-    </td>
-   </tr></table>
-</td></tr>
-<! **************************** OBJECT BROWSER *********************** >
-<! **************************** SIMULATION CREATOR  *********************** >
-    <tr><td align=center>
-    <br><br><br>
-<table><tr>
-  <td valign=top>
-	Welcome to<br>
-        <b>Specfem3d: on-demand!</b>
-  </td>
-  <td width=20>
-  </td><td valign=top width=240>
-The software package SPECFEM3D_GLOBE simulates three-dimensional global and regional seismic wave propagation based upon the spectral-element method (SEM). Effects due to lateral variations in compressional-wave speed, 
-shear-wave speed, density, a 3D crustal model, ellipticity, topography and bathymetry, the oceans, rotation, and
-self-gravitation are included. For a detailed introduction to the SEM as applied to global and regional seismic
-wave propagation, please consult Komatitsch and Vilotte [1998], Komatitsch and Tromp [1999], Chaljub [2000], Komatitsch 
-and Tromp [2002a,b], Komatitsch et al. [2002], Chaljub et al. [2003], Capdeville et al. [2003], Chaljub and Valette 
-[2004]. If you use 3D mantle model S20RTS, please cite Ritsema et al. [1999]. The package can accommodate full 
-21- arameter anisotropy [Chen and Tromp, 2006] as well as lateral variations in attenuation [Savage et al., Fall Meeting 
-2005]. Adjoint capabilities and finite-frequency kernel simulations are also included [Liu and Tromp, 2006a,b]. 
-<br><br>
-All SPECFEM3D_GLOBE software is written in Fortran90 with full portability in mind, and conforms strictly to 
-the Fortran95 standard. It uses no obsolete or obsolescent features of Fortran77. The package uses parallel program- 
-ming based upon the Message Passing Interface (MPI) [Gropp et al., 1994, Pacheco, 1997]. 
-<br><br>
-If you use SPECFEM3D_GLOBE for your own research, please cite at least one of the following articles: 
-Komatitsch et al. [2002], Komatitsch and Tromp [2002a,b, 1999] or Komatitsch and Vilotte [1998]. The corresponding 
-BibTEX entries may be found in file <a href=http://www.geodynamics.org:8080/cig/software/packages/seismo/specfem3d-globe/manual_SPECFEM3D_GLOBE.pdf#bibliography.bib>USERS_MANUAL_GLOBE/ bibliography.bib</a> or in comments at the beginning of file specfem3D.f90.
-  </td><td width=20>
-  </td><td valign=top align=center width=240>
-<small>Please e-mail your feedback, questions, comments, and suggestions to 
-the CIG Computational Seismology Mailing List (cig-seismo (at) geodynamics.org).</small>
-<br><br>
-<br><br>
-  <label>Specfem3d team</label><br>
-Dimitri Komatitsch,<br>
-Jeroen Tromp,<br>
-Qinya Liu,<br>
-Min Chen,<br>
-Vala Hjorleifsdottir,<br>
-Brian Savage,<br>
-Bernhard Schubert,<br>
-Leif Strand,<br>
-Peter van Keken<br><br>
-<br>
-  <label>Specfem3d on-demand<br> Portal by</label><br>
-YoungHee Kim,<br>
-Leif Strand,<br>
-Santiago Lombeyda,<br>
-Jeroen Tromp<br>
-<br><br>
-Portal Engine powered by<br>
-<a href=http://www.djangoproject.com/>Django</a> &copy;
-<br><br>
-CMT Search powered by<br>
-<a href=http://www.seismology.harvard.edu/>Harvard Seismology CMT Catalog Search</a> &copy;
-<br><br>
-In collaboration with<br>
-<a href=http://www.gps.caltech.edu/seismo/>Caltech Seismological Laboratory</a><br>
-<a href=http://www.geodynamics.org/>Computational Infrasctructure for Geodynamics</a><br>
-<a href=http://www.tacc.utexas.edu/>Texas Advanced Computing Center</a><br>
-<br>
-<br><br>
- <b>&copy; Caltech 2006</b><br>
-
-  </td></tr></table>
-</td></tr>
-<! **************************** FOOTER *********************** >
-<tr><td align=center>
-  <br>
-  <a href=/specfem3dglobe/about.html>about specfem3d on-demand</a> | <a href=/specfem3dglobe/science.html>science</a> | <a href=/specfem3dglobe/links.html>links</a>
-</td></tr>
-</table>

Modified: cs/portal/trunk/northridge/SeismoWebPortal/static/css/style.css
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/static/css/style.css	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/static/css/style.css	2008-05-01 00:24:01 UTC (rev 11877)
@@ -27,12 +27,46 @@
 }
 
 
+/* banner */
+
+.banner #logos {
+    float: left;
+}
+
+.banner img {
+    vertical-align: middle;
+}
+
+.banner #sflogo {
+    padding-top: 16px;
+}
+
+.banner h1 {
+    margin-top: 0;
+    margin-bottom: 0;
+    padding-top: 16px;
+}
+
+.banner #sf3dg {
+    color: navy;
+}
+
+.banner #webportal {
+    color: gray;
+}
+
+
 /* messages */
 
 .messages {
     font-weight: bold;
+    padding: .2em .2em .2em .2em;
+    border: thin solid white;
+    clear: both;
+}
+
+.active {
     background-color: yellow;
-    padding: .2em .2em .2em .2em;
     border: thin solid black;
 }
 
@@ -573,7 +607,7 @@
 /* stations */
 
 #stations {
-    width: 540px;
+    width: 576px;
 }
 
 

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/links.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/static/links.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/static/links.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,113 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<link href="/specfem3dglobe/css/main.css" type="text/css" rel="stylesheet" media="all" />
-<script type="text/javascript" language="javascript" src="/specfem3dglobe/jss/main.js"></script>
-<head>
-    <title>Specfem3D: on-demand: \about</title>
-</head>
-<body>
-<table width=100% cellpadding=0 cellspacing=0 border=0 class=header>
-<! **************************** HEADER *********************** >
-<tr><td bgcolor=#d0d0d0 height=80 valign=bottom>
-  <table width=100% height=80 cellpadding=0 border=0 cellspacing=0><tr>
-    <td width=200 class=whitetext align=center><a href=/specfem3dglobe/><img src=/specfem3dglobe/pics/simple-logo.gif border=0></a></td>
-    <td valign=bottom align=center> <! *** [DOCK] *** > </td>
-    <td width=320 class=whitesmalltext align=right>
-	<!------
-       New user? <a href="/specfem3dglobe/registration/" class=dark
-         onmouseover="document.getElementById('registerarrow').src='/specfem3dglobe/pics/arrow-right.ffffff.gif ';"
-         onmouseout= "document.getElementById('registerarrow').src='/specfem3dglobe/pics/arrow-right.000000.gif ';"
-                >register now!&nbsp;
-                <img src=/specfem3dglobe/pics/arrow-right.000000.gif align=top border=0 id="registerarrow"></a> <br>
-       <font class=blacksmallertext>
-        <form method="post" action="." id="loginform">
-	    USERNAME <input type=text id=id_username class=vTextField required name=username size=15 maxlength=30 /> 
-		      <img src=/specfem3dglobe/pics/arrow-right.c0c0c0.gif border=0> <br>
-	    PASSWORD <input type=password id=id_password class=vPasswordField required name=password size=15 maxlength=30 />
-      		<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=login onclick="document.getElementById('loginform').submit(); return false;"
-         		onmouseover="document.getElementById('loginarrow').src='/specfem3dglobe/pics/arrow-right.ffffff.gif ';"
-         		onmouseout= "document.getElementById('loginarrow').src='/specfem3dglobe/pics/arrow-right.000000.gif ';"
-       		><img src=/specfem3dglobe/pics/arrow-right.000000.gif border=0 id="loginarrow"></a> </font><br>
-        <input type="hidden" name="next" value="/specfem3dglobe/" />
-    </form>
-	------>
-	<!----  *** forgot name/password links: not working
-  [ <a href=forgotname.html class=dark>forgot name</a> | <a href=forgorpassword.html class=dark>forgot password</a> ] <img src=/specfem3dglobe/pics/arrow-right.c0c0c0.gif border=0> <br>
-	---->
-    </td>
-   </tr></table>
-</td></tr>
-<! **************************** OBJECT BROWSER *********************** >
-<! **************************** SIMULATION CREATOR  *********************** >
-    <tr><td align=center>
-    <br><br><br>
-<table><tr>
-  <td valign=top>
-	<b>Additional Reseources</b><br>
-  </td>
-  <td width=20>
-  </td><td valign=top width=240>
-	<label>Links</label><br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.geodynamics.org:8080/cig/software/packages/seismo/specfem3d-basin/>Specfem3d Base page</a><br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.geodynamics.org:8080/cig/software/packages/seismo/specfem3d-basin/manual_SPECFEM3D_BASIN.pdf>Specfem3d Basin Manual</a> (pdf) 
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.geodynamics.org:8080/cig/software/packages/seismo/specfem3d-globe/>Specfem3d Globe Page</a><br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.geodynamics.org:8080/cig/software/packages/seismo/specfem3d-globe/manual_SPECFEM3D_GLOBE.pdf>Specfem3d Global Manual</a> (pdf)
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://shakemovie.caltech.edu/>Caltech's Southern California Basin Shakemovie</a>
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.djangoproject.com/>The Django Project</a>
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.seismology.harvard.edu/>Harvard Seismology CMT Catalog Search</a>
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.gps.caltech.edu/seismo/>Caltech Seismological Laboratory</a>
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.geodynamics.org/>Computational Infrasctructure for Geodynamics</a>
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.cacr.caltech.edu>Caltech's Center for Advanced Computing Research</a>
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.tacc.utexas.edu/>Texas Advanced Computing Center</a>
-	<br><br>
-	<img src=/specfem3dglobe/pics/arrow-right.000000.gif> <a href=http://www.iris.edu>IRIS: Incorporated Research Institutions for Seismology</a> 
-	<br>
-<br><br>
- <b>&copy; Caltech 2006</b><br>
-  </td><td width=20>
-  </td><td width=240 valign=top>
-  <label>Visualizing Results</label>
-  <br><br>
-  <h4>\SEM Synthetics</h4>
-  <pre>
-  \1 <code>process_data.pl</code>
-  \2 <code>process_syn.pl</code>
-  \3 <code>process_rotate.pl</code>
-  </pre>
-  <br><br>
-  <h4>\SAC ASCII</h4>
-  <pre>
-  \1 <code>SAC Software</code>
-     from LLNL
-     v. sac2000 v.0.58
-     <a href=http://www.llnl.gov/sac/>Web Page</a>
-     <a href=http://www.llnl.gov/ipac/technology/software/softwaretitles/sac.php>Download</a>
-     Free (Academic/NonComercial)
-                               [<a href=http://www.iris.edu/news/newsletter/vol7no1/page1.htm>more info</a>]
-
-  \2 <code>AmaSeis</code>
-     from Alan Jones
-     v. 1.1. Level 2006.07.25
-     <i>Windows only</i>
-     <a href=http://www.geol.binghamton.edu/faculty/jones/AmaSeis.html>Web Page</a>
-     <a href=http://www.geol.binghamton.edu/faculty/jones/AmaSeisSetup.exe>Download</a> (exe)
-
-
-  \* <a href=http://www.iris.edu/manuals/#8>List of SW courtesy of IRIS</a>
-  </pre>
-  </td></tr></table>
-</td></tr>
-<! **************************** FOOTER *********************** >
-<tr><td align=center>
-  <br>
-  <a href=/specfem3dglobe/about.html>about specfem3d on-demand</a> | <a href=/specfem3dglobe/science.html>science</a> | <a href=/specfem3dglobe/links.html>links</a>
-</td></tr>
-</table>

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-down.3030a0.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-right.000000.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-right.3030a0.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-right.c0c0c0.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrow-right.ffffff.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrowsm-down.000000.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/arrowsm-down.ffffff.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/bar-blank.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/bar-blipblop-end.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/bar-blipblop.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/bar-end.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/dock.tmb.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/earth.americas.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/earth.atlantic.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/earth.basin.01.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/earth.basin.02.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/ellipticity_mesh.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/f_down.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/f_up.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/globalchunks.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/globalchunks.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/info.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/info.i.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/info.shadow.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/list.000000.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/nooptions.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/ondemand-screenshot.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/ondemand-screenshot.tmb.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/onechunks.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/onechunks.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/q_down.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/q_up.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/quicksetup.tmb.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/ritsema_dvs_mntlmdl.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/simple-logo.gif
===================================================================
(Binary files differ)

Modified: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/stations.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.01.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.01.long.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.02.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.03.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/tab.04.long.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/topography_earth_mesh.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/twochunks.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/twochunks.jpg
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/x_down.gif
===================================================================
(Binary files differ)

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/pics/x_up.gif
===================================================================
(Binary files differ)

Modified: cs/portal/trunk/northridge/SeismoWebPortal/static/samples/STATIONS.txt
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/static/samples/STATIONS.txt	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/static/samples/STATIONS.txt	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,4 +1,3 @@
-758
 MCK   AK   63.7323  -148.9349  618.0    0.0
 CTAO  AS  -20.0882   146.2545  357.0    0.0
 KONO  AS   59.6491     9.5982  216.0    0.0

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/static/science.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/static/science.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/static/science.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,155 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<link href="/specfem3dglobe/css/main.css" type="text/css" rel="stylesheet" media="all" />
-<script type="text/javascript" language="javascript" src="/specfem3dglobe/jss/main.js"></script>
-<head>
-    <title>Specfem3D: on-demand: \about</title>
-</head>
-<body>
-<table width=100% cellpadding=0 cellspacing=0 border=0 class=header>
-<! **************************** HEADER *********************** >
-<tr><td bgcolor=#d0d0d0 height=80 valign=bottom>
-  <table width=100% height=80 cellpadding=0 border=0 cellspacing=0><tr>
-    <td width=200 class=whitetext align=center><a href=/specfem3dglobe/><img src=/specfem3dglobe/pics/simple-logo.gif border=0></a></td>
-    <td valign=bottom align=center> <! *** [DOCK] *** > </td>
-    <td width=240 class=whitesmalltext align=right>
-	<!--------
-       New user? <a href="/specfem3dglobe/registration/" class=dark
-         onmouseover="document.getElementById('registerarrow').src='/specfem3dglobe/pics/arrow-right.ffffff.gif ';"
-         onmouseout= "document.getElementById('registerarrow').src='/specfem3dglobe/pics/arrow-right.000000.gif ';"
-                >register now!&nbsp;
-                <img src=/specfem3dglobe/pics/arrow-right.000000.gif align=top border=0 id="registerarrow"></a> <br>
-       <font class=blacksmallertext>
-        <form method="post" action="." id="loginform">
-	    USERNAME <input type=text id=id_username class=vTextField required name=username size=15 maxlength=30 /> 
-		      <img src=/specfem3dglobe/pics/arrow-right.c0c0c0.gif border=0> <br>
-	    PASSWORD <input type=password id=id_password class=vPasswordField required name=password size=15 maxlength=30 />
-      		<a href=login onclick="document.getElementById('loginform').submit(); return false;"
-         		onmouseover="document.getElementById('loginarrow').src='/specfem3dglobe/pics/arrow-right.ffffff.gif ';"
-         		onmouseout= "document.getElementById('loginarrow').src='/specfem3dglobe/pics/arrow-right.000000.gif ';"
-       		><img src=/specfem3dglobe/pics/arrow-right.000000.gif border=0 id="loginarrow"></a> </font><br>
-        <input type="hidden" name="next" value="/specfem3dglobe/" />
-    </form>
-	-------->
-	<!----  *** forgot name/password links: not working
-  [ <a href=forgotname.html class=dark>forgot name</a> | <a href=forgorpassword.html class=dark>forgot password</a> ] <img src=/specfem3dglobe/pics/arrow-right.c0c0c0.gif border=0> <br>
-	---->
-    </td>
-   </tr></table>
-</td></tr>
-<! **************************** OBJECT BROWSER *********************** >
-<! **************************** SIMULATION CREATOR  *********************** >
-    <tr><td align=center>
-    <br><br><br>
-<table><tr>
-  <td valign=top width=240>
-  <label>Bibliography</label><br><br>
-K. Aki and P. G. Richards. Quantitative seismology, theory and methods. W. H. Freeman, San Francisco, 1980. <br><br>
-
-C. Ammon, C. Ji, H. Thio, D. Robinson, S. Ni, V. Hjorleifsdottir, H. Kanamori, T. Lay, S. Das, D. Helmberger, G. Ichinose, J. Polet, and D. Wald. Rupture process of the 2004 Sumatra-Andaman earthquake. Science, 3(5725):11331139, 2005. <br><br>
-
-C. Bassin, G. Laske, and G. Masters. The current limits of resolution for surface wave tomography in North America. EOS, 81: F897, 2000. <br><br>
-
-Y. Capdeville, E. Chaljub, J. P. Vilotte, and J. P. Montagner. Coupling the spectral element method with a modal solution for elastic wave propagation in global Earth models. Geophys. J. Int., 152:3467, 2003. <br><br>
-
-E. Chaljub. Modelisation numerique de la propagation dondes sismiques en geometrie spherique : application a la sismologie globale (Numerical modeling of the propagation of seismic waves in spherical geometry: application to global seismology).  PhD thesis, Universite Paris VI I Denis Diderot, Paris, France, 2000. in French. <br><br>
-
-E. Chaljub and B. Valette. Spectral element modelling of three-dimensional wave propagation in a self-gravitating Earth with an arbitrarily stratified outer core. Geophys. J. Int., 158:131141, 2004. <br><br>
-
-E. Chaljub, Y. Capdeville, and J. P. Vilotte. Solving elastodynamics in a fluid-solid heterogeneous sphere: a parallel spectral element approximation on non-conforming grids. J. Comput. Phys., 187(2):457491, 2003. <br><br>
-
-M. Chen and J. Tromp. Theoretical and numerical investigations of global and regional seismic wave propagation in weakly anisotropic earth models. Geophysical Journal International, 2006. accepted. <br><br>
-
-M. Chen, J. Tromp, D. Helmberger, and H. Kanamori. Waveform modeling of the slab beneath Japan. J. Geophys. Res., 2006.  accepted. <br><br>
-
-F. A. Dahlen and J. Tromp. Theoretical Global Seismology. Princeton University Press, Princeton, 1998. <br><br>
-
-A. M. Dziewonski and D. L. Anderson. Preliminary reference Earth model. Phys. Earth Planet. Inter., 25:297356, 1981. <br><br>
-
-F. Gilbert and A. M. Dziewonski. An application of normal mode theory to the retrieval of structural parameters and source mechanisms from seismic spectra. Philos. Trans. R. Soc. London A, 278:187269, 1975. <br><br>
-
-W. Gropp, E. Lusk, and A. Skjellum. Using MPI, portable parallel programming with the Message-Passing Interface. MIT Press, Cambridge, USA, 1994. <br><br>
-
-B. L. N. Kennett and E. R. Engdahl. Traveltimes for global earthquake location and phase identification. Geophys. J. Int., 105: 429465, 1991. <br><br>
-
-B. L. N. Kennett, E. R. Engdahl, and R. Buland. Constraints on seismic velocities in the Earth from traveltimes. Geophys. J. Int., 122:108124, 1995. <br><br>
-
-D. Komatitsch and J. Tromp. Spectral-element simulations of global seismic wave propagation-I. Validation. Geophys. J. Int., 149 (2):390412, 2002a. doi: 10.1046/j.1365- 246X.2002.01653.x. <br><br>
-
-D. Komatitsch and J. Tromp. Spectral-element simulations of global seismic wave propagation-II. 3-D models, oceans, rotation, and self-gravitation. Geophys. J. Int., 150(1):303318, 2002b. doi: 10.1046/j.1365- 246X.2002.01716.x. <br><br>
-  </td>
-  <td width=20>
-  </td><td valign=top width=240>
-<br><br>
-
-D. Komatitsch and J. Tromp. Introduction to the spectral-element method for 3-D seismic wave propagation. Geophys. J. Int., 139 (3):806822, 1999. doi: 10.1046/j.1365- 246x.1999.00967.x. <br><br>
-
-D. Komatitsch and J. P. Vilotte. The spectral-element method: an efficient tool to simulate the seismic response of 2D and 3D geological structures. Bull. Seismol. Soc. Am., 88(2):368392, 1998. <br><br>
-
-D. Komatitsch, J. Ritsema, and J. Tromp. The spectral-element method, Beowulf computing, and global seismology. Science, 298 (5599):17371742, 2002. doi: 10.1126/science.1076024. <br><br>
-
-D. Komatitsch, S. Tsuboi, C. Ji, and J. Tromp. A 14.6 billion degrees of freedom, 5 teraflops, 2.5 terabyte earthquake simulation on the Earth Simulator. Proceedings of the ACM/IEEE Supercomputing SC2003 conference, 2003. published on CD-ROM and at www.sc-conference.org/sc2003. <br><br>
-
-T. Lay, H. Kanamori, C. Ammon, M. Nettles, S. Ward, R. Aster, S. Beck, B. S.L., M. Brudzinski, R. Butler, H. DeShon, G. Ekstrom, K. Satake, and S. Sipkin. The great Sumatra-Andaman earthquake of 26 December 2004. Science, 3(5725):11271133, 2005. <br><br>
-
-Q. Liu and J. Tromp. Finite-frequency kernels based upon adjoint methods. Bull. Seismol. Soc. Am., 2006a. accepted. <br><br>
-
-Q. Liu and J. Tromp. Finite-frequency sensitivity kernels for global seismic wave propagation based upon adjoint methods. 2006b.  in preparation.  NOAA. National Oceanic and Atmospheric Administration (NOAA) product information catalog - ETOPO5 Earth Topography 5-minute digital model. Technical report, U.S. Department of Commerce, Washington, D.C., 1988. 171 pages. <br><br>
-
-
-P. S. Pacheco. Parallel programming with MPI. Morgan Kaufmann Press, San Francisco, 1997. <br><br>
-
-J. Park, T. Song, J. Tromp, E. Okal, S. Stein, G. Roult, E. Clevede, G. Laske, H. Kanamori, P. Davis, J. Berger, C. Braitenberg, M. Van Camp, X. Lei, H. Sun, H. Xu, and S. Rosat. Earths free oscillations excited by the 26 December 2004 Sumatra-Andaman earthquake. Science, 3(5725):11391144, 2005. <br><br>
-
-J. Ritsema, H. J. Van Heijst, and J. H. Woodhouse. Complex shear velocity structure imaged beneath Africa and Iceland. Science, 286:19251928, 1999. <br><br>
-
-C. Ronchi, R. Ianoco, and P. S. Paolucci. The Cubed Sphere: a new method for the solution of partial differential equations in spherical geometry. J. Comput. Phys., 124:93114, 1996. <br><br>
-
-R. Sadourny. Conservative finite-difference approximations of the primitive equations on quasi-uniform spherical grids. Monthly Weather Review, 100:136144, 1972. <br><br>
-
-B. Savage, D. Wiens, and J. Tromp. Effects of 3D velocity and attenuation in the Tonga-Fiji subduction zone. In Expanded abstracts of the American Geophysical Union, Fall Meeting 2005. abstract T31D-04. <br><br>
-J. Tromp, C. Tape, and Q. Liu. Seismic tomography, adjoint methods, time reversal, and banana-doughnut kernels. Geophys. J.  Int., 160:195216, 2005.  S. Tsuboi, D. Komatitsch, C. Ji, and J. Tromp. Spectral-element simulations of the November 3, 2002, Denali, Alaska earthquake on the Earth Simulator. Phys. Earth Planet. Inter., 139:305313, 2003. <br><br>
-
-D. Zhao, A. Hasegawa, and H. Kanamori. Deep structure of Japan subduction zone as derived from local regional, and teleseismic events. Journal of Geophysical Research-Solid Earth, 99:22,31322,329, 1994.D. Komatitsch and J. P. Vilotte. The spectral-element method: an efficient tool to simulate the seismic response of 2D and 3D geological structures. Bull. Seismol. Soc. Am., 88(2):368392, 1998. <br><br>
-
-  </td><td width=20>
-  </td><td valign=top width=240>
-<br><br>
-
-
-D. Komatitsch, J. Ritsema, and J. Tromp. The spectral-element method, Beowulf computing, and global seismology. Science, 298 (5599):17371742, 2002. doi: 10.1126/science.1076024. <br><br>
-
-D. Komatitsch, S. Tsuboi, C. Ji, and J. Tromp. A 14.6 billion degrees of freedom, 5 teraflops, 2.5 terabyte earthquake simulation on the Earth Simulator. Proceedings of the ACM/IEEE Supercomputing SC2003 conference, 2003. published on CD-ROM and at www.sc-conference.org/sc2003. <br><br>
-
-
-T. Lay, H. Kanamori, C. Ammon, M. Nettles, S. Ward, R. Aster, S. Beck, B. S.L., M. Brudzinski, R. Butler, H. DeShon, G. Ekstrom, K. Satake, and S. Sipkin. The great Sumatra-Andaman earthquake of 26 December 2004. Science, 3(5725):11271133, 2005. <br><br>
-
-Q. Liu and J. Tromp. Finite-frequency kernels based upon adjoint methods. Bull. Seismol. Soc. Am., 2006a. accepted. <br><br>
-
-Q. Liu and J. Tromp. Finite-frequency sensitivity kernels for global seismic wave propagation based upon adjoint methods. 2006b.  in preparation.  NOAA. National Oceanic and Atmospheric Administration (NOAA) product information catalog - ETOPO5 Earth Topography 5-minute digital model. Technical report, U.S. Department of Commerce, Washington, D.C., 1988. 171 pages. <br><br>
-
-P. S. Pacheco. Parallel programming with MPI. Morgan Kaufmann Press, San Francisco, 1997. <br><br>
-
-J. Park, T. Song, J. Tromp, E. Okal, S. Stein, G. Roult, E. Clevede, G. Laske, H. Kanamori, P. Davis, J. Berger, C. Braitenberg, M. Van Camp, X. Lei, H. Sun, H. Xu, and S. Rosat. Earths free oscillations excited by the 26 December 2004 Sumatra-Andaman earthquake. Science, 3(5725):11391144, 2005. <br><br>
-
-J. Ritsema, H. J. Van Heijst, and J. H. Woodhouse. Complex shear velocity structure imaged beneath Africa and Iceland. Science, 286:19251928, 1999. <br><br>
-
-C. Ronchi, R. Ianoco, and P. S. Paolucci. The Cubed Sphere: a new method for the solution of partial differential equations in spherical geometry. J. Comput. Phys., 124:93114, 1996. <br><br>
-
-R. Sadourny. Conservative finite-difference approximations of the primitive equations on quasi-uniform spherical grids. Monthly Weather Review, 100:136144, 1972. <br><br>
-
-B. Savage, D. Wiens, and J. Tromp. Effects of 3D velocity and attenuation in the Tonga-Fiji subduction zone. In Expanded abstracts of the American Geophysical Union, Fall Meeting 2005. abstract T31D-04. <br><br>
-
-J. Tromp, C. Tape, and Q. Liu. Seismic tomography, adjoint methods, time reversal, and banana-doughnut kernels. Geophys. J.  Int., 160:195216, 2005. <br><br>
-
-S. Tsuboi, D. Komatitsch, C. Ji, and J. Tromp. Spectral-element simulations of the November 3, 2002, Denali, Alaska earthquake on the Earth Simulator. Phys. Earth Planet. Inter., 139:305313, 2003. <br><br>
-
-D. Zhao, A. Hasegawa, and H. Kanamori. Deep structure of Japan subduction zone as derived from local regional, and teleseismic events. Journal of Geophysical Research-Solid Earth, 99:22,31322,329, 1994.<br><br>
-	</td></tr></table>
-    </td></tr>
-<! **************************** FOOTER *********************** >
-<tr><td align=center>
-  <br>
-  <a href=/specfem3dglobe/about.html>about specfem3d on-demand</a> | <a href=/specfem3dglobe/science.html>science</a> | <a href=/specfem3dglobe/links.html>links</a>
-</td></tr>
-</table>

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/base.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/base.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/base.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -14,9 +14,16 @@
     </ul>
 </div>
 
-<p><a href="/specfem3dglobe/"><img id=logo src="/specfem3dglobe/pics/specfem3dg_logo.jpg" width=99 height=94></a>
-{% if messages %}<span class=messages>{{ messages|join:" " }}</span>{% endif %}
+<div class=banner>
+    <div id=logos>
+        <a href="http://www.geodynamics.org/"><img id=ciglogo src="/specfem3dglobe/pics/cig-logo_small-initials.gif"></a>
+        <a href="/specfem3dglobe/"><img id=sflogo src="/specfem3dglobe/pics/specfem3dg_logo.jpg" width=99 height=94></a>
+    </div>
+    <h1><span id=sf3dg>SPECFEM&nbsp;3D&nbsp;GLOBE</span> <span id=webportal>Web&nbsp;Portal</span></h1>
+</div>
 
+<div class="messages {% if messages %}active{% endif %}">{% if messages %}{{ messages|join:" " }}{% else %}&nbsp;{% endif %}</div>
+
 {% block desktop %}
 {% endblock %}
 

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/check_all.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/check_all.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/check_all.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -9,3 +9,8 @@
 }
 // end -->
 </script>
+
+<!-- example
+<input type="button" value="Check all" onClick="checkAll(this.form.stations, true)" />
+<input type="button" value="Unheck all" onClick="checkAll(this.form.stations, false)" />
+-->

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/detail.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/detail.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/detail.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,84 +0,0 @@
-
-{% extends "SeismoWebPortal/simulations.html" %}
-
-{% block content %}
-
-{% ifequal sim.mesh.nchunks 6 %}
-<h1>\GLOBAL SIMULATION: {{ sim.name }}</h1>
-{% else %}
-<h1>\REGIONAL SIMULATION: {{ sim.name }}</h1>
-{% endifequal %}
-<br>
-<dir>
-<table class=properties>
-<tr><th class=label>Status </th><td class=list>{{ sim.get_status_display }}</td></tr>
-<tr><th class=label>Created </th><td class=list>{{ sim.created|date }} {{ sim.created|time }}</td></tr>
-<tr><th class=label>Modifed </th><td class=list>{{ sim.modified|date }} {{ sim.modified|time }}</td></tr>
-<tr><th class=label>Started </th><td class=list>{{ sim.started|date }} {{ sim.started|time }}</td></tr>
-<tr><th class=label>Finished </th><td class=list>{{ sim.finished|date }} {{ sim.finished|time }}</td></tr>
-<tr><th class=label>Output </th><td class=list>{% ifequal sim.get_status_display 'done' %}<a href="output.tar.gz">Download</a>{% endifequal %}</td></tr>
-</table>
-<br>
- &nbsp; &nbsp; &nbsp; \ <a href="/specfem3dglobe/simulations/{{ sim.id }}/delete/">delete</a><br>
-<br>
-</dir>
-<table bgcolor=#e9e9e9 border=0><tr><td>
-<table class=properties><tr><th>\{{ sim.name }}\</th></tr></table>
-</td>
-<td colspan=2 bgcolor=#fbfbfe background=/specfem3dglobe/pics/tab.04.long.gif>
-</td>
-</tr>
-<tr><td class=list colspan=3 align=left style="text-align:left"> &nbsp; <label>\SIMULATION TYPE </label>{{ sim.get_simulation_type_display }}</td></tr>
-<tr><td>
-<h2>\Mesh</h2>
-<table class=properties>
-	<tr><th class=label>Number of Chunks </th><td class=list>{{ sim.mesh.nchunks }}</td></tr>
-	<tr><th class=label>Angular Width xi <font class=lowercase>&xi;</font> </th><td class=list>{{ sim.mesh.angular_width_xi }}&deg;</td></tr>
-	<tr><th class=label>Angular Width eta <font class=lowercase>&eta;</font> </th><td class=list>{{ sim.mesh.angular_width_eta }}&deg;</td></tr>
-	<tr><th class=label>Center Latitude </th><td class=list>{{ sim.mesh.center_latitude }}&deg;</td></tr>
-	<tr><th class=label>Center Longitude </th><td class=list>{{ sim.mesh.center_longitude }}&deg;</td></tr>
-	<tr><th class=label>Gamma Rotation Azimuth </th><td class=list>{{ sim.mesh.gamma_rotation_azimuth }}&deg;</td></tr>
-	<tr><th class=label>Nproc eta <font class=lowercase>&eta;</font> </th><td class=list>{{ sim.mesh.nproc_eta }}</td></tr>
-	<tr><th class=label>Nproc xi <font class=lowercase>&xi;</font> </th><td class=list>{{ sim.mesh.nproc_xi }}</td></tr>
-	<tr><th class=label>Nex xi <font class=lowercase>&xi;</font> </th><td class=list>{{ sim.mesh.nex_xi }}</td></tr>
-	<tr><th class=label>Nex eta <font class=lowercase>&eta;</font> </th><td class=list>{{ sim.mesh.nex_eta }}</td></tr>
-</table>
-</td>
-<td width=20> </td>
-<td valign=top>
-<h2>\Model</h2>
-<table class=properties>
-	<tr><th class=label>Type </th><td class=list width=50 style="line-height:99%;">{{ sim.model.get_type_display }}</td></tr>
-	<tr><th class=label>Oceans </th><td class={% ifequal sim.model.oceans False %}false{% else %}true{% endifequal %}>{{ sim.model.oceans }}</td></tr>
-	<tr><th class=label>Ellipticity </th><td class={% ifequal sim.model.ellipticity False %}false{% else %}true{% endifequal %}>{{ sim.model.ellipticity }}</td></tr>
-	<tr><th class=label>Topography </th><td  class={% ifequal sim.model.topography False %}false{% else %}true{% endifequal %}>{{ sim.model.topography }}</td></tr>
-	<tr><th class=label>Gravity </th><td     class={% ifequal sim.model.gravity False %}false{% else %}true{% endifequal %}>{{ sim.model.gravity }}</td></tr>
-	<tr><th class=label>Rotation </th><td    class={% ifequal sim.model.rotation False %}false{% else %}true{% endifequal %}>{{ sim.model.rotation }}</td></tr>
-	<tr><th class=label>Attenuation </th><td class={% ifequal sim.model.attenuation False %}false{% else %}true{% endifequal %}>{{ sim.model.attenuation }}</td></tr>
-</table>
-</td></tr>
-<tr><td valign=top>
-<h2>\Output Format</h2>
-<table class=properties>
-	<tr><th class=label>Record Length </th><td class=list>{{ sim.record_length }}<font class=subtle>mins</font></td></tr>
-	<tr><th class=label>Receiver at depth </th><td class=list>{{ sim.receivers_can_be_buried }}</td></tr>
-	<tr><th class=label>Print Source Time Function </th><td class=list>{{ sim.print_source_time_function }}</td></tr>
-	<tr><th class=label>Save Mesh Files </th><td class=list>{{ sim.mesh.save_files }}</td></tr>
-</table>
-</td>
-<td width=20> </td>
-<td valign=bottom>
-		<h3>\MOVIE</h3>
-		<table class=properties>
-			<tr>
-				<th class=label>Surface </th><td class={% ifequal sim.movie_surface False %}false{% else %}true{% endifequal %}>{{ sim.movie_surface }}</td>
-			</tr><tr>
-				<th class=label>Volume </th><td class={% ifequal sim.movie_volume False %}false{% else %}true{% endifequal %}>{{ sim.movie_volume }}</td>
-			</tr><tr>
-				<th class=label>Timestep </th><td class=list>{{ sim.ntstep_between_frames }}</td>
-			</tr>
-	     </td></tr></table>
-	</tr></td>
-</table>
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/jobs.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/jobs.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/jobs.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,24 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block desktop %}
-
-<div class=taskbar>
-    <ul>
-        <li class=first><a href="/specfem3dglobe/">home</a>
-        <li><a href="/specfem3dglobe/simulations/">simulations</a>
-        <li class=selected><a href="/specfem3dglobe/jobs/">jobs</a>
-        <li><a href="/specfem3dglobe/events/">events</a>
-        <li><a href="/specfem3dglobe/stations/">stations</a>
-        <li><a href="/specfem3dglobe/meshes/">meshes</a>
-        <li><a href="/specfem3dglobe/models/">models</a>
-        <li><a href="/specfem3dglobe/registration/">profile</a>
-    </ul>
-</div>
-
-<h1 class=titlebar>jobs</h1>
-
-{% block content %}
-{% endblock %}
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/list.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/list.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/list.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,20 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block content %}
-
-<h1>\HOME</h1>
-
-<ul>
-
-    <li><a href="mesher/">Mesher</a>
-
-    <li><a href="model/">Model</a>
-
-    <li><a href="solver/">Solver</a>
-
-</ul>
-
-template: {{ template }}, simulation-type: {{ simulation_type }}
-
-{% endblock %}

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_form_3chunks.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_form_3chunks.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_form_3chunks.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -26,7 +26,7 @@
         <label for="id_nproc" class=before>Nproc</label>
         {{ form.nproc }}
         {% if form.nproc.errors %}<span class=error>{{ form.nproc.errors|join:", " }}</span>{% endif %}
-        {% if help_visible %}<span class=help>The number of processors or mesh slices along each side of the chunks. To accommodate the mesh doubling layers, we must have Nex = 16 &times; c &times; Nproc, where c >= 1 is a positive integer.</span>{% endif %}
+        {% if help_visible %}<span class=help>The number of processors or mesh slices along each side of the chunks. To accommodate the mesh doubling layers, we must have Nex = 8 &times; c &times; Nproc, where c >= 1 is a positive integer.</span>{% endif %}
     </div>
     <p>Total number of required processors:
        Nchunks &times; Nproc<span style="vertical-align: super">2</span> =
@@ -37,13 +37,13 @@
     {% block mesh_nex %}
 
     <p>Number of spectral elements per chunk at earth's surface:
-    <p>Nex = 16 &times; {{ form.nex_c }} &times; Nproc
+    <p>Nex = 8 &times; {{ form.nex_c }} &times; Nproc
     <span class="scripted">= <input name="nex" class="computed" readonly value="?" size="3"></span>
     {% if form.nex.errors %}<span class=error>{{ form.nex.errors|join:", " }}</span>{% endif %}
 
     {% if help_visible %}
     <dl class=help>
-        <dt>Nex</dt><dd><p>The number of spectral elements along each side of the chunks. This number must be 16 &times; a multiple of Nproc defined above. We do not recommend using Nex less than 64 because the curvature of the Earth cannot be honored if one uses too few elements, which results in inaccurate and unstable  simulations.</p></dd>
+        <dt>Nex</dt><dd><p>The number of spectral elements along each side of the chunks. This number must be 8 &times; a multiple of Nproc defined above. We do not recommend using Nex less than 64 because the curvature of the Earth cannot be honored if one uses too few elements, which results in inaccurate and unstable  simulations.</p></dd>
     </dl>
     {% endif %}
 

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_form_base.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_form_base.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_form_base.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -86,13 +86,13 @@
         <label for="id_nproc_xi" class=before>Nproc <span class=greek>&xi;</span></label>
         {{ form.nproc_xi }}
         {% if form.nproc_xi.errors %}<span class=error>{{ form.nproc_xi.errors|join:", " }}</span>{% endif %}
-        {% if help_visible %}<span class=help>The number of processors or mesh slices along the <span class=greek>&xi;</span> side of the chunk. To accommodate the mesh doubling layers, we must have Nex <span class=greek>&xi;</span> = 16 &times; c &times; Nproc <span class=greek>&xi;</span>, where c >= 1 is a positive integer.</span>{% endif %}
+        {% if help_visible %}<span class=help>The number of processors or mesh slices along the <span class=greek>&xi;</span> side of the chunk. To accommodate the mesh doubling layers, we must have Nex <span class=greek>&xi;</span> = 8 &times; c &times; Nproc <span class=greek>&xi;</span>, where c >= 1 is a positive integer.</span>{% endif %}
     </div>
     <div>
         <label for="id_nproc_eta" class=before>Nproc <span class=greek>&eta;</span></label>
         {{ form.nproc_eta }}
         {% if form.nproc_eta.errors %}<span class=error>{{ form.nproc_eta.errors|join:", " }}</span>{% endif %}
-        {% if help_visible %}<span class=help>The number of processors or slices along the <span class=greek>&eta;</span> side of the chunk; we must have Nex <span class=greek>&eta;</span> = 16 &times; c &times; Nproc <span class=greek>&eta;</span>, where c >= 1 is a positive integer.</span>{% endif %}
+        {% if help_visible %}<span class=help>The number of processors or slices along the <span class=greek>&eta;</span> side of the chunk; we must have Nex <span class=greek>&eta;</span> = 8 &times; c &times; Nproc <span class=greek>&eta;</span>, where c >= 1 is a positive integer.</span>{% endif %}
     </div>
 
     <p>Total number of required processors:
@@ -111,18 +111,18 @@
 
     <p>Number of spectral elements per chunk at earth's surface:
 
-    <p>Nex <span class=greek>&xi;</span> = 16 &times; {{ form.nex_xi_c }} &times; Nproc <span class=greek>&xi;</span>
+    <p>Nex <span class=greek>&xi;</span> = 8 &times; {{ form.nex_xi_c }} &times; Nproc <span class=greek>&xi;</span>
     <span class="scripted">= <input name="nex_xi" class="computed" readonly value="?" size="3"></span>
     {% if form.nex_xi.errors %}<span class=error>{{ form.nex_xi.errors|join:", " }}</span>{% endif %}
-    <p>Nex <span class=greek>&eta;</span> = 16 &times; {{ form.nex_eta_c }} &times; Nproc <span class=greek>&eta;</span>
+    <p>Nex <span class=greek>&eta;</span> = 8 &times; {{ form.nex_eta_c }} &times; Nproc <span class=greek>&eta;</span>
     <span class="scripted">= <input name="nex_eta" class="computed" readonly value="?" size="3"></span>
     {% if form.nex_eta.errors %}<span class=error>{{ form.nex_eta.errors|join:", " }}</span>{% endif %}
 
     {% if help_visible %}
     <dl class=help>
-        <dt>Nex <span class=greek>&xi;</span></dt><dd><p>The number of spectral elements along the <span class=greek>&xi;</span> side of the chunk. This number must be 16 &times; a multiple of Nproc <span class=greek>&xi;</span> defined above. For a 90&deg; chunk, we do not recommend using Nex <span class=greek>&xi;</span> less than 64 because the curvature of the Earth cannot be honored if one uses too few elements, which results in inaccurate and unstable  simulations.</p></dd>
+        <dt>Nex <span class=greek>&xi;</span></dt><dd><p>The number of spectral elements along the <span class=greek>&xi;</span> side of the chunk. This number must be 8 &times; a multiple of Nproc <span class=greek>&xi;</span> defined above. For a 90&deg; chunk, we do not recommend using Nex <span class=greek>&xi;</span> less than 64 because the curvature of the Earth cannot be honored if one uses too few elements, which results in inaccurate and unstable  simulations.</p></dd>
 
-        <dt>Nex <span class=greek>&eta;</span></dt><dd><p>The number of spectral elements along the <span class=greek>&eta;</span> side of the chunk. This number must be 16 &times; a multiple of Nproc <span class=greek>&eta;</span> defined above. Note that in order to get elements that are close to square on the Earth's surface, the following ratios should be similar:</p><blockquote> <div class=formula>angular width <span class=greek>&xi;</span> / Nex <span class=greek>&xi;</span></div> <div class=formula>angular width <span class=greek>&eta;</span> / Nproc <span class=greek>&eta;</span></div> </blockquote><p>Because of the geometry of the cubed sphere, the option of having different values for Nex <span class=greek>&xi;</span> and Nex <span class=greek>&eta;</span> is available only for regional simulations when nchunks = 1 (1/6th of the sphere).</p></dd>
+        <dt>Nex <span class=greek>&eta;</span></dt><dd><p>The number of spectral elements along the <span class=greek>&eta;</span> side of the chunk. This number must be 8 &times; a multiple of Nproc <span class=greek>&eta;</span> defined above. Note that in order to get elements that are close to square on the Earth's surface, the following ratios should be similar:</p><blockquote> <div class=formula>angular width <span class=greek>&xi;</span> / Nex <span class=greek>&xi;</span></div> <div class=formula>angular width <span class=greek>&eta;</span> / Nproc <span class=greek>&eta;</span></div> </blockquote><p>Because of the geometry of the cubed sphere, the option of having different values for Nex <span class=greek>&xi;</span> and Nex <span class=greek>&eta;</span> is available only for regional simulations when nchunks = 1 (1/6th of the sphere).</p></dd>
     </dl>
     {% endif %}
 

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_info.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_info.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mesh_info.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,33 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<link href="/specfem3dglobe/css/main.css" type="text/css" rel="stylesheet" media="all" />
-<head>
-    <title>{% block title %}ondemand geodynamics:: Specfem3DGlobe{% endblock %}</title>
-</head>
-
-<body class=info>
-
-<h1>\MESH</h1>
-<br>
-
-<h2> \NUMBER OF CHUNCKS</h2>:  Must be set to 1, or 2 for regional simulations<br><br>
-
-<h2> \ANGULAR WIDTH &xi; (XI) IN DEGREES</h2>:  Denotes the width of one side of the chunk in degrees.<br><br>
-
-<h2> \ANGULAR WIDTH &eta; (ETA) IN DEGREES</h2>:  Denotes the width of the second side of the chunk in degrees.  Note that this value may be different from ANGULAR WIDTH XI IN DEGREES.<br><br>
-
-<h2> \CENTER LATITUDE IN DEGREES</h2>:  Denotes the latitude of the center of the chunk in degrees.  <br><br>
-
-<h2> \CENTER LONGITUDE IN DEGREES</h2>:  Denotes the longitude of the center of the chunk in degrees.<br><br>
-
-<h2> \&gamma (GAMMA) ROTATION AZIMUTH</h2>:  Denotes the rotation angle of the chunk about its center measured clockwise from due North in degrees.  <br><br>
-
-<h2> \NEX &xi; (XI)</h2>:  The number of spectral elements along the ;xi; side of the chunk.  This number must be 16 * a multiple of NPROC &xi; defined below.  For a 90 chunk, we do not recommend using NEX &xi; less than 64 because the curvature of the Earth cannot be honored if one uses too few elements, which results in inaccurate and unstable simulations.<br><br>
-
-<h2> \NEX &eta; (ETA)</h2>:  The number of spectral elements along the &eta; side of the chunk.  This number must be 16 * a multiple of NPROC &eta; defined below.  Note that to get elements that are close to square on the Earth's surface the ratios (ANGULAR_WIDTH_&xi;_IN_DEGREES / NEX &xi;) and (ANGULAR_WIDTH_&eta;_IN_DEGREES / NEX &eta;) should be similar. <br><br>
-
-<h2> \NPROC &xi; (XI)</h2>:  The number of processors or mesh slices along the &xi; side of the chunk.  To accommodate the mesh doubling layers, we must have NEX &xi; = 16 * c * NPROC &xi;, where c &gt;= 1 is a positive integer. <br><br>
-
-<h2> \NPROC &eta; (ETA)</h2>:  The number of processors or slices along the &eta; side of the chunk; we must have NEX &eta; = 16 * c * NPROC &eta; , where c &gt;= 1 is a positive integer. NPROC &xi; and NPROC &eta; must be equal when NCHUNKS = 6 or NCHUNKS = 3. The option of having different values for NPROC &xi; and NPROC &eta; is available only for regional simulations when NCHUNKS = 1 (1/6th of the sphere) or NCHUNKS = 2. <br><br>
-
-</body>
-</html>

Copied: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mineos_parameters.pml (from rev 11146, seismo/3D/SeismoWebPortal/branches/cig-spice-iris-2007/SeismoWebPortal/templates/SeismoWebPortal/mineos_parameters.pml)
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mineos_parameters.pml	                        (rev 0)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/mineos_parameters.pml	2008-05-01 00:24:01 UTC (rev 11877)
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE inventory>
+
+<inventory>
+
+    <component name="mineos">
+
+        <!-- input files (fixed) -->
+        <property name="event">event.txt</property>
+        <property name="stations">stations</property>
+
+        <!-- common -->
+        <property name="radial">{{ simulation.radial }}</property>
+        <property name="toroidal">{{ simulation.toroidal }}</property>
+        <property name="spheroidal">{{ simulation.spheroidal }}</property>
+        <property name="inner-core-toroidal">{{ simulation.ictoroidal }}</property>
+
+        <!-- minos_bran -->
+        <property name="eps">{{ simulation.eps }}</property>
+        <property name="wgrav">{{ simulation.wgrav }}*milli*hertz</property>
+        <property name="lmin">{{ simulation.lmin }}</property>
+        <property name="lmax">{{ simulation.lmax }}</property>
+        <property name="wmin">{{ simulation.wmin }}*milli*hertz</property>
+        <property name="wmax">{{ simulation.wmax }}*milli*hertz</property>
+        <property name="nmin">{{ simulation.nmin }}</property>
+        <property name="nmax">{{ simulation.nmax }}</property>
+
+        <!-- eigcon -->
+        <property name="max-depth">{{ simulation.max_depth }}*km</property>
+
+        <!-- green -->
+        <property name="fmin">{{ simulation.fmin }}*milli*hertz</property>
+        <property name="fmax">{{ simulation.fmax }}*milli*hertz</property>
+        <property name="nsamples">{{ simulation.nsamples }}</property>
+
+    </component>
+
+</inventory>
+
+<!-- Generated automatically by the Specfem Web Portal on {% now "F jS, Y \a\t H:i" %} -->
+
+<!-- end of file -->

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/model_form.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/model_form.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/model_form.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -42,20 +42,16 @@
 
         {% if help_visible %}
         <dl class=help>
-            <dt>isotropic PREM</dt><dd>Isotropic version of the spherically symmetric Preliminary Reference Earth Model (PREM) [Dziewonski and Anderson, 1981].</dd>
 
-            <dt>transversely isotropic PREM</dt><dd>Transversely isotropic version of PREM.</dd>
+            <dt>crust2.0+prem</dt><dd>This model has CRUST2.0 [Bassin et al., 2000] on top of a transversely isotropic PREM. We first extrapolate PREM mantle velocity up to the surface, then overwrite the model with CRUST2.0.</dd>
 
-            <dt>1066a</dt><dd>Spherically symmetric earth model 1066A [Gilbert and Dziewonski, 1975]. When 'attenuation' is on, it uses an unpublished 1D attenuation model from Scripps.</dd>
+            <dt>s20rts</dt><dd>By default, the code uses 3D mantle model S20RTS [Ritsema et al., 1999] and 3D crustal model Crust2.0 [Bassin et al., 2000]. Note that S20RTS uses transversely isotropic PREM as a background model, and that we use the PREM radial attenuation model when 'attenuation' is selected.</dd>
 
-            <dt>iasp91</dt><dd>Spherically symmetric isotropic IASP91 model [Kennett and Engdahl, 1991].</dd>
+            <dt>s362ani</dt><dd>A global shear-wave speed model developed by Kustowski et al. [2006]. In this model, radial anisotropy is confined to the uppermost mantle. The model (and the corresponding mesh) incorporate tomography on the 650~km and 410~km discontinuities in the 1D reference model REF.</dd>
 
-            <dt>ak135</dt><dd>Spherically symmetric isotropic AK135 model [Kennett et al., 1995].</dd>
-
-            <dt>s20rts</dt><dd>By default, the code uses 3D mantle model S20RTS [Ritsema et al., 1999] and 3D crustal model CRUST2.0 [Bassin et al., 2000]. Note that S20RTS uses transversely isotropic PREM as a background model, and that we use the PREM radial attenuation model when 'attenuation' is incorporated.</dd>
-
-            <dt>crust2.0+PREM</dt><dd>This model has CRUST2.0 [Bassin et al., 2000] on top of a transversely isotropic PREM. We first extrapolate PREM mantle velocity up to the surface, then overwrite the model with CRUST2.0.</dd>
-
+            <dt>s362wmani</dt><dd>A version of S362ANI with anisotropy allowed throughout the mantle.</dd>
+            <dt>s362ani+prem</dt><dd>A version of S362ANI calculated using PREM as the 1D reference model.</dd>
+            <dt>s29ea</dt><dd>A global model with higher resolution in the upper mantle beneath Eurasia calculated using REF as the 1D reference model.</dd>
         </dl>
         {% endif %}
 

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/model_info.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/model_info.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/model_info.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,38 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<link href="/specfem3dglobe/css/main.css" type="text/css" rel="stylesheet" media="all" />
-<head>
-    <title>{% block title %}ondemand geodynamics:: Specfem3DGlobe{% endblock %}</title>
-</head>
-
-<body class=info>
-<h1>\MODEL</h1>
-<br>
-<h2>\ISOTROPIC_PREM</h2>:  Isotropic version of the spherically symmetric Preliminary Reference Earth Model (PREM) [Dziewonski and Anderson, 1981].<br><br>
-
-<h2>\TRANSVERSELY ISOTROPIC PREM</h2>:  Transversely isotropic version of PREM.<br><br>
-
-<table><tr><td>
-<h2>\3D TRANSVERSELY ISOTROPIC</h2>:  3D mantle model S20RTS [Ritsema et al., 1999] and 3D crustal model Crust2.0 [Bassin et al., 2000].  Note that S20RTS uses transversely isotropic PREM as a background model, and that we use the PREM radial attenuation model when attenuation is incorporated.<br><br></td>
-<td width=140 align=center><img src="/specfem3dglobe/pics/ritsema_dvs_mntlmdl.gif"></td></tr></table>
-
-<h2>\OCEAN</h2>:  Turn this option on to incorporate the effect of the oceans on seismic wave propagation [Komatitsch and Tromp, 2002b].<br><br>
-
-<table><tr>
-<td width=150 align=left><img src="/specfem3dglobe/pics/ellipticity_mesh.gif"></td>
-<td><h2>\ELLIPTICITY</h2>: Turn this option on to make the Earth model elliptical in shape according to Clairaut's equation [Dahlen and Tromp, 1998].<br><br></td>
-</tr></table>
-
-<table><tr><td>
-<h2>\TOPOGRAPHY</h2>
-: Turn this option on to incorporate the topography and bathymetry based upon model ETOPO5 [NOAA, 1988].<br><br></td>
-<td width=140 align=center>
-<img src="/specfem3dglobe/pics/topography_earth_mesh.gif"></td></tr></table>
-
-<h2>\GRAVITY</h2>: Turn this option on to incorporate the self-gravitation in the Cowling approximation [Komatitsch and Tromp, 2002b, Dahlen and Tromp, 1998].<br><br> 
-
-<h2>\ROTATION</h2>: Turn this option on to incorporate the Coriolis effect. <br><br>
-
-<h2>\ATTENUATION</h2>: Turn this option on to incorporate the attenuation. <br><br>
-
-</body>
-</html>

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/movie_info.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/movie_info.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/movie_info.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,15 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<link href="/specfem3dglobe/css/main.css" type="text/css" rel="stylesheet" media="all" />
-<head>
-    <title>{% block title %}ondemand geodynamics:: Specfem3DGlobe{% endblock %}</title>
-</head>
-
-<body class=info>
-<h1>\MOVIE</h1>
-<br>
-<h2>MOVIE SURFACE</h2>: Turn this option on to create a movie of seismic wave propagation on the Earth's surface.<br><br>
- 
-<h2>MOVIE VOLUME</h2>: Turn this option on to create a movie of seismic wave propagation in the Earth's interior.<br><br>
-
-</body>
-</html>

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/output_format_info.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/output_format_info.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/output_format_info.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,15 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<link href="/specfem3dglobe/css/main.css" type="text/css" rel="stylesheet" media="all" />
-<head>
-    <title>{% block title %}ondemand geodynamics:: Specfem3DGlobe{% endblock %}</title>
-</head>
-
-<body class=info>
-<h1>\OUTPUT FORMAT</h1>
-<br>
-<h2>RECORD LENGTH</h2>:  The desired record length of the synthetic seismograms (in minutes).  This controls the length of the numerical simulation, i.e., twice the record length requires twice as much CPU time.<br><br>
-
-<h2>RECEIVERS AT DEPTH</h2>: Turn this option on to accommodate stations with instruments that are buried, i.e., the solver will calculate seismograms at the burial depth specifed in the STATIONS file. <br><br>
-
-</body>
-</html>

Copied: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/par_file.txt (from rev 11146, seismo/3D/SeismoWebPortal/branches/cig-spice-iris-2007/SeismoWebPortal/templates/SeismoWebPortal/par_file.txt)
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/par_file.txt	                        (rev 0)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/par_file.txt	2008-05-01 00:24:01 UTC (rev 11877)
@@ -0,0 +1,112 @@
+
+# forward or adjoint simulation
+SIMULATION_TYPE                 = {{ simulation.simulation_type }}
+SAVE_FORWARD                    = .{{ simulation.save_forward }}.  # save last frame of forward simulation or not
+
+# number of chunks (1,2,3 or 6)
+NCHUNKS                         = {{ simulation.mesh.nchunks }}
+
+# angular width of the first chunk (not used if full sphere with six chunks)
+ANGULAR_WIDTH_XI_IN_DEGREES   = {{ simulation.mesh.angular_width_xi|stringformat:".1f" }}      # angular size of a chunk
+ANGULAR_WIDTH_ETA_IN_DEGREES  = {{ simulation.mesh.angular_width_eta|stringformat:".1f" }}
+CENTER_LATITUDE_IN_DEGREES    = {{ simulation.mesh.center_latitude|stringformat:".1f" }}
+CENTER_LONGITUDE_IN_DEGREES   = {{ simulation.mesh.center_longitude|stringformat:".1f" }}
+GAMMA_ROTATION_AZIMUTH        = {{ simulation.mesh.gamma_rotation_azimuth|stringformat:".1f" }}
+
+# number of elements at the surface along the two sides of the first chunk
+# (must be multiple of 16 and 8 * multiple of NPROC below)
+NEX_XI                          = {{ simulation.mesh.nex_xi }}
+NEX_ETA                         = {{ simulation.mesh.nex_eta }}
+
+# number of MPI processors along the two sides of the first chunk
+NPROC_XI                        = {{ simulation.mesh.nproc_xi }}
+NPROC_ETA                       = {{ simulation.mesh.nproc_eta }}
+
+# 1D models with real structure:
+# 1D_isotropic_prem, 1D_transversely_isotropic_prem, 1D_iasp91, 1D_1066a, 1D_ak135, 1D_ref, 1D_ref_iso
+#
+# 1D models with only one fictitious averaged crustal layer:
+# 1D_isotropic_prem_onecrust, 1D_transversely_isotropic_prem_onecrust, 1D_iasp91_onecrust, 1D_1066a_onecrust, 1D_ak135_onecrust
+#
+# fully 3D models:
+# transversely_isotropic_prem_plus_3D_crust_2.0, 3D_anisotropic, 3D_attenuation,
+# s20rts, s362ani, s362iso, s362wmani, s362ani_prem, s29ea
+MODEL                           = {{ simulation.model.get_type_id }}
+
+# parameters describing the Earth model
+OCEANS                          = .{{ simulation.model.oceans }}.
+ELLIPTICITY                     = .{{ simulation.model.ellipticity }}.
+TOPOGRAPHY                      = .{{ simulation.model.topography }}.
+GRAVITY                         = .{{ simulation.model.gravity }}.
+ROTATION                        = .{{ simulation.model.rotation }}.
+ATTENUATION                     = .{{ simulation.model.attenuation }}.
+
+# absorbing boundary conditions for a regional simulation
+ABSORBING_CONDITIONS            = .{{ simulation.auto_absorbing_conditions }}.
+
+# record length in minutes
+RECORD_LENGTH_IN_MINUTES        = {{ simulation.record_length|stringformat:".1f" }}
+
+# save AVS or OpenDX movies
+MOVIE_SURFACE                   = .{{ simulation.movie_surface }}.
+MOVIE_VOLUME                    = .{{ simulation.movie_volume }}.
+NTSTEP_BETWEEN_FRAMES           = {{ simulation.ntstep_between_frames }}
+HDUR_MOVIE                      = {{ simulation.hdur_movie|stringformat:".1f" }}
+
+# save movie in volume.  Will save element if center of element is in prescribed volume
+# top/bottom: depth in KM, use MOVIE_TOP = -100 to make sure the surface is stored.
+# west/east: longitude, degrees East [-180/180] top/bottom: latitute, degrees North [-90/90]
+# start/stop: frames will be stored at MOVIE_START + i*NSTEP_BETWEEN_FRAMES, where i=(0,1,2..) and iNSTEP_BETWEEN_FRAMES <= MOVIE_STOP
+# movie_volume_type: 1=strain, 2=time integral of strain, 3=\mu*time integral of strain
+# type 4 saves the trace and deviatoric stress in the whole volume, 5=displacement, 6=velocity
+#MOVIE_VOLUME_COARSE saves movie only at corners of elements
+MOVIE_VOLUME_TYPE               = 2
+MOVIE_VOLUME_COARSE             = .true.
+MOVIE_TOP_KM                    = -100.0
+MOVIE_BOTTOM_KM                 = 1000.0
+MOVIE_WEST_DEG                  = -90.0
+MOVIE_EAST_DEG                  = 90.0
+MOVIE_NORTH_DEG                 = 90.0
+MOVIE_SOUTH_DEG                 = -90.0
+MOVIE_START                     = 0
+MOVIE_STOP                      = 40000
+
+# save mesh files to check the mesh
+SAVE_MESH_FILES                 = .{{ simulation.mesh.save_files }}.
+
+# restart files (number of runs can be 1, 2 or 3, choose 1 for no restart files)
+NUMBER_OF_RUNS                  = 1
+NUMBER_OF_THIS_RUN              = 1
+
+# path to store the local database files on each node
+LOCAL_PATH                      = /scratch/
+
+# interval at which we output time step info and max of norm of displacement
+NTSTEP_BETWEEN_OUTPUT_INFO      = {{ simulation.ntstep_between_output_info }}
+
+# interval in time steps for temporary writing of seismograms
+NTSTEP_BETWEEN_OUTPUT_SEISMOS   = {{ simulation.ntstep_between_output_seismos }}
+NTSTEP_BETWEEN_READ_ADJSRC      = 1000
+
+# output format for the seismograms (one can use either or all of the three formats)
+OUTPUT_SEISMOS_ASCII_TEXT       = .true.
+OUTPUT_SEISMOS_SAC_ALPHANUM     = .false.
+OUTPUT_SEISMOS_SAC_BINARY       = .true.
+
+# rotate seismograms to Radial-Transverse-Z or use default North-East-Z reference frame
+ROTATE_SEISMOGRAMS_RT           = .false.
+
+# decide if master process writes all the seismograms or if all processes do it in parallel
+WRITE_SEISMOGRAMS_BY_MASTER     = .true.
+
+# save all seismograms in one large combined file instead of one file per seismogram
+# to avoid overloading shared non-local file systems such as GPFS for instance
+SAVE_ALL_SEISMOS_IN_ONE_FILE    = .false.
+USE_BINARY_FOR_LARGE_FILE       = .false.
+
+# flag to impose receivers at the surface or allow them to be buried
+RECEIVERS_CAN_BE_BURIED         = .{{ simulation.receivers_can_be_buried }}.
+
+# print source time function
+PRINT_SOURCE_TIME_FUNCTION      = .{{ simulation.print_source_time_function }}.
+

Copied: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/parameters.pml (from rev 11146, seismo/3D/SeismoWebPortal/branches/cig-spice-iris-2007/SeismoWebPortal/templates/SeismoWebPortal/parameters.pml)
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/parameters.pml	                        (rev 0)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/parameters.pml	2008-05-01 00:24:01 UTC (rev 11877)
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE inventory>
+
+<inventory>
+
+    <component name="Specfem3DGlobe">
+        <facility name="model">{{ simulation.model.get_type_id }}</facility>
+
+        <component name="solver">
+            <property name="simulation-type">{{ simulation.get_simulation_type_id }}</property>
+            <property name="save-forward">{{ simulation.save_forward }}</property>
+            <property name="record-length">{{ simulation.record_length }}*minute</property>
+            <property name="absorbing-conditions">{{ simulation.auto_absorbing_conditions }}</property>
+            <property name="movie-surface">{{ simulation.movie_surface }}</property>
+            <property name="movie-volume">{{ simulation.movie_volume }}</property>
+            <property name="ntstep-between-frames">{{ simulation.ntstep_between_frames }}</property>
+            <property name="hdur-movie">{{ simulation.hdur_movie }}</property>
+            <property name="number-of-runs">1</property>
+            <property name="number-of-this-run">1</property>
+            <property name="ntstep-between-output-info">{{ simulation.ntstep_between_output_info }}</property>
+            <property name="ntstep-between-output-seismos">{{ simulation.ntstep_between_output_seismos }}</property>
+            <property name="receivers-can-be-buried">{{ simulation.receivers_can_be_buried }}</property>
+            <property name="print-source-time-function">{{ simulation.print_source_time_function }}</property>
+        </component>
+
+
+        <component name="mesher">
+            <property name="nchunks">{{ simulation.mesh.nchunks }}</property>
+            <property name="angular-width-xi">{{ simulation.mesh.angular_width_xi }}*deg</property>
+            <property name="angular-width-eta">{{ simulation.mesh.angular_width_eta }}*deg</property>
+            <property name="center-latitude">{{ simulation.mesh.center_latitude }}*deg</property>
+            <property name="center-longitude">{{ simulation.mesh.center_longitude }}*deg</property>
+            <property name="gamma-rotation-azimuth">{{ simulation.mesh.gamma_rotation_azimuth }}*deg</property>
+            <property name="nex-xi">{{ simulation.mesh.nex_xi }}</property>
+            <property name="nex-eta">{{ simulation.mesh.nex_eta }}</property>
+            <property name="nproc-xi">{{ simulation.mesh.nproc_xi }}</property>
+            <property name="nproc-eta">{{ simulation.mesh.nproc_eta }}</property>
+            <property name="save-files">{{ simulation.mesh.save_files }}</property>
+        </component>
+
+
+        <component name="model">
+            <property name="oceans">{{ simulation.model.oceans }}</property>
+            <property name="ellipticity">{{ simulation.model.ellipticity }}</property>
+            <property name="topography">{{ simulation.model.topography }}</property>
+            <property name="gravity">{{ simulation.model.gravity }}</property>
+            <property name="rotation">{{ simulation.model.rotation }}</property>
+            <property name="attenuation">{{ simulation.model.attenuation }}</property>
+        </component>
+
+    </component>
+
+</inventory>
+
+<!-- Generated automatically by the Specfem Web Portal on {% now "F jS, Y \a\t H:i" %} -->
+
+<!-- end of file -->

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/register.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/register.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/register.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -7,6 +7,11 @@
 
 <h1 class=titlebar>new user registration</h1>
 
+<p>To create a new account, simply fill-out the form below.
+
+<p>If you've registered before, but have simply forgotten your username and/or password, try <a href="/specfem3dglobe/pwreset/">resetting your password</a>.
+   If you need help, <a href="mailto:portal at geodynamics.org">contact us</a>.
+
 {% include "SeismoWebPortal/registration_form.html" %}
 
 <div class=illustration id=usermap>

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/registration_form.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/registration_form.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/registration_form.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,9 +1,4 @@
 
-<p>To create a new account, simply fill-out the form below.
-
-<p>If you've registered before, but have simply forgotten your username and/or password, try <a href="/specfem3dglobe/pwreset/">resetting your password</a>.
-   If you need help, <a href="mailto:portal at geodynamics.org">contact us</a>.
-
 {% if form.has_errors %}
 <p><span class=error>Please correct the following error{{ form.error_dict|pluralize }}.</span>
 {% endif %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/run_list.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/run_list.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/run_list.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,31 +0,0 @@
-
-{% extends "SeismoWebPortal/runs.html" %}
-
-{% block content %}
-
-{% if object_list %}
-    <table rules=groups>
-        
-        <colgroup><col class=odd><col class=even><col class=odd><col class=even></colgroup>
-
-        <thead>
-        <tr><th>name</th><th>status</th><th>started</th><th>finished</th></tr>
-        </thead>
-        
-        <tbody>
-        {% for object in object_list %}
-        <tr{% ifequal object.id new %} class=new{% endifequal %}>
-            <th><a href="/specfem3dglobe/runs/{{ object.id }}/">{{ object }}</a></th>
-            <td>{{ object.status }}</td>
-            <td>{{ object.started|date }} {{ object.started|time }}</td>
-            <td>{{ object.finshed|date }} {{ object.finished|time }}</td>
-        </tr>
-        {% endfor %}
-        </tbody>
-
-    </table>
-{% else %}
-    <p>You have no runs.
-{% endif %}
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/runs.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/runs.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/runs.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,24 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block desktop %}
-
-<div class=taskbar>
-    <ul>
-        <li class=first><a href="/specfem3dglobe/">home</a>
-        <li><a href="/specfem3dglobe/simulations/">simulations</a>
-        <li class=selected><a href="/specfem3dglobe/runs/">runs</a>
-        <li><a href="/specfem3dglobe/events/">events</a>
-        <li><a href="/specfem3dglobe/stations/">stations</a>
-        <li><a href="/specfem3dglobe/meshes/">meshes</a>
-        <li><a href="/specfem3dglobe/models/">models</a>
-        <li><a href="/specfem3dglobe/registration/">profile</a>
-    </ul>
-</div>
-
-<h1 class=titlebar>runs</h1>
-
-{% block content %}
-{% endblock %}
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation.pml
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation.pml	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation.pml	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE inventory>
-
-<inventory>
-
-    <component name="Specfem3DGlobe">
-        <facility name="model">{{ simulation.model.get_type_id }}</facility>
-
-        <component name="solver">
-            <property name="simulation-type">{{ simulation.get_simulation_type_id }}</property>
-            <property name="save-forward">{{ simulation.save_forward }}</property>
-            <property name="record-length">{{ simulation.record_length }}*minute</property>
-            <property name="absorbing-conditions">{{ simulation.auto_absorbing_conditions }}</property>
-            <property name="movie-surface">{{ simulation.movie_surface }}</property>
-            <property name="movie-volume">{{ simulation.movie_volume }}</property>
-            <property name="ntstep-between-frames">{{ simulation.ntstep_between_frames }}</property>
-            <property name="hdur-movie">{{ simulation.hdur_movie }}</property>
-            <property name="number-of-runs">1</property>
-            <property name="number-of-this-run">1</property>
-            <property name="ntstep-between-output-info">{{ simulation.ntstep_between_output_info }}</property>
-            <property name="ntstep-between-output-seismos">{{ simulation.ntstep_between_output_seismos }}</property>
-            <property name="receivers-can-be-buried">{{ simulation.receivers_can_be_buried }}</property>
-            <property name="print-source-time-function">{{ simulation.print_source_time_function }}</property>
-        </component>
-
-
-        <component name="mesher">
-            <property name="nchunks">{{ simulation.mesh.nchunks }}</property>
-            <property name="angular-width-xi">{{ simulation.mesh.angular_width_xi }}*deg</property>
-            <property name="angular-width-eta">{{ simulation.mesh.angular_width_eta }}*deg</property>
-            <property name="center-latitude">{{ simulation.mesh.center_latitude }}*deg</property>
-            <property name="center-longitude">{{ simulation.mesh.center_longitude }}*deg</property>
-            <property name="gamma-rotation-azimuth">{{ simulation.mesh.gamma_rotation_azimuth }}*deg</property>
-            <property name="nex-xi">{{ simulation.mesh.nex_xi }}</property>
-            <property name="nex-eta">{{ simulation.mesh.nex_eta }}</property>
-            <property name="nproc-xi">{{ simulation.mesh.nproc_xi }}</property>
-            <property name="nproc-eta">{{ simulation.mesh.nproc_eta }}</property>
-            <property name="save-files">{{ simulation.mesh.save_files }}</property>
-        </component>
-
-
-        <component name="model">
-            <property name="oceans">{{ simulation.model.oceans }}</property>
-            <property name="ellipticity">{{ simulation.model.ellipticity }}</property>
-            <property name="topography">{{ simulation.model.topography }}</property>
-            <property name="gravity">{{ simulation.model.gravity }}</property>
-            <property name="rotation">{{ simulation.model.rotation }}</property>
-            <property name="attenuation">{{ simulation.model.attenuation }}</property>
-        </component>
-
-    </component>
-
-</inventory>
-
-<!-- Generated automatically by the Specfem Web Portal on {% now "F jS, Y \a\t H:i" %} -->
-
-<!-- end of file -->

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_base.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_base.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_base.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,256 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block content %}
-
-<h1>\{% block heading %}REGIONAL SIMULATION{% endblock %}</h1>
-
-{% if form.has_errors %}
-<b class=error>Please correct the following error{{ form.error_dict|pluralize }}:</b>
-<!-- for debugging
-<ul>
-    {% for e in form.error_dict.iteritems %}
-    <li>Field "{{ e.0 }}": {{ e.1|join:", " }}</li>
-    {% endfor %}
-</ul>
--->
-{% else %}
-&nbsp;
-{% endif %}
-
-<form name="simulation_form" action="." method="POST">
-
-    <!-- hidden fields -->
-    {{ form.mesh__user }}
-    {{ form.mesh__nchunks }}
-    {{ form.model__user }}
-    {{ form.user }}
-    {{ form.mesh }}
-    {{ form.model }}
-    {{ form.simulation_type }}
-    {{ form.absorbing_conditions }}
-
-  <table border=4 cellpadding=0 cellspacing=0>
-   <tr>
-   <td colspan=3>
-    {{ form.name }} {% if form.name.errors %}<span class=error>{{ form.name.errors|join:", " }}</span>{% endif %}
-    <label for="id_name">SIMULATION NAME</label> 
-    <br><br>
-   </td>
-   <td valign=top align=right rowspan=3>
-  	{% ifequal nchunks 1 %}<img src=/specfem3dglobe/pics/onechunks.gif>{% endifequal %}
-  	{% ifequal nchunks 2 %}<img src=/specfem3dglobe/pics/twochunks.gif>{% endifequal %}
-  	{% ifequal nchunks 6 %}<img src=/specfem3dglobe/pics/globalchunks.gif>{% endifequal %}
-   </td>
-  </tr>
-
-   <tr>
-    <td><h2>\Event
-    {{ form.events }} {% if form.events.errors %}<span class=error>{{ form.events.errors|join:", " }}</span>{% endif %}
-    </h2><br></td>
-    <td width=5 rowspan=2> </td>
-    <td><h2>\Stations
-    {{ form.stations }} {% if form.stations.errors %}<span class=error>{{ form.stations.errors|join:", " }}</span>{% endif %}
-    </h2><br></td>
-    </tr>
-
-  <tr>
-  <td valign=top>
-    <h2>\Mesh
-       <a href=/specfem3dglobe/info/mesh/ 
-          onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');"
-          ><img src=/specfem3dglobe/pics/q_down.gif border=0></a>
-    </h2>
-    <dir>
-    <!img align="right" src="{% block mesh_image %}http://www.gps.caltech.edu/research/jtromp/research/graphics/gridpoints.gif{% endblock %}">
-
-    <h3>\CHUNKS</h3>
-    Nchunks = {{ form.data.mesh__nchunks }}
-
-    <table border=0>
-      {% block mesh_chunk_size %}
-        <tr>
-	    <td><label><b>Angular<br>Width</b></label></td>
-
-            <td align=right><label for="id_mesh__angular_width_xi">xi</label> &xi; </td>
-            <td >{{ form.mesh__angular_width_xi }} <div class=popup id="id_angular_width_xi_div"
-                                              ></div><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('angular_width_xi');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('angular_width_xi');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_angular_width_xi_img" border=0></a></td>
-            <td >{% if form.mesh__angular_width_xi.errors %}<span class=error>{{ form.mesh__angular_width_xi.errors|join:", " }}</span>{% endif %}</td>
-
-            <td align=right><label for="id_mesh__angular_width_eta">eta</label> &eta; </td>
-            <td >{{ form.mesh__angular_width_eta }} <div class=popup id="id_angular_width_eta_div"
-                                              ></div><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('angular_width_eta');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('angular_width_eta');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_angular_width_eta_img" border=0></a></td>
-            <td >{% if form.mesh__angular_width_eta.errors %}<span class=error>{{ form.mesh__angular_width_eta.errors|join:", " }}</span>{% endif %}</td>
-        </tr>
-
-      {% endblock %}
-
-      {% block mesh_chunk_position %}
-        <tr>
-            <td align=right colspan=2><label for="id_mesh__gamma_rotation_azimuth"><font class=lowercase>&gamma;</font> Rotation <br>Azimuth</label></td>
-            <td >{{ form.mesh__gamma_rotation_azimuth }} <div class=popup id="id_gamma_rotation_azimuth_div"
-                                              ></div><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('gamma_rotation_azimuth');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('gamma_rotation_azimuth');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_gamma_rotation_azimuth_img" border=0></a></td>
-            <td >{% if form.mesh__gamma_rotation_azimuth.errors %}<span class=error>{{ form.mesh__gamma_rotation_azimuth.errors|join:", " }}</span>{% endif %}</td>
-        </tr>
-
-
-        <tr>
-	    <td><label><b>Center</b></label></td>
-            <td align=right><label for="id_mesh__center_latitude">lat</label> </td>
-            <td >{{ form.mesh__center_latitude }} <div class=popup id="id_center_latitude_div"
-                                              ></div><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('center_latitude');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('center_latitude');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_center_latitude_img" border=0></a></td>
-            <td >{% if form.mesh__center_latitude.errors %}<span class=error>{{ form.mesh__center_latitude.errors|join:", " }}</span>{% endif %}</td>
-            <td align=right><label for="id_mesh__center_longitude">lon</label> </td>
-            <td >{{ form.mesh__center_longitude }} <div class=popup id="id_center_longitude_div"
-                                              ></div><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('center_longitude');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('center_longitude');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_center_longitude_img" border=0></a></td>
-            <td >{% if form.mesh__center_longitude.errors %}<span class=error>{{ form.mesh__center_longitude.errors|join:", " }}</span>{% endif %}</td>
-        </tr>
-      {% endblock %}
-
-    </table>
-
-
-    <br>
-    <h3>\PROCESSORS</h3>
-    {% block mesh_nproc %}
-
-    <table border=0>
-        <tr>
-            <td ><label><b>nproc</b></label></td>
-            <td align=right><label for="id_mesh__nproc_xi">xi</label> &xi; </td>
-            <td >{{ form.mesh__nproc_xi }} <div class=popup id="id_nproc_xi_div"
-                                              ></div><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('nproc_xi');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('nproc_xi');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_nproc_xi_img" border=0></a></td>
-            <td >{% if form.mesh__nproc_xi.errors %}<span class=error>{{ form.mesh__nproc_xi.errors|join:", " }}</span>{% endif %}</td>
-
-            <td align=right><label for="id_mesh__nproc_eta">eta </label> &eta; </td>
-            <td >{{ form.mesh__nproc_eta }}  <div class=popup id="id_nproc_eta_div"
-                                              ></div><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('nproc_eta');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('nproc_eta');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_nproc_eta_img" border=0></a></td>
-            <td >{% if form.mesh__nproc_eta.errors %}<span class=error>{{ form.mesh__nproc_eta.errors|join:", " }}</span>{% endif %}</td>
-        </tr>
-    </table>
-
-    <small> &nbsp; \ Total number of required processors</small><br>
-        &nbsp; &nbsp; Nchunks &times; Nproc &xi; &times; Nproc &eta; =
-       <input class="computed" type="text" name="total_nproc" readonly value="25" size="4"></font>
-    {% endblock %}
-   
-    <br><br>
-
-    <h3>\SPECTRAL ELEMENTS</h3>
-    {% block mesh_nex %}
-
-    <small> &nbsp; \ Number of spectral elements per chunk at earth's surface</small><br>
-
-     &nbsp;  &nbsp; Nex &xi; = 16 &times; {{ form.mesh__nex_xi_c }}<nbr><div class=popup id="id_nex_xi_div"
-                                              ></div>&nbsp;<nbr><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('nex_xi');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('nex_xi');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_nex_xi_img" border=0></a>
-                  &times; Nproc &xi;
-                  <span id="mesh__nex_xi_span" class="scripted">= <input name="mesh__nex_xi" class="computed" readonly value="160" size="3"></span>
-                  {% if form.mesh__nex_xi.errors %}<span class=error>{{ form.mesh__nex_xi.errors|join:", " }}</span>{% endif %}
-    <br>
-     &nbsp; &nbsp; Nex &eta; = 16 &times; {{ form.mesh__nex_eta_c }}<div class=popup id="id_nex_eta_div"
-                                              ></div>&nbsp;<nbr><a href=/specfem3dglobe/info/mesh/ onmouseover="showQuickInfo('nex_eta');"
-                                                             onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/mesh/');" onmouseout="hideQuickInfo('nex_eta');"
-                                              ><img src=/specfem3dglobe/pics/q_down.gif id="id_nex_eta_img" border=0></a>
-                  &times; Nproc &eta;
-                  <span id="mesh__nex_eta_span" class="scripted">= <input name="mesh__nex_eta" class="computed" readonly value="160" size="3"></span>
-                  {% if form.mesh__nex_eta.errors %}<span class=error>{{ form.mesh__nex_eta.errors|join:", " }}</span>{% endif %}
-
-    {% endblock %}
-
-    {% block mesh_script %}
-    {% include "SeismoWebPortal/update_mesh_1or2chunks.html" %}
-    {% endblock %}
-    </dir>
-</td>
-<td>
-    <h2>\Model
-       <a href=/specfem3dglobe/info/model/ 
-          onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/model/');"
-          ><img src=/specfem3dglobe/pics/q_down.gif border=0></a>
-    </h2>
-    <dir>
-    <!img align="right" src="http://www.gps.caltech.edu/research/jtromp/research/graphics/ellipticity_mesh.gif">
-
-    {{ form.model__type }} {% if form.model__type.errors %}<span class=error>{{ form.model__type.errors|join:", " }}</span>{% endif %}
-    <table border=0 cellspacing=10 cellpadding=0>
-    <tr><td>
-        {{ form.model__oceans }}       <label for="id_model__oceans">Oceans</label><br>
-        {{ form.model__ellipticity }}  <label for="id_model__ellipticity">Ellipticity</label><br>
-        {{ form.model__topography }}   <label for="id_model__topography">Topography</label>
-    </td><td>
-        {{ form.model__gravity }}      <label for="id_model__gravity">Gravity</label><br>
-        {{ form.model__rotation }}     <label for="id_model__rotation">Rotation</label><br>
-        {{ form.model__attenuation }}  <label for="id_model__attenuation">Attenuation</label>
-    </td></tr></table>
-    </dir>
-    <br>
-    <h2>\Output Format
-       <a href=/specfem3dglobe/info/output_format/ 
-          onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/output_format/');"
-          ><img src=/specfem3dglobe/pics/q_down.gif border=0></a>
-    </h2>
-    <dir>
-    <table border=0>
-        <tr>
-            <td valign="center"><label for="id_record_length">Record length </label></td>
-            <td valign="center">{{ form.record_length }} minutes</td>
-            <td valign="center">{% if form.record_length.errors %}<span class=error>{{ form.record_length.errors|join:", " }}</span>{% endif %}</td>
-        </tr>
-
-    </table>
-	<input type="hidden" name="ntstep_between_output_info" value="100">
-	<input type="hidden" name="ntstep_between_output_seismos" value="5000">
-        {{ form.receivers_can_be_buried }}     <label for="id_receivers_can_be_buried">Receiver at depth</label><br>
-
-	<input type="hidden" name="print_source_time_function" value="False">
-	<input type="hidden" name="mesh__save_files" value="False">
-    <br>
-    <h3>\MOVIE
-       <a href=/specfem3dglobe/info/movie/
-          onclick="return openPopUp('OnDemandInfo','/specfem3dglobe/info/movie/');"
-          ><img src=/specfem3dglobe/pics/q_down.gif border=0></a>
-    </h3>
-
-    <table border=0>
-        <tr>
-	    <td valign=top>
-               {{ form.movie_surface }}  <label for="id_movie_surface">Create movie</label><br>
-	       <input type="hidden" name="movie_volume" value="False">
-	    </td>
-	    <td width=15> </td>
-            <td valign="center" align=right><label for="id_ntstep_between_frames">Time Steps<br>between frames </label></td>
-            <td valign="center">{{ form.ntstep_between_frames }}</td>
-            <td valign="center">{% if form.ntstep_between_frames.errors %}<span class=error>{{ form.ntstep_between_frames.errors|join:", " }}</span>{% endif %}</td>
-        </tr>
-    </table><table>
-        <tr>
-            <td valign="center" align=right><label for="id_hdur_movie">Convolve Source Time Function<br>by Gaussian with half duration </label></td>
-            <td valign="center">{{ form.hdur_movie }}</td>
-            <td valign="center">{% if form.hdur_movie.errors %}<span class=error>{{ form.hdur_movie.errors|join:", " }}</span>{% endif %}</td>
-        </tr>
-    </table>
-    </dir>
-</td>
-</tr></table>
-<br>
-<input type="submit" value="|          CREATE SIMULATION          |" class=W400px>
-
-</form>
-
-{% endblock %}

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_detail.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_detail.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_detail.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -75,17 +75,18 @@
     <dl>
         <dt>name</dt><dd>{{ object.name }}</dd>
         <dt>event</dt><dd><a href="../../events/{{ object.events.id }}/">{{ object.events.name }}</a></dd>
-        <dt>mesh</dt><dd><a href="../../meshes/{{ object.mesh.id }}/">{{ object.mesh.name }}</a></dd>
-        <dt>model</dt><dd><a href="../../models/{{ object.model.id }}/">{{ object.model.name }}</a></dd>
+        <dt>station list</dt><dd><a href="../../stations/{{ object.stations.id }}/">{{ object.stations.name }}</a></dd>
         <dt>record length</dt><dd>{{ object.record_length }} minutes</dd>
     </dl>
     </div>
 
     <div class=box>
-    <h3>stations</h3>
+    <h3>3D synthetics</h3>
 
     <dl>
-        <dt>station list</dt><dd><a href="../../stations/{{ object.stations.id }}/">{{ object.stations.name }}</a></dd>
+        <dt>mesh</dt><dd><a href="../../meshes/{{ object.mesh.id }}/">{{ object.mesh.name }}</a></dd>
+        <dt>model</dt><dd><a href="../../models/{{ object.model.id }}/">{{ object.model.name }}</a></dd>
+        <dt>zero half duration</dt><dd>{{ object.zero_half_duration }}</dd>
         <dt>receivers at depth</dt><dd>{{ object.receivers_can_be_buried }}</dd>
     </dl>
     </div>
@@ -101,6 +102,25 @@
     </div>
     {% endif %}
 
+    <div class=box>
+    <h3>1D synthetics</h3>
+
+    <dl>
+        <dt>radial</dt><dd>{{ object.radial }}</dd>
+        <dt>toroidal</dt><dd>{{ object.toroidal }}</dd>
+        <dt>spheroidal</dt><dd>{{ object.spheroidal }}</dd>
+        <dt>inner core toroidal</dt><dd>{{ object.ictoroidal }}</dd>
+        <dt>eps</dt><dd>{{ object.eps }}</dd>
+        <dt>wgrav</dt><dd>{{ object.wgrav }} mHz (Neglect gravitational terms above {{ object.wgrav }} mHz.)</dd>
+        <dt>angular orders</dt><dd>{{ object.lmin }} <= l < {{ object.lmax }}</dd>
+        <dt>compute frequency range</dt><dd>{{ object.wmin }} <= w < {{ object.wmax }} mHz</dd>
+        <dt>dispersion branch numbers</dt><dd>{{ object.nmin }} <= n < {{ object.nmax }}</dd>
+        <dt>maximum depth</dt><dd>{{ object.max_depth }} km</dd>
+        <dt>select frequency range</dt><dd>{{ object.fmin }} <= f < {{ object.fmax }} mHz</dd>
+        <dt>sampling period</dt><dd>{{ object.step }} s</dd>
+    </dl>
+    </div>
+
 </div>
 
 {% endblock %}

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -27,6 +27,21 @@
     <p><span class=error>Please correct the following error{{ form.error_dict|pluralize }}.</span>
     {% endif %}
 
+{% if form.has_errors %}
+<dl class=error>
+    {% for f in form.error_dict.iteritems %}
+    <dt>{{ f.0 }}</dt>
+    <dd>
+        <ul class=error>
+        {% for e in f.1 %}
+            <li>{{ e }}</li>
+        {% endfor %}
+        </ul>
+    </dd>
+    {% endfor %}
+</dl>
+{% endif %}
+
     <div class=tab30ex>
 
     <div>
@@ -43,16 +58,22 @@
         {% if form.events.errors %}<span class=error>{{ form.events.errors|join:", " }}</span>{% endif %}
     </div>
 
-    <div class=checkbox>
-        {{ form.zero_half_duration }}
-        <label for="id_zero_half_duration" class=after>zero half duration</label>
-        {% if form.zero_half_duration.errors %}<span class=error>{{ form.zero_half_duration.errors|join:", " }}</span>{% endif %}
+    <div>
+        <label for="id_stations" class=before>station list</label>
+        {{ form.stations }}
+        {% if form.stations.errors %}<span class=error>{{ form.stations.errors|join:", " }}</span>{% endif %}
     </div>
 
-    {% if help_visible %}
-    <dl class=help><dt>zero half duration</dt><dd>For point-source simulations, we recommend setting the source half-duration parameter <code>half duration</code> equal to zero, which corresponds to simulating a step source-time function, i.e., a moment-rate function that is a delta function. If <code>half duration</code> is not set to zero, the code will use a Gaussian (i.e., a signal with a shape similar to a 'smoothed triangle', as explained in Komatitsch and Tromp [2002a]) source-time function with half-width <code>half duration</code>. We prefer to run the solver with <code>half duration</code> set to zero and convolve the resulting synthetic seismograms in post-processing after the run, because this way it is easy to use a variety of source-time functions. Komatitsch and Tromp [2002a] determined that the noise generated in the simulation by using a step source time function may be safely filtered out afterward based upon a convolution with the desired source time function and/or low-pass filtering. Use the script <code>process_syn.pl</code> for this purpose by specifying the <code>-h</code> option (the <code>process_syn.pl</code> script can be found in the <a href="/specfem3dglobe/samples/UTILS.tar.gz">utilities package</a>). Alternatively, use signal-processing software packages such as <a href="http://www.llnl.gov/sac/">SAC</a>.<p>For finite fault simulations, it is usually not advisable to use a zero half duration and convolve afterwards, since the half duration is generally fixed by the finite fault model.</dd></dl>
-    {% endif %}
+    <div>
+        <label for="id_record_length" class=before>record length</label>
+        {{ form.record_length }} minutes
+        {% if form.record_length.errors %}<span class=error>{{ form.record_length.errors|join:", " }}</span>{% endif %}
+        {% if help_visible %}<span class=help>Choose the desired record length of the synthetic seismograms (in minutes). This controls the length of the numerical simulation, i.e., twice the record length requires twice as much CPU time. This must be 100 minutes or less for simulations run via the web.</span>{% endif %}
+    </div>
 
+
+    <fieldset><legend>3D synthetics</legend>
+
     <div>
         <label for="id_mesh" class=before>mesh</label>
         {{ form.mesh }}
@@ -65,22 +86,16 @@
         {% if form.model.errors %}<span class=error>{{ form.model.errors|join:", " }}</span>{% endif %}
     </div>
 
-    <div>
-        <label for="id_record_length" class=before>record length</label>
-        {{ form.record_length }} minutes
-        {% if form.record_length.errors %}<span class=error>{{ form.record_length.errors|join:", " }}</span>{% endif %}
-        {% if help_visible %}<span class=help>Choose the desired record length of the synthetic seismograms (in minutes). This controls the length of the numerical simulation, i.e., twice the record length requires twice as much CPU time. This must be 100 minutes or less for simulations run via the web.</span>{% endif %}
+    <div class=checkbox>
+        {{ form.zero_half_duration }}
+        <label for="id_zero_half_duration" class=after>zero half duration</label>
+        {% if form.zero_half_duration.errors %}<span class=error>{{ form.zero_half_duration.errors|join:", " }}</span>{% endif %}
     </div>
 
+    {% if help_visible %}
+    <dl class=help><dt>zero half duration</dt><dd>For point-source simulations, we recommend setting the source half-duration parameter <code>half duration</code> equal to zero, which corresponds to simulating a step source-time function, i.e., a moment-rate function that is a delta function. If <code>half duration</code> is not set to zero, the code will use a Gaussian (i.e., a signal with a shape similar to a 'smoothed triangle', as explained in Komatitsch and Tromp [2002a]) source-time function with half-width <code>half duration</code>. We prefer to run the solver with <code>half duration</code> set to zero and convolve the resulting synthetic seismograms in post-processing after the run, because this way it is easy to use a variety of source-time functions. Komatitsch and Tromp [2002a] determined that the noise generated in the simulation by using a step source time function may be safely filtered out afterward based upon a convolution with the desired source time function and/or low-pass filtering. Use the script <code>process_syn.pl</code> for this purpose by specifying the <code>-h</code> option (the <code>process_syn.pl</code> script can be found in the <a href="/specfem3dglobe/samples/UTILS.tar.gz">utilities package</a>). Alternatively, use signal-processing software packages such as <a href="http://www.llnl.gov/sac/">SAC</a>.<p>For finite fault simulations, it is usually not advisable to use a zero half duration and convolve afterwards, since the half duration is generally fixed by the finite fault model.</dd></dl>
+    {% endif %}
 
-    <fieldset><legend>stations</legend>
-
-    <div>
-        <label for="id_stations" class=before>station list</label>
-        {{ form.stations }}
-        {% if form.stations.errors %}<span class=error>{{ form.stations.errors|join:", " }}</span>{% endif %}
-    </div>
-
     <div class=checkbox>
         {{ form.receivers_can_be_buried }}
         <label for="id_receivers_can_be_buried" class=after>receivers at depth</label>
@@ -88,9 +103,8 @@
         {% if help_visible %}<span class=help>This flag accommodates stations with instruments that are buried, i.e., the solver will calculate seismograms at the burial depth specified in the station list.</span>{% endif %}
     </div>
 
+    </fieldset> <!-- 3D synthetics-->
 
-    </fieldset> <!-- stations -->
-
     {% if 0 %}
     <fieldset><legend>movie</legend>
 
@@ -124,7 +138,90 @@
     <input type="hidden" name="hdur_movie" value="0">
     {% endif %}
 
+    </div> <!-- tab30ex -->
 
+    <fieldset><legend>1D synthetics</legend>
+
+    <p>1D synthetics are generated using the PREM earth model, both with and without an ocean.
+
+    <fieldset><legend>oscillations</legend>
+
+    <div class=checkbox>
+        {{ form.radial }}
+        <label for="id_radial" class=after>radial</label>
+        {% if form.radial.errors %}<span class=error>{{ form.radial.errors|join:", " }}</span>{% endif %}
+    </div>
+
+    <div class=checkbox>
+        {{ form.toroidal }}
+        <label for="id_toroidal" class=after>toroidal</label>
+        {% if form.toroidal.errors %}<span class=error>{{ form.toroidal.errors|join:", " }}</span>{% endif %}
+    </div>
+
+    <div class=checkbox>
+        {{ form.spheroidal }}
+        <label for="id_spheroidal" class=after>spheroidal</label>
+        {% if form.spheroidal.errors %}<span class=error>{{ form.spheroidal.errors|join:", " }}</span>{% endif %}
+    </div>
+
+    <div class=checkbox>
+        {{ form.ictoroidal }}
+        <label for="id_ictoroidal" class=after>inner core toroidal</label>
+        {% if form.ictoroidal.errors %}<span class=error>{{ form.ictoroidal.errors|join:", " }}</span>{% endif %}
+    </div>
+
+    </fieldset> <!-- oscillations -->
+
+    <div>
+        <label for="id_eps" class=before>eps</label>
+        {{ form.eps }}
+        {% if form.eps.errors %}<span class=error>{{ form.eps.errors|join:", " }}</span>{% endif %}
+        {% if help_visible %}<span class=help>The parameter <code>eps</code> controls the accuracy of the Runge-Kutta integration scheme. The relative accuracy 
+of an eigenfrequency is a factor 2 to 3 times <code>eps</code>. Parameter <code>eps</code> also controls the precision with which 
+a root is found and the minimum relative separation of two roots with the same angular order. It is 
+safe to set eps = 10<span style="vertical-align: super">-7</span> for periods greater than 10 seconds. For periods between 5 and 10 seconds, it 
+has to be set to 10<span style="vertical-align: super">-12</span>&mdash;10<span style="vertical-align: super">-10</span>.</span>{% endif %}
+    </div>
+
+    <p>Neglect gravitational terms above {{ form.wgrav }} mHz. {% if form.wgrav.errors %}<span class=error>{{ form.wgrav.errors|join:", " }}</span>{% endif %}
+       {% if help_visible %}<span class=help>This gives about a factor of 3 increase in speed.</span>{% endif %}
+
+    <p><label for="id_lmin" class=before>angular orders</label> {{ form.lmin }} <= l < {{ form.lmax }}
+       {% if form.lmin.errors %}<span class=error>{{ form.lmin.errors|join:", " }}</span>{% endif %}
+       {% if form.lmax.errors %}<span class=error>{{ form.lmax.errors|join:", " }}</span>{% endif %}
+       {% if help_visible %}<span class=help>The range of angular orders l to be computed. For radial modes, this range is not used.</span>{% endif %}
+
+    <p><label for="id_wmin" class=before>compute frequency range</label> {{ form.wmin }} <= w < {{ form.wmax }} mHz
+       {% if form.wmin.errors %}<span class=error>{{ form.wmin.errors|join:", " }}</span>{% endif %}
+       {% if form.wmax.errors %}<span class=error>{{ form.wmax.errors|join:", " }}</span>{% endif %}
+       {% if help_visible %}<span class=help>The frequency range to be computed (in millihertz).</span>{% endif %}
+
+    <p><label for="id_nmin" class=before>dispersion branch numbers</label> {{ form.nmin }} <= n < {{ form.nmax }}
+       {% if form.nmin.errors %}<span class=error>{{ form.nmin.errors|join:", " }}</span>{% endif %}
+       {% if form.nmax.errors %}<span class=error>{{ form.nmax.errors|join:", " }}</span>{% endif %}
+       {% if help_visible %}<span class=help>The range of dispersion branch numbers n to be computed; n = 0 is the fundamental mode.</span>{% endif %}
+
+    <p><label for="id_max_depth" class=before>maximum depth</label> {{ form.max_depth }} km
+       {% if form.max_depth.errors %}<span class=error>{{ form.max_depth.errors|join:", " }}</span>{% endif %}
+       {% if help_visible %}<span class=help>Maximum depth, d<span style="vertical-align: sub">max</span>, to cut all output eigenfunctions (in km). All output values exist in the interval 
+(r<span style="vertical-align: sub">n</span>, r<span style="vertical-align: sub">n</span> - d<span style="vertical-align: sub">max</span>) only, where r<span style="vertical-align: sub">n</span> is the radius of the free surface in km.</span>{% endif %}
+
+    <p><label for="id_fmin" class=before>select frequency range</label> {{ form.fmin }} <= f < {{ form.fmax }} mHz
+       {% if form.fmin.errors %}<span class=error>{{ form.fmin.errors|join:", " }}</span>{% endif %}
+       {% if form.fmax.errors %}<span class=error>{{ form.fmax.errors|join:", " }}</span>{% endif %}
+       {% if help_visible %}<span class=help>The frequency range to be selected from the input eigenfunction databases. All 
+modes with frequencies out of this range are rejected.</span>{% endif %}
+
+    <p><label for="id_step" class=before>sampling period</label> {{ form.step }} s
+       {% if form.step.errors %}<span class=error>{{ form.step.errors|join:", " }}</span>{% endif %}
+       {% if help_visible %}<span class=help>This determines the number of samples in the synthetic seismograms. All synthetic seismograms start from the 
+source time.</span>{% endif %}
+
+    </fieldset> <!-- 1D synthetics -->
+
+
+    <div class=tab30ex>
+
     <div><input class=submit type="submit" name="save" value="Save" />
          <input class=submit type="submit" name="save_and_run" value="Save & Run" {% if not user.userinfo.approved %}DISABLED{% endif %} />
     </div>

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_2chunks.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_2chunks.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_2chunks.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,38 +0,0 @@
-
-{% extends "SeismoWebPortal/simulation_base.html" %}
-
-      {% block mesh_chunk_size %}
-        <!-- for 2 or more chunks, to match geometrically, the chunks must have an angular-width-xi of 90 degrees -->
-        <input type="hidden" name="mesh__angular_width_xi" value="90.0">
-        <tr>
-            <td ><label><b>Angular<br>Width</b></label></td>
-            <td align=right><label for="id_mesh__angular_width_eta">eta</label> &eta; </td>
-            <td >{{ form.mesh__angular_width_eta }}</td>
-            <td >{% if form.mesh__angular_width_eta.errors %}<span class=error>{{ form.mesh__angular_width_eta.errors|join:", " }}</span>{% endif %}</td>
-
-            <td align=right><label>xi</label> &xi;:</td>
-            <td >90</td>
-            <td ></td>
-        </tr>
-      {% endblock %}
-
-   <!-- Django bug? These must be here for sub-templates to override them. -->
-
-    {% block heading %}{{ block.super }}{% endblock %}
-    {% block mesh_image %}{{ block.super }}{% endblock %}
-
-      {% block mesh_chunk_position %}
-      {{ block.super }}
-      {% endblock %}
-
-    {% block mesh_nproc %}
-    {{ block.super }}
-    {% endblock %}
-
-    {% block mesh_nex %}
-    {{ block.super }}
-    {% endblock %}
-
-    {% block mesh_script %}
-    {{ block.super }}
-    {% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_3chunks.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_3chunks.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_3chunks.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,52 +0,0 @@
-
-{% extends "SeismoWebPortal/simulation_form_2chunks.html" %}
-
-      {% block mesh_chunk_size %}
-        <!-- for 3 or more chunks, to match geometrically, the chunks must have an angular width of 90 degrees in both directions -->
-        <input type="hidden" name="mesh__angular_width_eta" value="90.0">
-        <input type="hidden" name="mesh__angular_width_xi" value="90.0">
-      {% endblock %}
-
-   <!-- Django bug? These must be here for sub-templates to override them. -->
-
-      {% block mesh_chunk_position %}
-      {{ block.super }}
-      {% endblock %}
-
-    {% block heading %}{{ block.super }}{% endblock %}
-    {% block mesh_image %}{{ block.super }}{% endblock %}
-
-    <!-- for 3 or more chunks, the number of processors and spectral elements must be the same in both directions  -->
-
-    {% block mesh_nproc %}
-
-    <table border=0>
-        <tr>
-            <td><label for="id_mesh__nproc">Nproc </label></td>
-            <td>{{ form.mesh__nproc }}</td>
-            <td>{% if form.mesh__nproc.errors %}<span class=error>{{ form.mesh__nproc.errors|join:", " }}</span>{% endif %}</td>
-        </tr>
-    </table>
-
-        <small> &nbsp; \Total number of required processors</small><br>
-	   &nbsp;  &nbsp; 
-           Nchunks &times; Nproc<span style="vertical-align: super">2</span> =
-           <input class="computed" name="total_nproc" readonly value="?" size="4">
-
-    {% endblock %}
-
-
-    {% block mesh_nex %}
-
-    <small> &nbsp; \Number of spectral elements per chunk at the earth's surface</small><br>
-	   &nbsp;  &nbsp; 
-    Nex = 16 &times; {{ form.mesh__nex_c }} &times; Nproc
-             <span id="mesh__nex_span" class="scripted">= <input name="mesh__nex" class="computed" readonly value="?" size="3"></span>
-             {% if form.mesh__nex.errors %}<span class=error>{{ form.mesh__nex.errors|join:", " }}</span>{% endif %}
-
-    {% endblock %}
-
-
-    {% block mesh_script %}
-    {% include "SeismoWebPortal/update_mesh_3or6chunks.html" %}
-    {% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_global.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_global.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_global.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,13 +0,0 @@
-
-{% extends "SeismoWebPortal/simulation_form_3chunks.html" %}
-
-{% block heading %}GLOBAL SIMULATION{% endblock %}
-
-{% block mesh_image %}http://www.gps.caltech.edu/research/jtromp/research/graphics/ORIG/ThumbnailEarthSlices.png{% endblock %}
-
-      <!-- chuck position is meaningless for a global simulation -->
-      {% block mesh_chunk_position %}
-        <input type="hidden" name="mesh__center_latitude" value="0.0">
-        <input type="hidden" name="mesh__center_longitude" value="0.0">
-        <input type="hidden" name="mesh__gamma_rotation_azimuth" value="0.0">
-      {% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_start.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_start.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_form_start.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,14 +0,0 @@
-<br>
-
-<font class=subtle><img src=/specfem3dglobe/pics/arrowsm-down.000000.gif border=0 align=top></a>  &nbsp;
-\NEW SIMULATION SETUP\  &nbsp; <img src=/specfem3dglobe/pics/arrowsm-down.000000.gif border=0 align=top></font>
-
-<form class=inline action="/specfem3dglobe/simulations/create/" method="POST" id="id_form_simulation_start">
-
-<h2>\CREATE NEW SIMULATION</h3>
-
-<h4>&nbsp; \Simulation type:</h4>
-{{ form.mesh__nchunks }}
-<input type="submit" class=W200px value=">> NEXT >>">
-
-</form>

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_run_form.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_run_form.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/simulation_run_form.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,84 +0,0 @@
-
-{% extends "SeismoWebPortal/simulations.html" %}
-
-{% block content %}
-
-<h2 class=titlebar>run simulation</h2>
-
-<p>Please verify that the simulation parameters are correct. Click
-"Run" to submit a new run of this simulation to the queue.</p>
-
-<table class=properties>
-
-    <tr>
-
-    <td valign=top>
-    <h3>general</h3>
-    <dl>
-        <dt>name</dt><dd>{{ object.name }}</dd>
-        <dt>type</dt><dd>{% ifequal object.mesh.nchunks 6 %}global{% else %}regional{% endifequal %}</dd>
-        <dt>record length</dt><dd>{{ object.record_length }} minutes</dd>
-    </dl>
-    </td>
-
-    <td valign=top>
-    <h3>event</h3>
-        <p>{{ object.events.icon }} <a href="/specfem3dglobe/events/{{ object.events.id }}/">{{ object.events }}</a></p>
-        <p>{% if object.events.singleSource %}
-               M<sub>w</sub> &cong; {{ object.events.singleSource.momentMagnitude|stringformat:".2f" }}
-           {% else %}
-               finite-source
-           {% endif %}
-        </p>
-    <dl>
-        <dt>zero half duration</dt><dd>{{ object.zero_half_duration }}</dd>
-    </dl>
-    </td>
-
-    <td valign=top>
-    <h3>stations</h3>
-    <dl>
-        <dt>station list</dt><dd><a href="/specfem3dglobe/stations/{{ object.stations.id }}/">{{ object.stations.name }}</a></dd>
-        <dt>receivers at depth</dt><dd>{{ object.receivers_can_be_buried }}</dd>
-    </dl>
-    </td>
-
-    </tr><tr>
-
-    <td valign=top>
-    <h3>mesh</h3>
-    <dl>
-        <dt>name</dt><dd><a href="/specfem3dglobe/meshes/{{ object.mesh.id }}/">{{ object.mesh }}</a></dd>
-    </dl>
-    </td>
-
-    <td valign=top>
-    <h3>model</h3>
-    <dl>
-        <dt>name</dt><dd><a href="/specfem3dglobe/models/{{ object.model.id }}/">{{ object.model }}</a></dd>
-        <dt>type</dt><dd>{{ object.model.get_type_display }}</dd>
-        <dt>oceans</dt><dd>{{ object.model.oceans }}</dd>
-        <dt>gravity</dt><dd>{{ object.model.gravity }}</dd>
-        <dt>attenuation</dt><dd>{{ object.model.attenuation }}</dd>
-        <dt>topography</dt><dd>{{ object.model.topography }}</dd>
-        <dt>rotation</dt><dd>{{ object.model.rotation }}</dd>
-        <dt>ellipticity</dt><dd>{{ object.model.ellipticity }}</dd>
-    </dl>
-    </td>
-
-    <td valign=top>
-    <h3>resource usage</h3>
-    <dl>
-        <dt>processors</dt><dd>{{ object.nodes }}</dd>
-    </dl>
-    </td>
-
-    </tr>
-
-</table>
-
-<form action="{{ action }}" method="post">
-    <p><input type="submit" value="Run" /></p>
-</form>
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_add.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_add.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_add.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,23 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block content %}
-
-<h1>Add Stations</h1>
-
-<p>The following stations have been added to your list:
-
-<ul>
-{% for station in stations %}
-    <li>{{ station }}
-{% endfor %}
-</ul>
-
-<hr>
-
-<ul>
-    <li><a href="../search/location/">Search for stations</a>
-    <li><a href="../networks/">Browse station networks</a>
-</ul>
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_detail.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_detail.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_detail.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,19 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block content %}
-
-<h1>Station {{ object.code }}</h1>
-
-<table border="0">
-    <tr><td align="right" valign="top">name:</td><td valign="top">{{ object.name }}</td></tr>
-    <tr><td align="right" valign="top">network:</td><td valign="top">{{ object.network.code }} ({{ object.network.name }})</td></tr>
-    <tr><td align="right" valign="top">status:</td><td valign="top">{{ object.status }}</td></tr>
-    <tr><td align="right" valign="top">latitude:</td><td valign="top">{{ object.latitude }}</td></tr>
-    <tr><td align="right" valign="top">longitude:</td><td valign="top">{{ object.longitude }}</td></tr>
-    <tr><td align="right" valign="top">elevation:</td><td valign="top">{{ object.elevation }}</td></tr>
-</table>
-
-<p><a href="http://maps.google.com/maps?ll={{object.latitude}},{{object.longitude}}&spn=3,3">Google Map</a>
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_remove.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_remove.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_remove.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,26 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block content %}
-
-<h1>Remove Stations</h1>
-
-<p>The following stations have been removed from your list:
-
-<form method="post" action="../add/">
-    <ul>
-    {% for station in stations %}
-        <li>{{ station }}<input type="hidden" name="stations" value="{{ station }}" />
-    {% endfor %}
-    </ul>
-    <input type="submit" value="Undo" />
-</form>
-
-<hr>
-
-<ul>
-    <li><a href="../search/location/">Search for stations</a>
-    <li><a href="../networks/">Browse station networks</a>
-</ul>
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_code.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_code.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_code.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,22 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block content %}
-
-<h1>Station Search</h1>
-
-<p><b>by code</b> | <a href="../location/">by location</a>
-
-<p>
-{% if form.has_errors %}
-<b class=error>Please correct the following error{{ form.error_dict|pluralize }}:</b>
-{% else %}
-&nbsp;
-{% endif %}
-
-<form method="post" action=".">
-    <p>Station code: {{ form.code }} {% if form.code.errors %}<span class=error>{{ form.code.errors|join:", " }}</span>{% endif %}
-    <p><input type="submit" value="Search" />
-</form>
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_location.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_location.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_location.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,54 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block content %}
-
-<h1>Station Search</h1>
-
-<p><a href="../code/">by code</a> | <b>by location</b>
-
-<p>
-{% if form.has_errors %}
-<b class=error>Please correct the following error{{ form.error_dict|pluralize }}:</b>
-{% else %}
-&nbsp;
-{% endif %}
-
-<form method="post" action=".">
-    <table border="0" cellpadding="0" cellspacing="0">
-        <tr>
-            <td></td>
-            <td align="center" valign="bottom">
-                max. latitude:<br>
-                {{ form.lat_max }}<br>
-                {% if form.lat_max.errors %}<span class=error>{{ form.lat_max.errors|join:", " }}</span>{% endif %}
-            </td>
-            <td></td>
-        </tr>
-        <tr>
-            <td align="right">
-                min. longitude:<br>
-                {{ form.long_min }}<br>
-                {% if form.long_min.errors %}<span class=error>{{ form.long_min.errors|join:", " }}</span>{% endif %}
-            </td>
-            <td><img src="http://crust.geodynamics.org/~leif/images/map.gif"></td>
-            <td>
-                max. longitude:<br>
-                {{ form.long_max }}<br>
-                {% if form.long_max.errors %}<span class=error>{{ form.long_max.errors|join:", " }}</span>{% endif %}
-            </td>
-        </tr>
-        <tr>
-            <td></td>
-            <td align="center" valign="top">
-                min. latitude:<br>
-                {{ form.lat_min }}<br>
-                {% if form.lat_min.errors %}<span class=error>{{ form.lat_min.errors|join:", " }}</span>{% endif %}
-            </td>
-            <td></td>
-        </tr>
-    </table>
-    <p><input type="submit" value="Search" />
-</form>
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_results.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_results.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/station_search_results.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,39 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block scripts %}
-{{ block.super }}
-{% include "SeismoWebPortal/check_all.html" %}
-{% endblock %}
-
-{% block content %}
-
-<h1>Station Search Results</h1>
-
-{% if station_list %}
-    <form method="post" action="../../add/">
-        <p><input type="submit" value="Add selected stations" /> ~
-           <input type="button" value="Check all" onClick="checkAll(this.form.stations, true)" />
-           <input type="button" value="Unheck all" onClick="checkAll(this.form.stations, false)" />
-        <table border="0">
-            <tr>
-                <th align="left" valign="top"></th>
-                <th align="left" valign="top">code</th>
-                <th align="left" valign="top">name</th>
-            </tr>
-
-            {% for station in station_list %}
-            <tr>
-                <td valign="top"><input type="checkbox" name="stations" value="{{ station.code }}" /></td>
-                <td valign="top"><a href="../../{{ station.code }}/">{{ station.code }}</a></td>
-                <td valign="top">{{ station.name }}</td>
-            </tr>
-            {% endfor %}
-
-        </table>
-    </form>
-{% else %}
-    <p>No stations found.</p>
-{% endif %}
-
-{% endblock %}

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationlist_upload.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationlist_upload.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationlist_upload.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -58,7 +58,7 @@
 <code>STATIONS</code> file, which looks like this:</p>
 
 <div class=illustration id=stations>
-    <img src="/specfem3dglobe/pics/stations.gif" width=540 height=332>
+    <img src="/specfem3dglobe/pics/stations.gif" width=576 height=322>
     <p class=caption>Sample <code>STATIONS</code> file.</p>
 </div>
 

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationnetwork_detail.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationnetwork_detail.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationnetwork_detail.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,43 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block scripts %}
-{{ block.super }}
-{% include "SeismoWebPortal/check_all.html" %}
-{% endblock %}
-
-{% block content %}
-
-<h1>Station Network {{ object.code }}</h1>
-
-<p>{{ object.name }}
-
-<p><a href="gearth.kml"><img src="http://crust.geodynamics.org/~leif/kml.jpg" align="center"> View in Google Earth</a>
-
-{% if object.station_set.all %}
-    <form method="post" action="../../add/">
-        <p><input type="submit" value="Add selected stations" /> ~
-           <input type="button" value="Check all" onClick="checkAll(this.form.stations, true)" />
-           <input type="button" value="Unheck all" onClick="checkAll(this.form.stations, false)" />
-        <table border="0">
-            <tr>
-                <th align="left" valign="top"></th>
-                <th align="left" valign="top">code</th>
-                <th align="left" valign="top">name</th>
-            </tr>
-
-            {% for station in object.station_set.all %}
-            <tr>
-                <td valign="top"><input type="checkbox" name="stations" value="{{ station.code }}" /></td>
-                <td valign="top"><a href="{{ station.code }}/">{{ station.code }}</a></td>
-                <td valign="top">{{ station.name }}</td>
-            </tr>
-            {% endfor %}
-
-        </table>
-    </form>
-{% else %}
-    <p>This network has no stations.</p>
-{% endif %}
-
-{% endblock %}

Deleted: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationnetwork_list.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationnetwork_list.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/stationnetwork_list.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -1,27 +0,0 @@
-
-{% extends "SeismoWebPortal/base.html" %}
-
-{% block content %}
-
-<h1>Station Networks</h1>
-
-{% if object_list %}
-    <table border="0">
-        <tr>
-            <th align="left" valign="top">code</th>
-            <th align="left" valign="top">name</th>
-        </tr>
-
-        {% for object in object_list %}
-        <tr>
-            <td valign="top"><a href="{{ object.code }}/">{{ object.code }}</a></td>
-            <td valign="top">{{ object.name }}</td>
-        </tr>
-        {% endfor %}
-
-    </table>
-{% else %}
-    <p>There are no stations.</p>
-{% endif %}
-
-{% endblock %}

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/update_mesh_1or2chunks.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/update_mesh_1or2chunks.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/update_mesh_1or2chunks.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -11,10 +11,10 @@
     nproc_eta = (form.nproc_eta.value-0);
 
     c = (form.nex_xi_c.value-0);
-    form.nex_xi.value = 16 * c * nproc_xi;
+    form.nex_xi.value = 8 * c * nproc_xi;
 
     c = (form.nex_eta_c.value-0);
-    form.nex_eta.value = 16 * c * nproc_eta;
+    form.nex_eta.value = 8 * c * nproc_eta;
 
     form.total_nproc.value = nchunks * nproc_xi * nproc_eta;
 }

Modified: cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/update_mesh_3or6chunks.html
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/update_mesh_3or6chunks.html	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/templates/SeismoWebPortal/update_mesh_3or6chunks.html	2008-05-01 00:24:01 UTC (rev 11877)
@@ -11,7 +11,7 @@
     nproc = (form.nproc.value-0);
 
     c = (form.nex_c.value-0);
-    form.nex.value = 16 * c * nproc;
+    form.nex.value = 8 * c * nproc;
 
     form.total_nproc.value = nchunks * nproc * nproc;
 }

Modified: cs/portal/trunk/northridge/SeismoWebPortal/urls.py
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/urls.py	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/urls.py	2008-05-01 00:24:01 UTC (rev 11877)
@@ -128,25 +128,14 @@
     'allow_empty': True,
 }
 
-job_create_update_args = {
-    'model': Job,
-    'post_save_redirect': '/specfem3dglobe/jobs/',
-}
 
 
-output_create_update_args = {
-    'model': OutputFile,
-    'post_save_redirect': '/specfem3dglobe/',
-}
-
-
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 # URLs
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 urlpatterns = patterns('',
     (r'^$', 'SeismoWebPortal.views.home'),
-    (r'^info/(?P<info_str>\w+)/$', 'SeismoWebPortal.views.info'),
 
     (r'^login/$', 'SeismoWebPortal.views.login_view'),
     (r'^logout/$', 'SeismoWebPortal.views.logout_view'),
@@ -173,10 +162,14 @@
     (r'^simulations/(?P<object_id>\d+)/edit/$', 'SeismoWebPortal.views.update_simulation'),
     (r'^simulations/(?P<object_id>\d+)/delete/$', 'django.views.generic.create_update.delete_object', simulation_delete_args),
     (r'^simulations/(?P<object_id>\d+)/run/$', 'SeismoWebPortal.views.run_simulation'),
-    (r'^simulations/(?P<sim_id>\d+)/parameters.pml$', 'SeismoWebPortal.views.simulation_pml'),
-    (r'^simulations/(?P<sim_id>\d+)/stations.txt$', 'SeismoWebPortal.views.stations_txt'),
-    (r'^simulations/(?P<sim_id>\d+)/events.txt$', 'SeismoWebPortal.views.events_txt'),
-    #(r'^simulations/(?P<sim_id>\d+)/output.tar.gz$', 'SeismoWebPortal.views.output_tar_gz'),
+    (r'^simulations/(?P<sim_id>\d+)/par_file\.txt$', 'SeismoWebPortal.views.par_file'),
+    (r'^simulations/(?P<sim_id>\d+)/parameters\.pml$', 'SeismoWebPortal.views.parameters_pml'),
+    (r'^simulations/(?P<sim_id>\d+)/stations\.txt$', 'SeismoWebPortal.views.stations_txt'),
+    (r'^simulations/(?P<sim_id>\d+)/events\.txt$', 'SeismoWebPortal.views.events_txt'),
+    (r'^simulations/(?P<sim_id>\d+)/mineos/parameters\.pml$', 'SeismoWebPortal.views.mineos_parameters_pml'),
+    (r'^simulations/(?P<sim_id>\d+)/mineos/event\.txt$', 'SeismoWebPortal.views.mineos_event_txt'),
+    (r'^simulations/(?P<sim_id>\d+)/mineos/stations\.site$', 'SeismoWebPortal.views.mineos_stations_site'),
+    (r'^simulations/(?P<sim_id>\d+)/mineos/stations\.sitechan$', 'SeismoWebPortal.views.mineos_stations_sitechan'),
 
     # events
     (r'^events/$', 'django.views.generic.list_detail.object_list', event_list_detail_args),
@@ -204,14 +197,12 @@
     (r'^stations/(?P<object_id>\d+)/gearth\.kml$','SeismoWebPortal.views.stationlist_detail_gearth'),
 
     # runs
-    (r'^runs/$', 'SeismoWebPortal.views.run_list'),
-    (r'^runs/list.py$', 'django.views.generic.list_detail.object_list', dict(run_list_detail_args,
+    (r'^runs/list\.py$', 'django.views.generic.list_detail.object_list', dict(run_list_detail_args,
                                                                              template_name='SeismoWebPortal/run_list.py',
                                                                              mimetype='text/plain')),
     (r'^runs/(?P<object_id>\d+)/status/$', 'SeismoWebPortal.views.update_run_status'),
 
     # jobs
-    (r'^jobs/$', 'SeismoWebPortal.views.job_list'),
     (r'^jobs/create/$', 'SeismoWebPortal.views.daemon_post', dict(modelName='Job', action='create')),
     (r'^jobs/(?P<object_id>\d+)/update/$', 'SeismoWebPortal.views.daemon_post', dict(modelName='Job', action='update')),
 

Modified: cs/portal/trunk/northridge/SeismoWebPortal/views.py
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/views.py	2008-04-30 23:45:26 UTC (rev 11876)
+++ cs/portal/trunk/northridge/SeismoWebPortal/views.py	2008-05-01 00:24:01 UTC (rev 11877)
@@ -26,13 +26,7 @@
 OUTPUT_ROOT = os.path.join(settings.MEDIA_ROOT, 'SeismoWebPortal', 'output')
 disapproval = "You cannot run simulations until you are approved by a site administrator."
 
-# experimental confirmation page
-CONFIRMATION = False
 
-if CONFIRMATION:
-    simSaved = "The simulation parameters have been saved."
-
-
 # Create our own version of 'login_required' which redirects to our login page.
 login_required = user_passes_test(lambda u: not u.is_anonymous(), "/specfem3dglobe/login")
 
@@ -57,11 +51,7 @@
         user = request.user
         if request.POST.has_key('save_and_run'):
             if user.userinfo.approved:
-                if CONFIRMATION:
-                    user.message_set.create(message=simSaved)
-                    return HttpResponseRedirect('/specfem3dglobe/simulations/%d/run/' % object.id)
-                else:
-                    object.run()
+                object.run()
             else:
                 user.message_set.create(message=disapproval)
         return None
@@ -79,11 +69,7 @@
         user = request.user
         if request.POST.has_key('save_and_run'):
             if user.userinfo.approved:
-                if CONFIRMATION:
-                    user.message_set.create(message=simSaved)
-                    return HttpResponseRedirect('/specfem3dglobe/simulations/%d/run/' % object.id)
-                else:
-                    object.run()
+                object.run()
             else:
                 user.message_set.create(message=disapproval)
         return None
@@ -112,17 +98,9 @@
     if request.method == 'POST':
         run = simulation.run()
         user.message_set.create(message="A new run has been started.")
-        if CONFIRMATION:
-            # experimental 'runs' page
-            return HttpResponseRedirect('/specfem3dglobe/runs/?new=%d' % run.id)
-        else:
-            return HttpResponseRedirect('/specfem3dglobe/simulations/%d/' % object_id)
+        return HttpResponseRedirect('/specfem3dglobe/simulations/%d/' % object_id)
 
-    assert CONFIRMATION
-    return object_detail(request, Simulation.user_objects.all(), object_id,
-                         template_name='SeismoWebPortal/simulation_run_form.html',
-                         extra_context = {'action': request.path}
-                         )
+    raise Http404
 
 run_simulation = login_required(run_simulation)
 
@@ -133,32 +111,30 @@
 simulation_detail = login_required(simulation_detail)
 
 
-def info(request, info_str):
-    template = None
-    if info_str == 'mesh':
-        template = 'SeismoWebPortal/mesh_info.html'
-    elif info_str == 'model':
-        template = 'SeismoWebPortal/model_info.html'
-    elif info_str == 'output_format':
-        template = 'SeismoWebPortal/output_format_info.html'
-    elif info_str == 'movie':
-        template = 'SeismoWebPortal/movie_info.html'
+def par_file(request, sim_id):
+    from django.template import loader, Context
 
-    if template == None:
-        raise Http404
+    response = HttpResponse(mimetype='text/plain')
+    #response['Content-Disposition'] = 'attachment; filename=parameters.xml'
 
-    return render_to_response(template)
+    simulation = get_object_or_404(Simulation, id=sim_id)
 
-def simulation_pml(request, sim_id):
+    t = loader.get_template('SeismoWebPortal/par_file.txt')
+    c = Context({
+        'simulation': simulation,
+    })
+    response.write(t.render(c))
+    return response
+
+def parameters_pml(request, sim_id):
     from django.template import loader, Context
 
     response = HttpResponse(mimetype='text/xml')
     #response['Content-Disposition'] = 'attachment; filename=parameters.xml'
 
-    # Get data from the database here.
     simulation = get_object_or_404(Simulation, id=sim_id)
 
-    t = loader.get_template('SeismoWebPortal/simulation.pml')
+    t = loader.get_template('SeismoWebPortal/parameters.pml')
     c = Context({
         'simulation': simulation,
     })
@@ -237,44 +213,35 @@
     return response
 
 
+def write_stations(stations, response):
+    for station in stations:
+        response.write("%-5s %-3s %8.4f %10.4f %6.1f %6.1f\n" %
+                       (station.code, station.network.code,
+                        station.latitude, station.longitude, station.elevation, station.bur))
+    return
+
+
 def stations_txt(request, sim_id):
     response = HttpResponse(mimetype='text/plain')
 
     simulation = get_object_or_404(Simulation, id=sim_id)
     stations = simulation.stations.station_set.all()
 
-    response.write("%d\n" % len(stations))
-    for station in stations:
-        response.write("%-5s %-3s %8.4f %10.4f %6.1f %6.1f\n" %
-                       (station.code, station.network.code,
-                        station.latitude, station.longitude, station.elevation, station.bur))
+    write_stations(stations, response)
 
     return response
 
+
 def stationlist_detail_txt(request, object_id):
     response = HttpResponse(mimetype='text/plain')
 
     l = get_object_or_404(StationList, id=object_id)
     stations = l.station_set.all()
 
-    response.write("%d\n" % len(stations))
-    for station in stations:
-        response.write("%-5s %-3s %8.4f %10.4f %6.1f %6.1f\n" %
-                       (station.code, station.network.code,
-                        station.latitude, station.longitude, station.elevation, station.bur))
+    write_stations(stations, response)
 
     return response
 
-def output_tar_gz(request, sim_id):
-    import shutil
-    response = HttpResponse(mimetype='application/x-gtar')
-    response['Content-Encoding'] = 'gzip'
-    response['Content-Disposition'] = 'attachment; filename=simulation-%s.tar.gz' % sim_id
-    filename = os.path.join(OUTPUT_ROOT, sim_id + '.tar.gz')
-    stream = open(filename, 'rb')
-    shutil.copyfileobj(stream,  response)
-    stream.close()
-    return response
 
 def update_run_status(request, object_id):
     from forms import RunStatusManipulator
@@ -882,9 +849,6 @@
 
 def parse_station_list(stationList, stream):
 
-    # discard the count
-    stream.readline()
-    
     for line in stream:
 
         # parse the line
@@ -965,35 +929,6 @@
 
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# Runs
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
-def run_list(request):
-    from django.views.generic.list_detail import object_list
-    new = request.GET.get('new')
-    if new is not None:
-        new = int(new)
-    return object_list(request,
-                       Run.objects.filter(simulation__user = request.user).order_by('-started'),
-                       allow_empty=True,
-                       extra_context = {'new': new},
-                       )
-
-
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# Jobs
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
-def job_list(request):
-    from django.views.generic.list_detail import object_list
-    return object_list(request,
-                       Job.objects.filter(run__simulation__user = request.user),
-                       allow_empty=True)
-
-
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 # Help
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -1044,4 +979,106 @@
     return
 
 
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# Mineos
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+def mineos_parameters_pml(request, sim_id):
+    from django.template import loader, Context
+
+    response = HttpResponse(mimetype='text/xml')
+
+    simulation = get_object_or_404(Simulation, id=sim_id)
+
+    t = loader.get_template('SeismoWebPortal/mineos_parameters.pml')
+    c = Context({
+        'simulation': simulation,
+    })
+    response.write(t.render(c))
+    return response
+
+
+def mineos_event_txt(request, sim_id):
+    from math import log10, fabs, pow, ldexp
+    
+    response = HttpResponse(mimetype='text/plain')
+
+    simulation = get_object_or_404(Simulation, id=sim_id)
+    
+    for source in simulation.events.source_set.all():
+        cmt = CMTSolution.createFromDBModel(source)
+
+        logs = [int(log10(fabs(x))) for x in (cmt.Mrr, cmt.Mtt, cmt.Mpp, cmt.Mrt, cmt.Mrp, cmt.Mtp)]
+        biggestLog = max(logs)
+        coefficient = pow(10.0, biggestLog)
+        
+        response.write("%-8s %s %5.2f %5.2f %7.2f %6.2f %3.1f %4.1f %.2e %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f %.1e 0 0 0 0 0 0\n" %
+                       (source.eventName[0:8],
+                        source.when.strftime("%Y %j %H %M"), cmt._second,
+                        cmt.latitude, cmt.longitude, cmt.depth,
+                        simulation.step,
+                        cmt.halfDuration, # negative?
+                        cmt.scalarSeismicMoment(), # will '+' cause trouble?
+                        cmt.Mrr / coefficient,
+                        cmt.Mtt / coefficient,
+                        cmt.Mpp / coefficient,
+                        cmt.Mrt / coefficient,
+                        cmt.Mrp / coefficient,
+                        cmt.Mtp / coefficient,
+                        coefficient,
+                        ))
+
+    return response
+
+
+def mineos_stations_site(request, sim_id):
+    response = HttpResponse(mimetype='text/plain')
+    
+    simulation = get_object_or_404(Simulation, id=sim_id)
+
+    stations = simulation.stations.station_set.all()
+    ondate = 0
+    offdate = -1
+    statype = refsta = "-"
+    dnorth = deast = 0.0
+    lddate = "01/01/01 00:00:00"
+    for station in stations:
+        #                                                                refsta
+        #               sta    on  off lat   lon   elev  staname  statype      dnorth deast lddate
+        response.write("%-6.6s %8d %8d %9.4f %9.4f %9.4f %-50.50s %-4.4s %-6.6s %9.4f %9.4f %-17.17s\n" %
+                       (station.code, ondate, offdate,
+                        station.latitude, station.longitude, station.elevation,
+                        station.network.name, statype, refsta, dnorth, deast, lddate))
+
+    return response
+
+
+def mineos_stations_sitechan(request, sim_id):
+    response = HttpResponse(mimetype='text/plain')
+    
+    simulation = get_object_or_404(Simulation, id=sim_id)
+
+    stations = simulation.stations.station_set.all()
+    chanid = -1
+    
+    # Mineos actually cares about the date range.  Stations that were
+    # inactive at the time of the event are filtered out.
+    ondate = 0
+    offdate = -1
+    
+    ctype = "n"
+    descrip = "-"
+    lddate = "01/01/01 00:00:00"
+    for station in stations:
+        for channel, hang, vang in (('LHE', 90.0, 90.0),
+                                    ('LHN',  0.0, 90.0),
+                                    ('LHZ',  0.0,  0.0)):
+            #               sta    chan   on  id  off ctype  cdepth hang vang  descrip  lddate
+            response.write("%-6.6s %-8.8s %8d %8d %8d %-4.4s %9.4f %6.1f %6.1f %-50.50s %-17.17s\n" %
+                           (station.code, channel, ondate, chanid, offdate, ctype,
+                            station.bur, hang, vang, descrip, lddate))
+
+    return response
+
+
 # end of file



More information about the cig-commits mailing list