Versions Compared

Key

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

...

  • 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. Password for upload is here.
    Note: there is no "back" facility. Just abort (ctrl-c to get to the matlab prompt, and start over).

...

This procedure runs through what you have to do to run a new model whose output will be used by LCLS applications. Click on any of the thumbnail images for a larger view.

...

  1. From

    lclshome,

    select

    User

    Dev

    Displays

    panel.

    !image:lclshomeUserDev.jpg|thumbnail!unmigrated-wiki-markup

     Image Added


  2. Run

    one

    of

    the

    matlab

    scripts

    xalRunModel

    or

    xalGetModel !image:userDevPnl.jpg|thumbnail!

    xalGetModel Image Added
     *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.

     
    Either

    of

    these

    buttons

    will

    start

    the

    corresponding

    matlab

    script...

    !xalGetModel.jpg|thumbnail!


    Image Added ...

    .

    which

    immediately

    prompt

    for

    you

    to

    *Select

    a

    beamline*

    : !image:selectabeamline.jpg|thumbnail! \\ The following is a

    Image Added
    \\
    The following is a run-through

    of

    running

    xalGetModel

    for

    the

    Extant

    machine.

    [Click

    here

    to

    see

    the

    full

    transcript

    of

    this

    example

    |^xalGetModelRun.jpg

    Image Added].

    The procedure is as

      
    The procedure is as follows:



    1. For example, select "Cathode to Dump" (as shown in the example above). 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.
    2. Wiki Markup

      *Select

      whether

      to

      "Run

      extant

      machine

      or

      design

      model?

      (x/d)

      \[d\]:*".

      Hit

      x

      or

      d,

      and

      RETURN.

      Running the


       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

       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.jpg|thumbnail!

      Image Added

      *Stages

      of

      running

      the

      (extant)

      model

      are

      as

      follows:*

      unmigrated-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')


        If

        these

        appear

        fine,

        then

        confirm

        to

        continue.

        !image:extantinitconditions.jpg|thumbnail!

        Image Added


      • Wiki Markup

        *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

        column,

        and

        the

        row

        of

        output

        labelled

        "BSY")

        is

        reasonable,

        e.g.

        9.25

        GeV.

        If

        energy

        appears

        fine,

        then

        confirm

        to

        continue.

        !image:checkenergies.jpg|thumbnail! unmigrated-wiki-markup

        Image Added

      • *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.

        !image:energyGraph.jpg|thumbnail!

        Image Added




      • 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.unmigrated-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".

        !image:oracleuploadprompt.jpg|thumbnail!

        Image Added


      • 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
        
    3. Upload the XAL model online on the web.
      The last part of xalGetModel gives some tips of uploading. It remins you where to find the model files in the browser, and the URL of this help. See next the section of help with uploading the model files.

...

You can log into the web application at any time at the URL: https://oraweb.slac.stanford.edu/apex/slacprod/f?p=400Image Removed. (See note on supported hosts) You might want to do this to inspect the data

...

  1. Select Device 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/ and select the Devices file you created in the process above. in our example above this files was named "xalDevices_20090120_115855.xml". (Tip: since there are many files in this directory, hit "Last Modified" twice, to sort the files by date, latest first). Select the xalDevices file you created, and hit the Open icon (with a picture of a folder!) in the filebrowser dialog to make the selection. (It's a bit confusing using the word "Open" to mean "Select" - talk to Oracle about that - they went cheap and used the firefox file selection widget, designed for selecting a file to open, but they use it to mean "select").
  2. Select Elements File
    Hit the "Select Elements File" button. The filebrowser should open at the right directory - amazing! Hit "Last Modified" twice to sort the files again, and click on the xalElements file you created in step 2.2.5 above. Hit "Open".
    (You do not need to upload the xalElements file at all).
  3. Comments.
    Enter a comment. Please include 2 items in your 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 2.2.3 above!
    unmigrated-wiki-markup
  4. *Submit*.


    When

    you

    are

    finished,

    the

    screen

    should

    look

    something

    like

    this:

    !image:comment.jpg|thumbnail! Hit the

    Image Added

    Hit the "Submit"

    button.

    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

    Upload

    Results

    table:

    !image:XMLUploadResults.jpg|thumbnail!

    Image Added



Review the model data.

Wiki MarkupHit 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. !image:checkRunData.jpg|thumbnail! Image Added



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
AIDA 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?

...

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

Enter sqlplus for user AIDADEV on database SLACPROD (SLACPROD will be set by sourcing ENVS.csh above).

Code Block

sqlplus AIDADEV/<aidadbpassword> 

...

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

...

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

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

...