Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This

...

page

...

describes

...

the

...

process

...

of

...

running

...

an

...

XAL

...

model

...

of

...

the

...

LCLS

...

accelerator,

...

and

...

uploading

...

that

...

model

...

to

...

Oracle,

...

from

...

where

...

it

...

can

...

be

...

accessed

...

by

...

Matlab

...

and

...

Java

...

applications

...

through

...

AIDA.

...

Running

...

and

...

Uploading

...

the

...

Online

...

XAL

...

Model

...

To

...

run

...

an

...

XAL

...

model,

...

you

...

can

...

use

...

the

...

interactive

...

matlab

...

scripts

...

xalRunModel.m

...

or

...

xalGetModel.m.

...

These

...

can

...

be

...

run

...

directly

...

from

...

matlab,

...

or

...

from

...

lclshome

...

(as

...

described

...

below).

...

The

...

basic

...

process

...

is

...

the

...

same

...

in

...

either

...

case

...

-

...

xalGetModel

...

additionally

...

plots

...

dispersion,

...

betas,

...

and

...

energy.

...

Cheatsheet

...

-

...

Summary

...

of

...

running

...

the

...

model

...

using

...

xalGetModel:

...


This

...

is

...

the

...

basic

...

procedure

...

for

...

running

...

and

...

uploading

...

a

...

model.

...

For

...

more

...

details,

...

see

...

the

...

sections

...

#running

...

and #uploading below.

  • Select a beamline to be modelled
  • Decide whether to run extant or design model
  • If "extant",

...

  • run

...

  • LEM

...

  • lite,

...

  • to

...

  • check

...

  • energy

...

  • profile

...

  • Run

...

  • the

...

  • XAL

...

  • model

...

  • (can

...

  • take

...

  • 30s

...

  • -

...

  • 1

...

  • minute).

...

  • Check

...

  • resulting

...

  • energy.

...

  • Wiki Markup
    \[If you ran xalGetModel, then inspect the model plots \]

...

  • Run

...

  • the

...

  • XAL

...

  • XML

...

  • Writer

...

  • (to

...

  • create

...

  • the

...

  • model

...

  • upload

...

  • file)

...

  • Upload

...

  • the

...

  • model

...

  • to

...

  • the

...

  • database.

...

...

...

...

...

...

  • .
    Note: there is no "back" facility. Just abort (ctrl-c to get to the matlab prompt, and start over).

Anchor
running
running
Running a Model in Detail

  1. Wiki Markup
    From lclshome -> User Dev Displays panel. !image:lclshome_userdevbtn.jpg|thumbnail!

...

  1. Wiki Markup
    Run one of the matlab scripts xalRunModel or xalGetModel.

...

  1. 
     *xalRunModel* simply runs the model and creates the upload files
     *xalGetModel* is as xalRunModel, but additionally returns ("gets") the model data to your matlab session. It also creates model plots.
    !image:userDevPnl.jpg|thumbnail!
    The following is a run-through of running xalGetModel for the Extant machine. See the full transcript of this example below.   
    !image:xalGetModel.jpg|thumbnail!

...

    1. Wiki Markup
      *Select a beamline.* For example, select "Cathode to Dump" This runs the LCLS "Full Machine" model, from the LCLS Cathode to the main Dump. See [Why are all models from Cathode to some location|#whysameloc].
      !image:selectabeamline.jpg|thumbnail!

...

    1. Wiki Markup
      *Select whether to "Run extant machine or design model? (x/d) \[d\]:*". Hit x or d, and RETURN.
       Running the "design" model (choice "d") causes the XAL model to be run with the element setpoint values in the model input files. Those design setpoint values are, [to the extent possible, identical to the MAD design|#modeldiffs]. Running the "extant" model (choice "x") will cause the model execution to first replace the design values of beamline devices, with the actual readback values, as acquired through EPICS and AIDA, prior to running the envelope tracker.  That is, "extant" is equivalent to what was called "DATABASE" in the SLC modelling system; it describes the extant machine at the time the model is run.
      !image:xalGetModelextant|thumbnail!
      *Stages of running the (extant) model are as follows:*

...

      • Wiki Markup
        *1) "Initial Twiss"* is displayed. Check the initial conditions which will be used for the model run. These are presently taken from the SLC marker point 80. You can check these at any time with AIDAWeb ([MARK:VX80:80//twiss MODE=5|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=MARK%3AVX00%3A80%2F%2Ftwiss+MODE%3D5&Query+Action=Get+Data]; the values are Energy (GeV), psix, betax (m), alphax , etax (m), etax', psiy, betay (m), alphay, etay (m), etay')
        !image:extantinitconditions.jpg|thumbnail!
        If these appear fine, then confirm to continue.

...

      • 2)

...

      • "Run

...

      • LEM

...

      • 'Lite'"

...

      • .

...

      • This

...

      • will

...

      • calculate

...

      • and

...

      • display

...

      • the

...

      • fudge

...

      • factors

...

      • and

...

      • predicted

...

      • energy.

...

      • When

...

      • it

...

      • has

...

      • completed,

...

      • check

...

      • in

...

      • particular

...

      • that

...

      • the

...

      • final

...

      • energy

...

      • at

...

      • the

...

      • undulator

...

      • (see

...

      • Energy

...

      • comlumn,

...

      • and

...

      • the

...

      • row

...

      • of

...

      • output

...

      • labelled

...

      • "BSY")

...

      • is

...

      • reasonable,

...

      • e.g.

...

      • 9.25

...

      • GeV.

...


      • If

...

      • energy

...

      • appears

...

      • fine,

...

      • then

...

      • confirm

...

      • to

...

      • continue.

...

      • 3)

...

      • "Run

...

      • XAL

...

      • machine

...

      • model."

...

      • This

...

      • can

...

      • take

...

      • up

...

      • to

...

      • a

...

      • minute

...

      • to

...

      • execute,

...

      • so

...

      • please

...

      • be

...

      • patient.

...

      • When

...

      • it

...

      • has

...

      • completed,

...

      • if

...

      • you

...

      • ran

...

      • xalGetModel,

...

      • you

...

      • should

...

      • get

...

      • 3

...

      • plots

...

      • -

...

      • the

...

      • dispersion,

...

      • betas,

...

      • and

...

      • energy

...

      • vs

...

      • Z.

...

      • The

...

      • plots

...

      • may

...

      • overlap,

...

      • and

...

      • the

...

      • energy

...

      • plot

...

      • is

...

      • on

...

      • the

...

      • bottom,

...

      • so

...

      • move

...

      • the

...

      • others

...

      • to

...

      • check

...

      • it.

...

      • 4)

...

      • "Create

...

      • MAD

...

      • patch

...

      • file".

...

      • This

...

      • stage

...

      • is

...

      • always

...

      • entered,

...

      • you

...

      • don't

...

      • need

...

      • to

...

      • do

...

      • anything.

...

      • It

...

      • only

...

      • takes

...

      • a

...

      • moment

...

      • to

...

      • create

...

      • these.

...

      • Wiki Markup
        "Create and upload XML model files to Oracle? (y/n) \[n\]: " If it all looks good, and you want to upload to Oracle, say "y".

...

      • 5)

...

      • "Run

...

      • XML

...

      • writer."

...

      • If

...

      • you

...

      • said

...

      • y

...

      • to

...

      • create

...

      • the

...

      • upload

...

      • files,

...

      • you'll

...

      • now

...

      • see

...

      • "Run

...

      • XML

...

      • writer."

...

      • This

...

      • is

...

      • where

...

      • the

...

      • file

...

      • containing

...

      • the

...

      • model

...

      • results

...

      • to

...

      • be

...

      • uploaded

...

      • to

...

      • Oracle,

...

      • is

...

      • created.

...

      • This

...

      • also

...

      • takes

...

      • half

...

      • a

...

      • minute

...

      • or

...

      • so.

...


      • When

...

      • it

...

      • has

...

      • completed,

...

      • you

...

      • should

...

      • see

...

      • that

...

      • 3

...

      • files

...

      • have

...

      • been

...

      • created:

...

      • E.g.

...

      • Code Block

...

      • 
        /u1/lcls/physics/onlinemodel/xal/xalElements_20090120_115855.xml created
        /u1/lcls/physics/onlinemodel/xal/xalDevices_20090120_115855.xml created
        /u1/lcls/physics/onlinemodel/xal/xalModel_20090120_115855.mat created
        

...

    1. Upload the XAL model online on the web. See next section.

Anchor
uploading
uploading
Uploading the XAL model files

After running the models and creating the online model output files, we must upload their data to the Oracle model server. From there the data can be inspected, or retrieved through AIDA.
At the end of running the model, xalGetModel or xalRunModel should have launched a Firefox browser, open at the web application you use to upload the model into Oracle. The Firefox page should look like this:
Image Added
If you do NOT see this page (and unfortunately, sometimes Firefox does fail to start at the right page) you can use the "XAL Model" tab (see picture) in Firefox to take you to there.
You can log into the web application at any time at the URL: https://oraweb.slac.stanford.edu/apex/slacprod/f?p=400Image Added.

...

(See

...

note

...

on

...

supported

...

hosts)

...

You

...

might

...

want

...

to

...

do

...

this

...

to

...

inspect

...

the

...

data

...


The

...

password

...

for

...

user

...

name

...

MACHINE_MODEL,

...

is

...

recorded

...

in

...

the

...

physics

...

logbook

...

entry

...

/lclselog/data/2009/02/06.01

...


The procedure for uploading the model files into Oracle:

  1. Upload the model files.
    Once you're in the web application you should see "Select Device File" and "Select Elements File". These 2 files (of the 3) created by the above model running procedure must be uploaded to Oracle in unison. When a file has been entered for BOTH of these, you can hit "Submit" at the bottom of the dialog screen to start the process of Upload into Oracle.
    1. Select the Devices file.
      Hit the "Select Device File" button. You can either enter a full filename by hand, or use the filebrowser, to browse to /mccfs2/u1/lcls/physics/onlinemodel/xal/

...

    1. and

...

    1. select

...

    1. the

...

    1. Devices

...

    1. file

...

    1. you

...

    1. created

...

    1. in

...

    1. the

...

    1. process

...

    1. above.

...

    1. in

...

    1. our

...

    1. example

...

    1. above

...

    1. this

...

    1. files

...

    1. was

...

    1. named

...

    1. "xalDevices_20090120_115855.xml".

...

    1. (Tip:

...

    1. since

...

    1. there

...

    1. are

...

    1. many

...

    1. files

...

    1. in

...

    1. this

...

    1. directory,

...

    1. hit

...

    1. "Last

...

    1. Modified"

...

    1. twice,

...

    1. to

...

    1. sort

...

    1. the

...

    1. files

...

    1. by

...

    1. date,

...

    1. latest

...

    1. first).

...

    1. Select

...

    1. the

...

    1. xalDevices

...

    1. file

...

    1. you

...

    1. created,

...

    1. and

...

    1. hit

...

    1. the

...

    1. Open

...

    1. icon

...

    1. (with

...

    1. a

...

    1. picture

...

    1. of

...

    1. a

...

    1. folder!)

...

    1. in

...

    1. the

...

    1. filebrowser

...

    1. dialog

...

    1. to

...

    1. make

...

    1. the

...

    1. selection.

...

    1. (It's

...

    1. a

...

    1. bit

...

    1. confusing

...

    1. using

...

    1. the

...

    1. word

...

    1. "Open"

...

    1. to

...

    1. mean

...

    1. "Select"

...

    1. -

...

    1. talk

...

    1. to

...

    1. Oracle

...

    1. about

...

    1. that

...

    1. -

...

    1. they

...

    1. went

...

    1. cheap

...

    1. and

...

    1. used

...

    1. the

...

    1. firefox

...

    1. file

...

    1. selection

...

    1. widget,

...

    1. designed

...

    1. for

...

    1. selecting

...

    1. a

...

    1. file

...

    1. to

...

    1. open,

...

    1. but

...

    1. they

...

    1. use

...

    1. it

...

    1. to

...

    1. mean

...

    1. "select").

...

    1. Select

...

    1. the

...

    1. Elements

...

    1. file.

...


    1. Hit

...

    1. the

...

    1. "Select

...

    1. Elements

...

    1. File".

...

    1. The

...

    1. filebrowser

...

    1. should

...

    1. open

...

    1. at

...

    1. the

...

    1. right

...

    1. directory

...

    1. -

...

    1. amazing!

...

    1. Hit

...

    1. "Last

...

    1. Modified"

...

    1. twice

...

    1. to

...

    1. sort

...

    1. the

...

    1. files

...

    1. again,

...

    1. and

...

    1. click

...

    1. on

...

    1. the

...

    1. xalElements

...

    1. file

...

    1. you

...

    1. created

...

    1. in

...

    1. step

...

    1. (question) above.

...

    1. Hit

...

    1. "Open".

...


    1. You

...

    1. do

...

    1. not

...

    1. need

...

    1. to

...

    1. upload

...

    1. the

...

    1. xalElements

...

    1. file

...

    1. at

...

    1. all.

...

    1. Enter

...

    1. a

...

    1. comment.

...

    1. Please

...

    1. include

...

    1. 2

...

    1. items

...

    1. in

...

    1. your

...

    1. comment:

...

      • Your

...

      • name,

...

      • nickname,

...

      • mark,

...

      • catchphrase,

...

      • or

...

      • other

...

      • distinguishing

...

      • refrain

...

      • from

...

      • which

...

      • your

...

      • personal

...

      • guilt

...

      • can

...

      • be

...

      • established.

...

      • The

...

      • Energy

...

      • at

...

      • the

...

      • undulator

...

      • predicted

...

      • in

...

      • step (question) above!
    1. Wiki Markup
      Hit "Submit".
      The time to upload is about 1 minute! Note that additional time is presently spent creating the screen which echos the upload data, but in fact the model data is available for use as soon as you see the XML Uplod Results table:
      !image:XMLUploadResults.jpg|thumbnail!

...

Review

...

the

...

model

...

data.

...

Hit

...

the

...

"Run

...

Data"

...

tab

...

to

...

review

...

the

...

uploaded

...

results

...

of

...

any

...

model

...

which

...

has

...

been

...

uploaded,

...

including

...

the

...

last.

...

Hit

...

the

...

little

...

spectacles

...

icon

...

next

...

to

...

a

...

model

...

upload

...

to

...

view

...

the

...

model

...

parameters

...

of

...

each

...

element

...

calculated

...

as

...

part

...

of

...

that

...

model.

...

This

...

interface

...

takes

...

a

...

while

...

to

...

load

...

the

...

data,

...

but

...

it

...

can

...

do

...

it

...

for

...

any

...

uploaded

...

model.

...


Alternatively,

...

use

...

AIDA

...

to

...

check

...

the

...

Rmats

...

of

...

the

...

model

...

elements

...

for

...

the

...

latest

...

upload.

Anchor
model
model
Model Queries

Aida Query

Description

modelRmats//Design.FullMachine

Latest Design Full Machine (Cathode to Dump) model Rmats for all devices

modelRmats//Design.CathodeToGunSpect

Latest Design Cathode to Gun Spectrometer model Rmats for all devices

modelRmats//Design.CathodeTo135MeVSpect

Latest Design Cathode to 135 Mev Spectrometer model Rmats for all devices

modelRmats//Design.CathodeTo52SL2

Latest Design Cathode to 52 line model Rmats for all devices

modelRmats//Extant.FullMachine

Latest Extant (from actual device settings) Full Machine (Cathode to Dump) model Rmats for all devices

modelRmats//Extant.CathodeToGunSpect

Latest Extant (from actual device settings) Cathode to Gun Spectrometer model Rmats for all devices

modelRmats//Extant.CathodeTo135MeVSpect

Latest Extant (from actual device settings) Cathode to 135 Mev Spectrometer model Rmats for all devices

modelRmats//Extant.CathodeTo52SL2

Latest Extant (from actual device settings) Cathode to 52 line model Rmats for all devices

Model Notes

Anchor
whysameloc
whysameloc
Why are all models from Cathode to some location?

Note that all models require the model to be run from the Cathode to some beam destination, rather than allowing sections to be run independently. This is so that, for now, we can guarantee that physics computations carried out from a number of different devices throughout the machine, are carried out from consistent models made from the same initial conditions. With this technique all devices towards the photon end of the machine, must have been modeled by a model run that incorporated upstream devices. A simple example being Rmat A to B from a corrector in the injection line, to a BPM in the

Anchor
modeldiffs
modeldiffs
Differences between XAL and MAD models.

Which devices are not modelled.
What is not modelled as it is in MAD.

Copy the file to the following directory. It's necessary to copy it to here because it has to be in a directory that can be accessed by the web browser used in the following step. Note, this directory name starts /u1, but when we do the file upload from lcls-prod02 it will start /mccfs2, that's because on lcls-prod02 the directory is accessed through an NFS server mount.

Put XAL XML files here on slc:

Code Block
 
{anchor:model} Model Queries
||Aida Query||Description||
|[modelRmats//Design.FullMachine|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=modelRmats%2F%2FDesign.FullMachine&Query+Action=Get+Data]|Latest Design Full Machine (Cathode to Dump) model Rmats for all devices|
|[modelRmats//Design.CathodeToGunSpect|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=modelRmats%2F%2FDesign.CathodeToGunSpect&Query+Action=Get+Data]|Latest Design Cathode to Gun Spectrometer model Rmats for all devices|
|[modelRmats//Design.CathodeTo135MeVSpect|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=modelRmats%2F%2FDesign.CathodeTo135MeVSpect&Query+Action=Get+Data]|Latest Design Cathode to 135 Mev Spectrometer model Rmats for all devices|
|[modelRmats//Design.CathodeTo52SL2|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=modelRmats%2F%2FDesign.CathodeTo52SL2&Query+Action=Get+Data]|Latest Design Cathode to 52 line model Rmats for all devices|
|[modelRmats//Extant.FullMachine|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=modelRmats%2F%2FExtant.FullMachine&Query+Action=Get+Data]|Latest Extant (from actual device settings) Full Machine (Cathode to Dump) model Rmats for all devices|
|[modelRmats//Extant.CathodeToGunSpect|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=modelRmats%2F%2FExtant.CathodeToGunSpect&Query+Action=Get+Data]|Latest Extant (from actual device settings) Cathode to Gun Spectrometer model Rmats for all devices|
|[modelRmats//Extant.CathodeTo135MeVSpect|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=modelRmats%2F%2FExtant.CathodeTo135MeVSpect&Query+Action=Get+Data]|Latest Extant (from actual device settings) Cathode to 135 Mev Spectrometer model Rmats for all devices|
|[modelRmats//Extant.CathodeTo52SL2|https://seal.slac.stanford.edu/aidaweb/dispatchQuery?Query=modelRmats%2F%2FExtant.CathodeTo52SL2&Query+Action=Get+Data]|Latest Extant (from actual device settings) Cathode to 52 line model Rmats for all devices|

h2. Model Notes
h3. {anchor:whysameloc} Why are all models from Cathode to some location?
Note that all models require the model to be run from the Cathode to some beam destination, rather than allowing sections to be run independently. This is so that, for now, we can guarantee that physics computations carried out from a number of different devices throughout the machine, are carried out from consistent models made from the same initial conditions. With this technique all devices towards the photon end of the machine, must have been modeled by a model run that incorporated upstream devices. A simple example being Rmat A to B from a corrector in the injection line, to a BPM in the   
 
h3. {anchor:modeldiffs} Differences between XAL and MAD models.
Which devices are not modelled.
What is not modelled as it is in MAD.

Copy the file to the following directory. It's necessary to copy it to here because it has to be in a directory that can be accessed by the web browser used in the following step. Note, _this directory name starts /u1, but when we do the file upload from lcls-prod02 it will start /mccfs2_, that's because on lcls-prod02 the directory is accessed through an NFS server mount.

Put XAL XML files here on slc:
{code}
/u1/lcls/physics/onlinemodel/xal
{code}


h2. Update the AIDA Directory service

Having uploaded a new model, we have to tell Aida to update its database of the names of XAL modelled devices. We will teach first aidadev, then aidaprod databases. These are, respectively, the Oracle usernames (ie subschema) of the Aida directory services used on the aida development and production networks.

Log into an AFS Solaris machine like tersk02, and set up the cdsoft environment
{code}

Update the AIDA Directory service

Having uploaded a new model, we have to tell Aida to update its database of the names of XAL modelled devices. We will teach first aidadev, then aidaprod databases. These are, respectively, the Oracle usernames (ie subschema) of the Aida directory services used on the aida development and production networks.

Log into an AFS Solaris machine like tersk02, and set up the cdsoft environment

Code Block
ssh -l<your-username> tersk09
tersk> source /afs/slac/g/cd/soft/dev/script/ENVS.csh
{code}

Enter

...

sqlplus

...

for

...

user

...

AIDADEV

...

on

...

database

...

SLACPROD

...

(SLACPROD

...

will

...

be

...

set

...

by

...

sourcing

...

ENVS.csh

...

above).

{
Code Block
}
sqlplus AIDADEV/<aidadbpassword> 
{code}

Run

...

the

...

updating

...

procedure.

...

This

...

will

...

look

...

in

...

the

...

ELEMENT_MODELS

...

which

...

was

...

updated

...

by

...

the

...

APX

...

load

...

above,

...

and,

...

for

...

every

...

row

...

that

...

has

...

a

...

match

...

in

...

LCLS_ELEMENTS,

...

it

...

will

...

update

...

Aida's

...

directory

...

service

...

with

...

a

...

name

...

composed

...

of

...

the

...

EPICS

...

name

...

of

...

the

...

device

...

+

...

'//twiss'

...

and

...

'//R',

...

and

...

tell

...

Aida

...

that

...

that

...

device's

...

model

...

is

...

to

...

be

...

acquired

...

from

...

the

...

XAL

...

Aida

...

data

...

provider

...

(service

...

id

...

202).

...

aida_xal_names_update

...

takes

...

an

...

optional

...

parameter,

...

to

...

specify

...

whether

...

or

...

not

...

to

...

set

...

the

...

service-id

...

to

...

202

...

of

...

names

...

it

...

finds

...

to

...

be

...

already

...

in

...

the

...

aida

...

directory.

...

The

...

default

...

(or

...

"N")

...

is

...

not

...

to

...

set

...

the

...

service-id

...

(that

...

is,

...

leave

...

names

...

which

...

are

...

in

...

both

...

the

...

SLC

...

namespace

...

and

...

EPICS

...

name,

...

assigned

...

to

...

the

...

SLC

...

modelling

...

environment

...

(service

...

id

...

63).

...

If

...

given,

...

and

...

valued

...

"Y",

...

all

...

names

...

modelled

...

by

...

XAL

...

will

...

be

...

assigned

...

to

...

the

...

XAL

...

model

...

service

...

id

...

(202).

...

That

...

is,

...

while

...

we're

...

testing

...

XAL,

...

use

...

the

...

default;

...

when

...

we're

...

sure

...

about

...

XAL,

...

with

...

an

...

EXTANT

...

machine

...

model,

...

and

...

a

...

plan

...

for

...

what

...

to

...

do

...

when

...

devices

...

for

...

like

...

the

...

end

...

station

...

need

...

model,

...

then

...

use

...

Y

...

to

...

switch

...

all

...

modelling

...

of

...

those

...

devices

...

over

...

to

...

XAL.

{
Code Block
}
SQL> exec aida_xal_names_update [Y];

PL/SQL procedure successfully completed.   <-- you should see this

{code}

It

...

should

...

tale

...

only

...

a

...

few

...

seconds.

...

You

...

can

...

see

...

which

...

names

...

are

...

assigned

...

to

...

the

...

XAL

...

model

...

server

...

by

...

AIDA,

...

use

...

the

...

following

...

sql

...

script

{
Code Block
}
SQL> @show_IA_given_serviceid 202
{code} 

Now

...

go

...

over

...

and

...

update

...

the

...

AIDAPROD

...

names

...

too

...

(don't

...

wait,

...

all

...

names

...

should

...

be

...

in

...

sync),

...

run

...

aida_all_changes

...

again,

...

and

...

verify

...

the

...

names

...

added

...

again.

{
Code Block
}
SQL> connect aidaprod/<aidadbpassword>
Connected.
SQL> exec aida_xal_names_update [Y];
SQL> @show_IA_given_serviceid 202
{code}

Test

...

the

...

upload

...

by

...

asking

...

Aida

...

to

...

retrieve

...

the

...

model

...

parameters

...

(twiss

...

or

...

R)

...

of

...

a

...

device

...

in

...

the

...

model

...

file

...

uploaded.

...

This

...

link

...

takes

...

you

...

to

...

the

...

AidaWeb

...

modelling

...

page,

...

from

...

where

...

you

...

can

...

as

...

for

...

teh

...

names

...

of

...

devices

...

(eg

...

'BPMS:%//twiss'

...

will

...

return

...

the

...

names

...

of

...

all

...

modelled

...

BPMS,

...

or

...

'BPMS:IN20:521//twiss'

...

will

...

return

...

model

...

for

...

that

...

device.

...

https://seal.slac.stanford.edu/aidaweb/modelling.jsp

...

Developers Guide

At the time of writing (31/Jul/08),

...

Elie's

...

upload

...

parser

...

has

...

some

...

restrictions:

...


Syntax

...

and

...

constraints

...

of

...

the

...

modelOutput

...

xml

...

files:

...

  1. the

...

  1. xml

...

  1. header

...

  1. <?xml..>

...

  1. must

...

  1. be

...

  1. on

...

  1. a

...

  1. single

...

  1. record

...

  1. at

...

  1. the

...

  1. top

...

  1. of

...

  1. teh

...

  1. file,

...

  1. followed

...

  1. by

...

  1. a

...

  1. LF.

...

  1. the

...

  1. <model_output>

...

  1. element

...

  1. tag

...

  1. must

...

  1. be

...

  1. on

...

  1. a

...

  1. record

...

  1. on

...

  1. its

...

  1. own

...

  1. Each

...

  1. <element>

...

  1. element

...

  1. must

...

  1. be

...

  1. composed

...

  1. of

...

  1. a

...

  1. single

...

  1. record

...

  1. (no

...

  1. CR

...

  1. or

...

  1. LN)

...

  1. There

...

  1. must

...

  1. be

...

  1. no

...

  1. NaN

...

  1. attribute

...

  1. values.

...

  1. Twiss

...

  1. params

...

  1. (or

...

  1. R

...

  1. matrix

...

  1. elements)

...

  1. that

...

  1. don't

...

  1. have

...

  1. a

...

  1. good

...

  1. value

...

  1. must

...

  1. have

...

  1. some

...

  1. numeric

...

  1. value.

...