[cig-commits] r6802 - in mc/3D/CitcomS/branches/compressible: lib
visual
tan2 at geodynamics.org
tan2 at geodynamics.org
Tue May 8 14:28:46 PDT 2007
Author: tan2
Date: 2007-05-08 14:28:45 -0700 (Tue, 08 May 2007)
New Revision: 6802
Modified:
mc/3D/CitcomS/branches/compressible/lib/Output.c
mc/3D/CitcomS/branches/compressible/visual/autocombine.py
mc/3D/CitcomS/branches/compressible/visual/batchcombine.py
mc/3D/CitcomS/branches/compressible/visual/dxgeneral.py
mc/3D/CitcomS/branches/compressible/visual/pasteCitcomData.py
Log:
Changing the header format of comp_nd/comp_el ASCII outputs. The combining scripts are updated as well.
The header has two lines, in the format of:
ijunk n_rows time n_columns
initial_bulk_composition[i] current_bulk_composition[i] (i = 0 to n_columns)
Modified: mc/3D/CitcomS/branches/compressible/lib/Output.c
===================================================================
--- mc/3D/CitcomS/branches/compressible/lib/Output.c 2007-05-08 21:17:29 UTC (rev 6801)
+++ mc/3D/CitcomS/branches/compressible/lib/Output.c 2007-05-08 21:28:45 UTC (rev 6802)
@@ -443,11 +443,11 @@
fp1 = output_open(output_file);
for(j=1;j<=E->sphere.caps_per_proc;j++) {
- fprintf(fp1,"%3d %7d %.5e",
+ fprintf(fp1,"%3d %7d %.5e %d\n",
j, E->lmesh.nel,
- E->monitor.elapsed_time);
+ E->monitor.elapsed_time, E->composition.ncomp);
for(i=0;i<E->composition.ncomp;i++) {
- fprintf(fp1," %.5e %.5e",
+ fprintf(fp1,"%.5e %.5e ",
E->composition.initial_bulk_composition[i],
E->composition.bulk_composition[i]);
}
@@ -478,11 +478,11 @@
fp1 = output_open(output_file);
for(j=1;j<=E->sphere.caps_per_proc;j++) {
- fprintf(fp1,"%3d %7d %.5e",
+ fprintf(fp1,"%3d %7d %.5e %d\n",
j, E->lmesh.nel,
- E->monitor.elapsed_time);
+ E->monitor.elapsed_time, E->composition.ncomp);
for(i=0;i<E->composition.ncomp;i++) {
- fprintf(fp1," %.5e %.5e",
+ fprintf(fp1,"%.5e %.5e ",
E->composition.initial_bulk_composition[i],
E->composition.bulk_composition[i]);
}
Modified: mc/3D/CitcomS/branches/compressible/visual/autocombine.py
===================================================================
--- mc/3D/CitcomS/branches/compressible/visual/autocombine.py 2007-05-08 21:17:29 UTC (rev 6801)
+++ mc/3D/CitcomS/branches/compressible/visual/autocombine.py 2007-05-08 21:28:45 UTC (rev 6802)
@@ -34,6 +34,8 @@
# default values for CitcomS input
defaults = {'output_format': 'ascii',
'output_optional': 'surf,botm',
+ 'buoy_type': 1,
+ 'tracer_flavors': 2,
'nprocx': 1,
'nprocy': 1,
'nprocz': 1,
@@ -89,6 +91,19 @@
output_optional = parser.getstr('output_optional')
optional_fields = normalize_optional(output_optional)
+ buoy_type = parser.getint('buoy_type')
+ nflavors = parser.getint('tracer_flavors')
+ if buoy_type == 0:
+ ncompositions = nflavors
+ elif buoy_type == 1:
+ ncompositions = nflavors - 1
+ else:
+ print "Error: don't know how to combine the output", \
+ "(buoy_type=%d)" % buoy_type
+ sys.exit(1)
+
+
+
nodex = parser.getint('nodex')
nodey = parser.getint('nodey')
nodez = parser.getint('nodez')
@@ -104,7 +119,7 @@
bc.batchcombine(nodelist, datadir, datafile, timestep,
nodex, nodey, nodez,
ncap, nprocx, nprocy, nprocz,
- optional_fields)
+ optional_fields, ncompositions)
Modified: mc/3D/CitcomS/branches/compressible/visual/batchcombine.py
===================================================================
--- mc/3D/CitcomS/branches/compressible/visual/batchcombine.py 2007-05-08 21:17:29 UTC (rev 6801)
+++ mc/3D/CitcomS/branches/compressible/visual/batchcombine.py 2007-05-08 21:28:45 UTC (rev 6802)
@@ -29,7 +29,7 @@
'''
Paste and combine Citcom data
-Usage: batchcombine.py <machinefile | node-list> datadir datafile timestep nodex nodey nodez ncap nprocx nprocy nprocz
+Usage: batchcombine.py <machinefile | node-list> datadir datafile timestep nodex nodey nodez ncap nprocx nprocy nprocz [ncompositions]
'''
@@ -100,7 +100,8 @@
def batchcombine(nodes, datadir, datafile, timestep, nodex, nodey, nodez,
- ncap, nprocx, nprocy, nprocz, optional_fields):
+ ncap, nprocx, nprocy, nprocz, optional_fields,
+ ncompositions=0):
# paste
opts0 = 'coord,velo,visc'
opts1 = optional_fields
@@ -132,8 +133,8 @@
combined_files0.append('%(datafile)s.cap%(cap)02d.%(timestep)d' % vars())
combined_files1.append('%(datafile)s.opt%(cap)02d.%(timestep)d' % vars())
- dxgeneral.write(opts0, combined_files0)
- dxgeneral.write(opts1, combined_files1)
+ dxgeneral.write(opts0, 0, combined_files0)
+ dxgeneral.write(opts1, ncompositions, combined_files1)
return
@@ -143,7 +144,7 @@
import sys
- if not len(sys.argv) == 12:
+ if len(sys.argv) < 12:
print __doc__
sys.exit(1)
@@ -159,11 +160,16 @@
nprocy = int(sys.argv[10])
nprocz = int(sys.argv[11])
+ if len(sys.argv) < 13:
+ ncompositions = 0
+ else:
+ ncompositions = int(sys.argv[12])
+
totalnodes = nprocx * nprocy * nprocz * ncap
nodelist = machinefile2nodelist(machinefile, totalnodes)
batchcombine(nodelist, datadir, datafile, timestep, nodex, nodey, nodez,
- ncap, nprocx, nprocy, nprocz)
+ ncap, nprocx, nprocy, nprocz, ncompositions)
Modified: mc/3D/CitcomS/branches/compressible/visual/dxgeneral.py
===================================================================
--- mc/3D/CitcomS/branches/compressible/visual/dxgeneral.py 2007-05-08 21:17:29 UTC (rev 6801)
+++ mc/3D/CitcomS/branches/compressible/visual/dxgeneral.py 2007-05-08 21:28:45 UTC (rev 6802)
@@ -28,13 +28,13 @@
'''Create OpenDX .general file for combined Citcom Data
- Usage: dxgeneral.py combined_fields file1 [file2 [...]]
+ Usage: dxgeneral.py combined_fields ncompositions file1 [file2 [...]]
'''
import os, sys
-def write(opts, filenames):
+def write(opts, ncomp, filenames):
for filename in filenames:
if not os.path.exists(filename):
@@ -47,7 +47,7 @@
f = open(outfile, 'w')
try:
- write_general_file(f, filename, opts, shape)
+ write_general_file(f, filename, opts, shape, ncomp)
finally:
f.close()
@@ -65,7 +65,7 @@
-def write_general_file(f, filename, opts, shape):
+def write_general_file(f, filename, opts, shape, ncomp):
template = '''file = %(filename)s
grid = %(shape_str)s
@@ -96,6 +96,10 @@
'velo': '3-vector, scalar',
'visc': 'scalar'}
+ # 'comp_nd' needs special treatment
+ if ncomp > 1:
+ struct['comp_nd'] = '%d-vector' % ncomp
+
# mapping from opt name to data type
type = {'comp_nd': 'float',
'coord': 'float',
@@ -108,6 +112,7 @@
opt_struct = []
opt_type = []
for opt in opts.split(','):
+ opt = opt.strip()
opt_field.append(field[opt])
opt_struct.append(struct[opt])
opt_type.append(type[opt])
@@ -129,9 +134,10 @@
sys.exit(1)
opts = sys.argv[1]
- filenames = sys.argv[2:]
+ ncomp = int(sys.argv[2])
+ filenames = sys.argv[3:]
- write(opts, filenames)
+ write(opts, ncomp, filenames)
# End of file
Modified: mc/3D/CitcomS/branches/compressible/visual/pasteCitcomData.py
===================================================================
--- mc/3D/CitcomS/branches/compressible/visual/pasteCitcomData.py 2007-05-08 21:17:29 UTC (rev 6801)
+++ mc/3D/CitcomS/branches/compressible/visual/pasteCitcomData.py 2007-05-08 21:28:45 UTC (rev 6802)
@@ -120,7 +120,7 @@
# how many header lines for each infix
headers = {'coord': 1,
'botm': 1,
- 'comp_nd': 1,
+ 'comp_nd': 2,
'pressure': 2,
'stress': 2,
'surf': 1,
More information about the cig-commits
mailing list