Dear all, very useful and professional simulation tool! I recently started working with yao for the DAG project AO,
however, i am having an error which i cant solve:
loop.niter=1000
aoloop,disp=1
ERROR (aoloop) bad dimension list
LINE: 3477 FILE: /usr/lib/yorick/i/yao.i
To enter debug mode, type now (then dbexit to get out)
Additionally, i am getting a warning for the size of my phase screens (although i created 2048,256 sized phase screens):
Some of the phase screens are too small (Y dimension) for the specified system.
The following WFS/screens will cause a index overflow (current Ydim is 256):
WFS#1, screen#1, Ymax=8130.438965
WFS#1, screen#2, Ymax=8863.816406
WFS#1, screen#3, Ymax=8130.149902
WFS#1, screen#4, Ymax=9592.368164
WFS#1, screen#5, Ymax=8129.932617
WFS#1, screen#6, Ymax=8129.522949
WFS#1, screen#7, Ymax=8128.839355
WFS#1, screen#8, Ymax=21125.363281
To remedy this situation, you can either:
- use larger phase screens (Y axis) using 'create_phase_screens'
- Modify the extremum Y offsets of your WFSs
- Lower the altitude of the offending atmospheric layer
EXIT called, back to main loop
I am pasting the contents of my .par file as well, could you comment?
thank you!
// YAO parameter file
//-------------------------------
sim.name = "ULASSH";
sim.pupildiam = 128; //
sim.debug = 0;
sim.verbose = 0;
//-------------------------------
atm.dr0at05mic = 42.4967; // this is r0=0.166 at 550 nm //
atm.screen = &(Y_USER+"data/screen"+["1","2","3","4","5","6","7","8"]+".fits"); //
atm.layerfrac = &([0.5328,0.0145,0.035,0.0957,0.1083,0.0437,0.0658,0.1042]);
atm.layerspeed = &([15,13,13,9,9,15,25,40]);
atm.layeralt = &([48.,162,324,649,1299,2598,5196,10392]);
atm.winddir = &([0,10,340,30,300,290,280,90]);
//-------------------------------
nwfs = 1; // number of WFSs (>1 if e.g. mcao)
wfs = array(wfss,nwfs);
n = 1;
wfs(n).type = "hartmann";
wfs(n).lambda = 0.55;
wfs(n).gspos = [0.,0.];
wfs(n).gsalt = 0.;
wfs(n).gsmag = 5.; //
wfs(n).shmethod = 2;
wfs(n).shnxsub = 10; //??
wfs(n).npixpersub = 13;
wfs(n).pixsize = 0.15; //??
wfs(n).npixels = 8; //??
wfs(n).noise = 1;
wfs(n).ron = 3.5;
wfs(n).shthreshold = 0.;
wfs(n).nintegcycles= 1;
wfs(n).pupoffset = 0.;
wfs(n).fstop = "square";
//-------------------------------
ndm = 1;
dm = array(dms,ndm);
n =1;
dm(n).type = "zernike"; //??
dm(n).nxact = 11;
dm(n).iffile = "";
dm(n).pitch = 12.8; //??
dm(n).nzer = 128; //??
dm(n).alt = 0.0;
dm(n).unitpervolt = 0.01;
dm(n).push4imat = 100;
//-------------------------------
mat.condition = &([15.]);
mat.file = "";
//-------------------------------
tel.diam = 3.94;
tel.cobs = 0.247462;
//-------------------------------
target.lambda = &([1.65]);
target.xposition = &([0.]);
target.yposition = &([0]);
target.dispzoom = &([1.]);
//-------------------------------
gs.zeropoint = 1e11;
//-------------------------------
loop.gain = 0.6;
loop.framedelay = 1;
loop.niter = 5000;
loop.ittime = 2e-3;
loop.startskip = 10;
loop.skipevery = 10000;
loop.skipby = 10000;
loop.modalgainfile = "simulModeGains.fits";
//-------------------------------