{"action":"closed","issue":{"url":"https://api.github.com/repos/jobovy/apogee/issues/4","labels_url":"https://api.github.com/repos/jobovy/apogee/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/jobovy/apogee/issues/4/comments","events_url":"https://api.github.com/repos/jobovy/apogee/issues/4/events","html_url":"https://github.com/jobovy/apogee/issues/4","id":59432374,"number":4,"title":"Generate synthetic MOOG APOGEE spectra","user":{"login":"jobovy","id":1044876,"avatar_url":"https://avatars.githubusercontent.com/u/1044876?v=3","gravatar_id":"","url":"https://api.github.com/users/jobovy","html_url":"https://github.com/jobovy","followers_url":"https://api.github.com/users/jobovy/followers","following_url":"https://api.github.com/users/jobovy/following{/other_user}","gists_url":"https://api.github.com/users/jobovy/gists{/gist_id}","starred_url":"https://api.github.com/users/jobovy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jobovy/subscriptions","organizations_url":"https://api.github.com/users/jobovy/orgs","repos_url":"https://api.github.com/users/jobovy/repos","events_url":"https://api.github.com/users/jobovy/events{/privacy}","received_events_url":"https://api.github.com/users/jobovy/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"jobovy","id":1044876,"avatar_url":"https://avatars.githubusercontent.com/u/1044876?v=3","gravatar_id":"","url":"https://api.github.com/users/jobovy","html_url":"https://github.com/jobovy","followers_url":"https://api.github.com/users/jobovy/followers","following_url":"https://api.github.com/users/jobovy/following{/other_user}","gists_url":"https://api.github.com/users/jobovy/gists{/gist_id}","starred_url":"https://api.github.com/users/jobovy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jobovy/subscriptions","organizations_url":"https://api.github.com/users/jobovy/orgs","repos_url":"https://api.github.com/users/jobovy/repos","events_url":"https://api.github.com/users/jobovy/events{/privacy}","received_events_url":"https://api.github.com/users/jobovy/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2015-03-02T02:41:24Z","updated_at":"2015-03-18T15:21:23Z","closed_at":"2015-03-18T15:21:23Z","body":"Using MOOG will allow us to vary individual elements more directly (and eventually provide a template for using other synthesis codes). To do:\r\n - [x] Automatically download and convert model atmospheres;\r\n - [x] Automatically download the linelist;\r\n - [x] Run weedout on the linelist;\r\n - [x] Run MOOG to generate synthetic spectrum and continuum;\r\n - [x] Convolve with Gaussian macroturbulence of a given x km/s;\r\n - [x] Convolve with the APOGEE LSF:\r\n   - [x] Implement the basic effective LSF code in terms of the globally varying Gauss-Hermite coefficients (lsf_gh.pro)\r\n   - [x] Get the LSF for a given visit and a given chip to create the effective LSF on the apStar / aspcapStar logarithmic wavelength grid:\r\n     - [x] Implement pixel to wavelength conversion and its inverse;\r\n     - [x] Figure out which wavelength solution to use (which apWave file);\r\n     - [x] Figure out where the LSFs live (where are they stored in their basic, chip-centric, form)\r\n   - [x] Stitch different chips together\r\n   - [x] Convolve with the effective LSF\r\n - [x] Perform the same continuum normalization on the observed and synthetic spectra:\r\n   - [x] Implement ASPCAP continuum fitting to replicate ASPCAP\r\n   - [x] Implement Cannon-style continuum fitting, which seems to work better at low SNR\r\n   - [x] Check that they are or are not consistent at high SNR\r\n - [x] Write a fairly general routine that generates a model spectrum that is (i) convolved with macroturbulence and the LSF, (iii) resampled onto the APOGEE wavelength grid, and (iii) continuum-normalized  over:\r\n   - [x] The whole wavelength range or \r\n   - [x] The wavelength range of an element window\r\n   - [x] Also store the default combo LSF when no LSF is given."}}