UCVM create new model with ucvm2mesh

From SCECpedia
Jump to navigationJump to search

mesh data

Select a region of interest with existing cvm models,

Generate vp/vs/rho data files using ucvm2mesh

config file for ucvm2mesh

 ucvm2mesh -f southbay_sfcvm.conf > southbay_sfcvm.out 

Origin is at the left top, and going down in fast-Y axis in writing out the binary data

# List of CVMs to query
ucvmlist=sfcvm

# UCVM conf file
ucvmconf=/var/www/html/UCVM_web_sfcvm_mei/web/model/UCVM_TARGET/conf/ucvm.conf

# Gridding cell centered or vertex
gridtype=CENTER

# Spacing of cells
spacing=20.0

# Projection
proj=+proj=utm +datum=WGS84 +zone=10
rot=-39.9
x0=-121.8384
y0=37.2533
z0=0.0

# Number of cells along each dim
nx=140
ny=70
nz=60

# Partitioning of grid among processors
px=2
py=2
pz=2

# Vs/Vp minimum
vp_min=0
vs_min=0

# Mesh and grid files, format
meshfile=southbay_sfcvm.media
gridfile=southbay_sfcvm.grid
meshtype=SORD

# Location of scratch dir
scratch=./scratch

Output:

[0] Using config file southbay_sfcvm.conf
[0] Configuration:
	[0] UCVM Model List: sfcvm
	[0] UCVM Conf file: /var/www/html/UCVM_web_sfcvm_mei/web/model/UCVM_TARGET/conf/ucvm.conf
	[0] Gridtype: 0
	[0] Querymode: 0
	[0] Spacing: 20.000000
	[0] Projection: +proj=utm +datum=WGS84 +zone=10
		[0] Rotation Angle: -39.900000
		[0] Origin x0,y0,z0: -121.838400, 37.253300, 0.000000
		[0] Dimensions: 140, 70, 60
	[0] Proc Dimensions: 2, 2, 2
	[0] Vp Min: 0.000000, Vs Min: 0.000000
	[0] Mesh File: southbay_sfcvm.media
	[0] Grid File: southbay_sfcvm.grid
	[0] Mesh Type: 4
	[0] Scratch Dir: ./scratch
Setting up UCVM
Generating 2D grid
Converting grid to latlong
Grid generation complete
Allocating 9800 grid points
Mesh dimensions: 140 x 70 x 60
Reading grid points
Grid 4 corners:
  -121.838241 37.253310 (0)
  -121.814448 37.237001 (139)
  -121.828113 37.262752 (9660)
  -121.804320 37.246441 (9799)
Extracted slice 0 (9800 pnts) in 248.13 ms, 39495.742188 pps
...

setup config for ucvm model

NOTE: nx and ny needs to be swapped from the ucvm2mesh's parameters

# UTM Zone
utm_zone = 10

# Model directory, for 6 iterations
model_dir = cs242
model_data_path  = https://g-c662a6.a78b8.36fe.data.globus.org/ucvm/models

# Number of cells in x, y, and z.
nx = 140
ny = 70
nz = 60

interpolation = on

# Depth, in meters
depth = 1200
depth_interval = 20

# Corners, in UTM projection.
#-121.838241,37.253310,0
#-121.814448,37.237001,0
#-121.828113,37.262752,0
#-121.804320,37.246441,0
#
#lon(-121.838241)lat(37.253310) => utm_e(603123.693099),utm_n(4123409.463672)
#lon(-121.814448)lat(37.237001) => utm_e(605256.447077),utm_n(4121626.242860)
#lon(-121.828113)lat(37.262752) => utm_e(604008.906310),utm_n(4124468.090587)
#lon(-121.804320)lat(37.246441) => utm_e(606141.579119),utm_n(4122684.881493)

top_left_corner_e = 603123.693099
top_left_corner_n = 4123409.463672

bottom_left_corner_e    = 605256.447077
bottom_left_corner_n    = 4121626.242860

top_right_corner_e      = 604008.906310
top_right_corner_n      = 4124468.090587

bottom_right_corner_e   = 606141.579119
bottom_right_corner_n   = 4122684.881493

# Data Layout Parameters 
seek_axis = fast-Y
seek_direction = top-down


An example: using ucvm2mesh_mpi at Frontier

the Slurm script,


the mesh conf script,


the output log,


Next: process for 4 corners

in $UCVM_SRC_PATH/src/ucvm2mesh

make grid4corners

run,

grid4corners norcal_mesh.grid 3000 1400

output,

Grid 4 corners:
  -121.899223 36.299894 (0)
  -120.013908 34.083659 (2999)
  -120.618201 37.024137 (4197000)
  -118.753975 34.789165 (4199999)

convert to 4 corners in geo,


Compose model data/config,


Pack up a model tar ball,