37 | | |
38 | | = Visualizing the available tiles (not required) = |
39 | | |
40 | | The IDL routine WHICHTILES_TONIGHT can be used to visualize the available tiles for the night: |
41 | | {{{ |
42 | | IDL> whichtiles_tonight |
43 | | SYNTAX: whichtiles_tonight,utdate,goodtiles,band,moonlimit=moonlimit,amlimit=amlimit |
44 | | Inputs: |
45 | | utdate - string - the UT date for the ''midpoint'' of the night (e.g., "2014-08-12") |
46 | | band - string - the observation band preferred (e.g., "g", "z", or "r") - default is "z" |
47 | | Keywords: |
48 | | moonlimit = minimum acceptable angle from the moon (default=20 deg) |
49 | | amlimit = maximum acceptable airmass (default=2.2) |
50 | | ps - string - name of an output postscript file; if not provided, defaults to a screen plot |
51 | | Output: |
52 | | goodtiles = boolean 1 or 0 for each tile in decam-tiles.fits |
53 | | |
54 | | To execute the program for a given night: |
55 | | IDL> whichtiles_tonight,'2014-08-15',good,'z',ps='plan_zband_aug15ut' |
56 | | IDL> whichtiles_tonight,'2014-08-15',good,'r',moonlimit=50,ps='plan_rband_aug15ut' |
57 | | IDL> whichtiles_tonight,'2014-08-15',good,'g',moonlimit=100,amlimit=1.8,ps='plan_gband_aug15ut' |
58 | | }}} |
59 | | |
60 | | These will produce encapsulated postscript files that are useful for visualizing the |
61 | | possible fields for tonight. |
62 | | |
68 | | - cd observing |
69 | | - python2.7 py/nightlystrategy.py -t obstatus/mosaic-tiles_obstatus.fits -d 2015-04-08 -p 1 -pass 1 --moon-sep-limit 40 --start-date 2015-04-09 --start-time 02:00:00 -seez 1.15 -sbz 18.45 --dir /home/observer/exec/<dir_name> |
70 | | |
71 | | Assuming that uptiles is running in an IDL window on ??, this will always use the most up-to-date version of the mosaic-tiles_obstatus.fits file. Once this finishes running (usually a couple of minutes), cd to <dir_name>: |
72 | | |
73 | | > ./mosaic_<UTdate>_plan.sh |
74 | | |
75 | | = Instructions and details for nightlystrategy.py = |
| 42 | - cd mosaic3 |
| 43 | - python2.7 py/mosaic3strategy.py -t obstatus/mosaic-tiles_obstatus.fits -d 2015-04-08 -p 1 -pass 1 --moon-sep-limit 40 --start-date 2015-04-09 --start-time 02:00:00 -seez 1.15 -sbz 18.45 --dir <dir_name> |
| 44 | |
| 45 | Assuming that uptiles is running in an IDL window on ??, this will always use the most up-to-date version of the mosaic-tiles_obstatus.fits file. Once this finishes running (usually a couple of minutes), cd to <dir_name> and execute the script: |
| 46 | |
| 47 | prompt> ./mosaic_<UTdate>_plan.sh |
| 48 | |
| 49 | = Instructions and details for mosaicstrategy.py = |
116 | | -sb(f) *sky brightness in filter f; replace (f) = g, r, or z* [[BR]] |
117 | | -see(f) *seeing in filter f; replace (f) = g, r, or z* [[BR]] |
118 | | -transparency *value of the transparency* [[BR]] |
| 92 | -sb(f) *sky brightness in filter f; replace (f) = g, r, or z* in mag/sqarcsec [[BR]] |
| 93 | -see(f) *seeing in filter f; replace (f) = g, r, or z* in arcsec [[BR]] |
| 94 | -transparency *value of the transparency* (0-1.0) [[BR]] |
147 | | This script will yield 3 output data files: |
148 | | |
149 | | 1. text file called "strategy_mm-dd.txt", with information about all the pointings for the night (exp time, filter, approximately when they should be run, airmass, etc). If there's a late start or gap in observing due weather, etc you can look in this file and find the tile corresponding to your revised start time and remove all the ones prior to it in the Exposure Queue. It is a good idea to check this file before accepting the plan. |
| 123 | This script will many output data files: |
| 124 | |
| 125 | 1. a single text file called "strategy_mm-dd.txt", with information about all the pointings for the night (exp time, filter, approximately when they should be run, airmass, etc). There is a corresponding plot of what has been observed previously (by pass) and what you will be observing given the plan for the night: saved as a pdf, 'plot_plan_yyy-mm-dd.pdf' (gray = z, red = r, green = g). Planets and moon are plotted as well. |
151 | | 2. JSON script called "decals_mm-dd_plan.json" for the night corresponding to the plan in this text file as well as some plots of what has been currently observed on previous nights and what you will be observing given the plan for the night, which are saved as a pdf, 'plot_plan_mm-dd.pdf' (gray = z, red = r, green = g) |
152 | | |
153 | | 3. A FITS file called "decam-tiles_obstatus_update_yyyy-mm-dd.fits" that is a temporary updated decam obstatus file that assumes all planned observations were completed. This should not be used during the run; instead use the updated tiles file obtained from running the idl program, uptiles (see section on "Creating the Updated Observing Status File" below). |
154 | | |
| 127 | 2. many executable script files of the form "Mosaic_Survey<tile id>.sh" for the night corresponding to the plan. There is one script file for each pointing in the plan. A single meta-script is produced that will call those ".sh" files: moasic_<ut date>_plan.sh. |
| 128 | |
| 129 | |
| 130 | 3. A FITS file called "decam-tiles_obstatus_update_yyyy-mm-dd.fits" that is a temporary updated mosaic obstatus file that assumes all planned observations were completed. This should not be used during the run; instead use the updated tiles file obtained from running the idl program, uptiles (see section on "Creating the Updated Observing Status File" below). |
222 | | will print out a summary of all the frames from 10001 to the present in a nice tabular form (widen the window). |
223 | | This is useful for checking how the seeing and sky brightness have varied since frame 10001, and whether |
224 | | one should create and upload a new JSON observing script. The /noprint just prevents the decstat output |
225 | | for every frame; if you want to see that, then don't use the /noprint keyword. |
| 199 | will print out a summary of all the frames from 10001 to the present in a nice tabular form (widen the window). This is useful for checking how the seeing and sky brightness have varied since frame 10001, and whether one should create and upload a new JSON observing script. The /noprint just prevents the decstat output for every frame; if you want to see that, then don't use the /noprint keyword. |
267 | | 1. First, try running nightlystrategy.py with an appropriate --airmass-limit and/or --moon-sep-limit to try to keep to the required range of tiles. [[BR]] |
268 | | 2. If you run out of tiles with these options, add the --expand option, which allows the selection of DESI tiles in addition to SDSS tiles, in addition to any airmass-limit you need. |
269 | | 3. '''Shorten''' your observing period (using --start-date,--start-time and --end-date,--end-time) such that it's scheduling fewer tiles. |
270 | | 4. Increase the assumed seeing such that it schedules longer exposures. |
271 | | |
272 | | If these options don't work, you will have to modify our observing footprint, which is encoded in decam-tiles_obstatus.fits. This file has, among other things, three columns named 'IN_SDSS', 'IN_DESI', and 'IN_DES'. For each tile the value in these columns is either 1 or 0. |
273 | | |
274 | | We define our fiducial footprint as 'IN_SDSS' = 1 & 'IN_DES' = 0. If you allow the selection of DESI tiles (using --expand), then the footprint is defined by ( 'IN_SDSS' = 1 & 'IN_DES' = 0 ) or ( 'IN_DESI' = 1 & 'IN_DES' = 0). If you have no tiles to observe that are within the region defined this way, you need to modify the tiles file. |
275 | | |
276 | | In this case, please do the following: |
277 | | 1. Make a copy of decam-tiles_obstatus.fits (call it something like temp_decam-tiles_yyyy-mm-dd.fits) |
278 | | 2. Open temp_decam-tiles_yyyy-mm-dd.fits using your favorite fits file editor (python/pyfits, idl, etc) and modify the file to set 'IN_SDSS' = 0 & 'IN_DESI' = 0 for all tiles that are outside the range allowed by the telescope that night. Then set 'IN_SDSS' = 1 & 'IN_DESI' = 1 for tiles that satisfy your allowed RA/dec range and also some possible quality constraints. For instance, in April 2015, David suggested adding the following tiles to satisfy dec < -5: |
279 | | {{{ |
280 | | a) IN_DESI = 0 |
281 | | b) EBV_MED < 0.1 |
282 | | c) 120 < RA < 270 |
283 | | d) DEC > -19 |
284 | | }}} |
285 | | 3. Use the modified temp_decam-tiles_yyyy-mm-dd.fits as your -t argument in nightlystrategy. For instance, |
286 | | {{{ |
287 | | python ./nightlystrategy.py -t temp_decam-tiles_yyyy-mm-dd.fits -d yyyy-mm-dd -p 1.0 -pass 3 --expand |
288 | | }}} |
289 | | |
290 | | 4. Set two versions of uptiles running, one to update the official "decam-tiles_obstatus.fits" file, so that we have an official record of the tiles being observed, the other to update 'temp_decam-tiles_yyyy-mm-dd.fits,' which you can use to recalculate the JSONs if conditions change. You can run uptiles as follows: |
291 | | {{{ |
292 | | uptiles |
293 | | uptiles, tfile='temp_decam-tiles_yyyy-mm-dd.fits' |
294 | | }}} |
295 | | |
296 | | 5. At the end of the night, make sure check in decam-tiles_obstatus.fits to svn; you can leave 'temp_decam-tiles_yyyy-mm-dd.fits' on observer2, or place it in a temp folder on svn. |
297 | | |
| 238 | 1. First, try running mosaicstrategy.py with an appropriate --airmass-limit and/or --moon-sep-limit to try to keep to the required range of tiles. [[BR]] |
| 239 | 2. '''Shorten''' your observing period (using --start-date,--start-time and --end-date,--end-time) such that it's scheduling fewer tiles. |
| 240 | 3. Increase the assumed seeing such that it schedules longer exposures. |
| 241 | |
| 242 | For reference, the tiles we’d be observing with MOSAIC3 in z-band are: |
| 243 | IN_DESI = 1 |
| 244 | DEC > 30 |
| 245 | 88 < RA < 301 |
| 246 | PASS <= 3 |
| 247 | That’s 48617 tiles. |
318 | | cd ~/observing |
319 | | python2.7 py/nightlystrategy.py -t obstatus/decam-tiles_obstatus.fits -d *UT date at ''start'' of night* -p *portion of night* -pass *pass number* |
320 | | }}} |
321 | | |
322 | | The output JSON file is then loaded into SISPI. The DECaLS JSONS that will be loaded into SISPI should be placed in observer2.ctio.noao.edu:/usr/remote/user/DECamObserver/ExposureScripts/User_scripts/BigProjects/DECaLS/ |
323 | | |
324 | | In the observer console, select the tab "Exposure Control" and press "Load Exposure Script." Select your JSON and press "submit." The exposures will then be appended to the bottom of the Exposure Queue. |
325 | | |
326 | | You can manually modify the exposure queue. Make sure the padlock icon is unlocked if you wish to make changes. You can select a queued exposure by clicking on it; you can press "delete" to delete it, or use your cursor to click and drag it to a new position. To select a range of exposures, click on the first one, then shift+click on the last one. |
| 268 | cd ~/mosaic3 |
| 269 | python2.7 py/mosaicstrategy.py -t obstatus/mosaic-tiles_obstatus.fits -d *UT date at ''start'' of night* -p *portion of night* -pass *pass number* |
| 270 | }}} |
| 271 | |
| 272 | go to /home/observer/exec, and execute the mosaic_<ut date>_plan.sh script. |