Open UlasGokay opened 6 years ago
Hi Ulas, Are you working with Onur? Francois Ps: will answer tomorrow.
Sent from my iPad
On 13 Nov 2017, at 6:31 pm, UlasGokay notifications@github.com wrote:
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";
//-------------------------------
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Hi Francois, yes i am working with Onur and Laurent, thank you for your quick response, i am eager to hear about your comment, many thanks!
Merhaba Ulas,
The problem is that the phase screens are too small. First, you need to generate some larger phase screens, maybe 1024x1024 or larger (I used 4096 here, but this is larger than you need). You do this by running in yao:
create_phase_screens,1024,1024,prefix="screen1024"
Rename the screens (1-8) and put them in the directory .yorick/data where the other screens are. Then change the parameter file to look for these files:
atm.screen = &(YUSER+"data/screen1024"+["1","2","3","4","5","6","7","8"]+".fits");
I did this and ran it without crashing. However, the Strehl was 0, so there were a few things wrong with your parameter files. I have modified it and attach a working file (H-band Strehl of 0.452 with r0=0.10 m).
Marcos
On 13/11/17 20:31, UlasGokay wrote:
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";
//-------------------------------
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/frigaut/yao/issues/12, or mute the thread https://github.com/notifications/unsubscribe-auth/AAl_n1COfrAkok-tJkOarTERAWNXFdvFks5s1_A_gaJpZM4QbWLT.
-- Marcos van Dam Adaptive Optics Scientist Flat Wavefronts Postal Address: 21 Lascelles Street, Christchurch 8022, New Zealand Cell phone: +64 21 148 1956 Skype: marcos.van.dam Website: www.flatwavefronts.com
// YAO parameter file //------------------------------- sim.name = "ULASSH"; sim.pupildiam = 120; // sim.debug = 0; sim.verbose = 0;
//------------------------------- tel.diam = 3.94; tel.cobs = 0.247462;
//------------------------------- r0 = 0.10; atm.dr0at05mic = tel.diam/r0; atm.screen = &(YUSER+"data/yao4096x4096"+["1","2","3","4","5","6","7","0"]+".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 = 12; wfs(n).pixsize = 0.25; //?? 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).nzer = 35; //?? dm(n).alt = 0.0; dm(n).unitpervolt = 1; dm(n).push4imat = 0.01; dm(n).regparam = 0.1;
//------------------------------- mat.method = "mmse";
//------------------------------- 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;
Dear Marcos, thank you for your detailed response. I seem to have a permission problem: i can't move the phase screen files that i created to .yorick/data because i dont have permission (it's root controlled). All the parameter files and the fits files are located in a folder home/desktop/ulas_yao_works, and i access here with the terminal, then run Yao. All new phase screen files are built inside here too. I am new to Yao (and Linux) so i might be missing something. Can you comment on this?
Hello Ulas,
I have no idea how you installed yao, but I strongly recommend that you change the permission of the folder .yorick/data and .yorick/yao. If you can't, then it is OK to run from your directory: home/desktop/ulas_yao_works
But just make sure that all of the files names use the right directory.
For Linux questions, it is probably best to ask someone at your institute for help.
Marcos
On 14/11/17 20:57, UlasGokay wrote:
Dear Marcos, thank you for your detailed response. I seem to have a permission problem: i can't move the phase screen files that i created to .yorick/data because i dont have permission (it's root controlled). All the parameter files and the fits files are located in a folder home/desktop/ulas_yao_works, and i access here with the terminal, then run Yao. All new phase screen files are built inside here too. I am new to Yao (and Linux) so i might be missing something. Can you comment on this?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/frigaut/yao/issues/12#issuecomment-344174891, or mute the thread https://github.com/notifications/unsubscribe-auth/AAl_n6xGSKyfzgt5I-MaeSFtvNujo0heks5s2Uf5gaJpZM4QbWLT.
-- Marcos van Dam Adaptive Optics Scientist Flat Wavefronts Postal Address: PO BOX 1060, Christchurch 8140, New Zealand Cell phone: +64 21 148 1956 Skype: marcos.van.dam Website: www.flatwavefronts.com
Hello Marcos, thank you! I opted for staying in my directory and reading the fits files from there with 4096by4096 setting, as you pointed out, the strehl is somehow 0, i am now looking to sort that issue out, all the best Ulaş
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:
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:
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";
//-------------------------------