[cig-commits] r13342 - cs/portal/trunk/northridge/SeismoWebPortal
leif at geodynamics.org
leif at geodynamics.org
Tue Nov 18 19:19:34 PST 2008
Author: leif
Date: 2008-11-18 19:19:33 -0800 (Tue, 18 Nov 2008)
New Revision: 13342
Modified:
cs/portal/trunk/northridge/SeismoWebPortal/management.py
cs/portal/trunk/northridge/SeismoWebPortal/models.py
Log:
Import 3D models during 'syncdb'.
Modified: cs/portal/trunk/northridge/SeismoWebPortal/management.py
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/management.py 2008-11-19 02:23:08 UTC (rev 13341)
+++ cs/portal/trunk/northridge/SeismoWebPortal/management.py 2008-11-19 03:19:33 UTC (rev 13342)
@@ -62,6 +62,21 @@
return
+def createSpecfem3DGlobeModels(modelDir):
+ from fformats import Specfem3DGlobeModelFormat
+ from os.path import basename, join
+ from glob import glob
+
+ format = Specfem3DGlobeModelFormat()
+ for pathname in glob(join(modelDir, "*.tgz")):
+ stream = open(pathname, 'r')
+ model = format.create(basename(pathname), stream)
+ print "Adding Specfem3DGlobeModel '%s'" % model
+ models.BuiltIn.objects.create(obj = model)
+
+ return
+
+
def createStationList():
from fformats import StationListFormat
from os.path import dirname, join
@@ -365,7 +380,11 @@
m.nex_xi() < mesh.nex_xi())):
# Select the lowest-resolution global mesh.
mesh = m
- model = None # XXX
+ model = None
+ for m in models.Specfem3DGlobeModel.userObjectList(user)[0]:
+ if m.name == "s20rts":
+ model = m
+ break
if mesh and model:
parameters = models.Specfem3DGlobeParameters(mesh = mesh, model = model)
parameters.name = "%s all on, %.0fs Nex=%d" % (
@@ -440,6 +459,11 @@
createSpecfem3DGlobeMeshes()
flag = True
+ specfemModelDir = os.environ.get('WEBPORTAL_3D_MODELS')
+ if (models.Specfem3DGlobeModel in created_models and
+ specfemModelDir):
+ createSpecfem3DGlobeModels(specfemModelDir)
+
# Mineos
if models.MineosParameters in created_models:
flag = True
Modified: cs/portal/trunk/northridge/SeismoWebPortal/models.py
===================================================================
--- cs/portal/trunk/northridge/SeismoWebPortal/models.py 2008-11-19 02:23:08 UTC (rev 13341)
+++ cs/portal/trunk/northridge/SeismoWebPortal/models.py 2008-11-19 03:19:33 UTC (rev 13342)
@@ -404,7 +404,7 @@
class Specfem3DGlobeModel(Model, EditableObject):
name = models.CharField(maxlength=100)
- pathname = models.FileField(upload_to="SeismoWebPortal/models")
+ pathname = models.FileField(upload_to="SeismoWebPortal/models/3D")
description = models.TextField(blank=True)
def __str__(self): return self.name
More information about the CIG-COMMITS
mailing list