CMO
The cmo command operates on the Mesh Object(MO). There can be many Mesh Objects in the code for a given problem. Only one of these Mesh Objects may by the Current Mesh Object. There is also one Default Mesh Object which is used as the template for generating new Mesh Objects.
FORMAT:
Add a user defined attribute to a Mesh Object
cmo/addatt /mo_name/att_name/type/rank/ length/interpolate/persistence/ioflag/value
cmo/addatt /mo_name /keyword / keyword_parameters

Give the sink mesh the same set of attributes as the source mesh (with unitialized values)
cmo/attribute_derive/sink_mo/[src_mo]

Change two meshes so they both share the same set of attributes (taking the union of their sets of attributes)
cmo/attribute_union/mo_name_1/mo_name_2

Shorten all memory managed arrays associated with mo_name to their actual lengths
cmo/compress/mo_name/

Associate the surface constraint information of the mesh object cmo_src with cmo_sink:
cmo/constraint/cmo_sink/cmo_src

Copy master_mo to mo_name:
cmo/copy/mo_name/master_mo/

Copy a mesh object attribute:
cmo/copyatt/cmosink/cmo_src/att_nam_sink/att_nam_src

Create a new mesh object:
cmo/create/mo_name/[npoints/nelements/mesh-type]

Delete an existing mesh object:
cmo/delatt/mo_name/att_name/

Delete an existing mesh object even it has 'permanent' persistance:
cmo/DELATT/mo_name/att_name/

Copy the structure of master_mo to mo_name, but copy no data:
cmo/derive/mo_name/master_mo/

Associate the geometry named geometry_name with the mesh object mo_name:
cmo/geometry/mo_name/geometry_name

Print the memory length of attribute att_name for Mesh Object, mo_name:
cmo/length/mo_name/att_name/

List all mesh objects:
cmo/list

Adjust the memory manages arrays associated with mo_name to the
lengths required by number_nodes and number_elements:
cmo/memory/ mo_name/number_nodes/number_elements /

Modify an attribute parameter value:
cmo/modatt/mo_name/att_name/field_name/new_field/

Change the name of a mesh object:
cmo/move/mo_name /master_mo /

Adjust the memory length of mo_name based on the values of nnodes and
nelements:
cmo/newlen/mo_name/

Print the value of an attribute:
cmo/printatt/mo_name/att_name|-all-|-xyz-|nod / [minmax|list|value] /[ifirst,ilast,istride]

Read values for an attribute from a file:
cmo/readatt/mo_name/att_name/[...]/operation/file_name

Release a mesh object (same as delete):
cmo/release/mo_name/

Make mo_name the active mesh object:
cmo/select/mo_name/

Set the value of an attribute:
cmo/setatt/mo_name/att_name/ifirst,ilast,istride/value

Create an integer attribute that contains the node or element number:
cmo/set_id/mo_name/node |element |both/[att_nam1]/[att_nam2]

Print the mesh object status (all attributes and values of scalars)
cmo/status/mo_name/[brief]

Verifie that memory allocation of Mesh Object mo_name is consistent:
cmo/verify/mo_name/
 

CONVENTION: As a result of any command that generates a new mesh object, the newly generated mesh object becomes active. As a result of any command the changes a mesh
object (e.g. copyatt) the changed mesh object becomes active.  Use cmo/select to explicitly
specify the active mesh object.

RESERVED NAMES: The following names are reserved and may not be used for Mesh Objectnames:

-cmo-       the Current Mesh Object
-default-     the Default Mesh Object
-all-       all Mesh Objects or Attributes
TYPES, DEFAULTS and POSSIBLE VALUES:
mo_name  is type character
att_name is type character
mesh_type is type character

 (tet,hex,pri,pyr,tri,qua,hyb,line,point)
type  is type character, default is VDOUBLE

 (VDOUBLE, VINT, VCHAR, INT, REAL, CHARACTER)

VDOUBLE real array

VINT integer array
VCHAR array of character*32

INT a single integer variable (length =1 rank =1 by definition)
REAL a single real variable (length =1 rank =1 by definition)
CHARACTER a single character*32 variable (length =1 rank =1 by definition)
rank is type character, default is scalar

(scalar,vector,tensor)

scalar one entry per array element

vector 3 entries per array element

tensor 9 entries per array element

any previously defined INT attribute including user defined attributes may be used as rank
length is type character, default is nnodes
(nnodes, nelements)
any previously defined INT attribute including user defined attributes may be used as length 
interpolate is type character, default is linear

(copy, sequence, linear, log, asinh, max,
min, user,and,or,incmax)
ioflag (a, g, f, l, no -- for avs,gmv,fehms,LaGriT)