Giter Club home page Giter Club logo

sunpy-0.4-paper's Introduction

SunPy v 0.5 Paper

This is the attempt to write a SunPy paper for submission, firstly, if we get a talk at SciPy 2013, and failing that at a later date.

The proceedings of SciPy 2013 are being submitted to Computational Science and Discovery, which is what this LaTeX template is taken from.

SciPy proceedings:

##References: Add all refs to this group, Stuart will maintain the bib file. https://www.zotero.org/groups/sunpy_-_python_for_solar_physicists/items/collectionKey/MNC7JEAA

Typesetting Python Code

To make Python code look pretty use the minted package to use this you need to append -shell-escape to whereever you call pdflatex.

Building

To build the paper run the python script `build_article.py'

sunpy-0.4-paper's People

Contributors

aringlis avatar ayshih avatar cadair avatar derdon avatar dpshelio avatar ehsteve avatar khughitt avatar rhewett avatar wafels avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sunpy-0.4-paper's Issues

Astropy vs \texttt{astropy}

I did my best to make sure that this was consistent. It needs to be verified that Astropy refers to the project and \texttt{astropy} refers to the package.

Referee: Solar Data Search and Retrieval

  • Any reason constructs like shown in line 11 page 11 (lasco_query.num_records()) don't use a more Python-like idiom, e.g.,len(lasco_query.records)
  • There are sometimes details not explained in the examples. For example, line 23 on page 11. Probably some readers can figure out that the library is using this to construct the actual path for the files based on attributes in the object, but it may look a bit mysterious to others. Probably in this case a simple comment saying that this will result in files being moved into different directories according to the instrument and detector.
  • Is there a need for a show() method (line 40, page 11)? Can __str__ or __repr__ serve as well?
  • Is there an easy interactive means of displaying what two letter abbreviations are relevant (along with full descriptions). I'd say this issue also comes up elsewhere in wondering what introspective tools are generally available for seeing what the options are for queries and such).
  • The term " a database supported by SQLAlchemy" on line 8 page 18 should probably say something like "can make use any database software supported by...". I draw a distinction between a database and the software used to create and access it.

Comment on Python indexing vs. `.submap()`

  • I'm curious why the Python indexing facility isn't used to select subimages (as illustrated in line 19 of page 5 and other places). It would seem the indexing scheme that Python provides would be a more natural way of creating subimages.

Instrument references

Typically, the instrument's paper is referenced when instruments are referenced for the first time. I can contribute some of these, but some I dont have.

Map vs MapBase vs GenericMap

ping @Cadair

It is important that \texttt{Map} be used carefully. It is the factory instance, not the type. map should likely be used to refer to the object in general, unless we want to refer to \texttt{MapBase} specifically.

Make reference list formatting consistent.

  • Please be consistent in either abbreviating or spelling out author first
    names in the list of references. If you abbreviate, do so either with a period
    or don't, but be consistent.

Python Idioms in VSO

  • Any reason constructs like shown in line 11 page 11 (lasco_query.num_records()) don't use a more Python-like idiom, e.g.,len(lasco_query.records)

Check wording regarding CompositeMap and MapCube

On line 53 page 5 the pairs of objects CompositeMap and MapCube seem switched relative to the temporally and spatially aligned descriptions following (i.e., MapCube appears to be temporally ordered, and CompositeMap appears to be spatially aligned from later descriptions). But perhaps I misunderstand.

Referee: Introduction

  • The authors list a number of other software packages on p.3 of the
    manuscripts (e.g., pandas, astropy, etc), as well as later on in the paper,
    but they are not properly referenced. If, as I assume the authors will agree,
    we want to get to a community where publishing on software packages is given
    the appropriate credit, then I would encourage the authors to reciprocate and
    provide proper citations for the packages they use or reference in the paper.

RJH tagged comments

I left a few comments throughout the document. Grep for RJH to find them. I've replicated their locations here:

1-Introduction.tex:24
2-1-Map.tex:27
2-1-Map.tex:119
2-2-Lightcurve.tex:21
2-3-Spectra.tex:38
3-3-HELIO.tex:61
3-3-HELIO.tex:64
5-Dev.tex:39
5-Dev.tex:41
6-Future.tex:9
solarsoft.tex:11
solarsoft.tex:72

Consistent i.e., and e.g.,

I did a few greps on this, but it should be verified that i.e. and e.g. are used correctly.

  1. i.e. is 'that is'
  2. e.g. is 'for example'
  3. A comma should follow them
  4. This is a style thing, but I prefer them not italicised (some journals prefer the opposite). If they are italicised, it must be consistent.

I removed the italics and added the commas.

Add info on unit handling

  • It may be useful to explain how units are handled internally (e.g., are astropy units used? Or everything is converted to standard units.)

Add more description of how SunPy enables science and make the whole thing read less like a manual.

  • The paper is good at providing an overview of what is available in
    SunPy. However, what I was really missing is a description of how this enables
    science. To this end, it would have been useful to provide a discussion of
    typical workflows in solar physics (i.e., what solar physicists do in their
    day to day science) and how these workflows are mapped on SunPy features. Even
    better, of course, would have been a description of workflows solar physicists
    would really like to do, that are currently too onerous but are now possible
    with SunPy.

Explain defaults in code examples

  • There are sometimes details not explained in the examples. For example, line 23 on page 11. Probably some readers can figure out that the library is using this to construct the actual path for the files based on attributes in the object, but it may look a bit mysterious to others. Probably in this case a simple comment saying that this will result in files being moved into different directories according to the instrument and detector.

Acknowledgements are repeated

Either in the sections or at the end, but not both. At the end, or in a separate acknowledgement section, is ideal.

Get DOI from zenodo

zenodo offers DOI numbering for code directly from the release in github. It even makes a nice and beautiful badge :)

I think this should be done once we got the paper done with the final release we are writing about.

I'm not sure what's the difference between zenodo or figshare... We could do either I assume. Zenodo is the product of a EU project and it has the data stored at the CERN facilities.

methods and attributes

I removed the leading period from class attributes. This appears to be consistent with other python papers in this journal.

I also added parentheses at the end of function calls (which helps ID them as functions). It should be verified that none are missing.

Database section wording

  • The term " a database supported by SQLAlchemy" on line 8 page 18 should probably say something like "can make use any database software supported by...". I draw a distinction between a database and the software used to create and access it.

Consistent section headers

Section headers need to be made consistent. Either capital letters or no. Also, no capitalizing prepositions and articles.

Instrument names made consistent

Mission/instruments need to either be capitalized or italicised consistently. This can be fixed when a decision is made. I think italics should go.

Improve referencing in the Introduction w.r.t the other packages

  • The authors list a number of other software packages on p.3 of the manuscripts (e.g., pandas, astropy, etc), as well as later on in the paper, but they are not properly referenced. If, as I assume the authors will agree, we want to get to a community where publishing on software packages is given the appropriate credit, then I would encourage the authors to reciprocate and provide proper citations for the packages they use or reference in the paper.

Display single open-quotes correctly in minted code blocks

Right now all the single open-quotes in the minted code blocks are actually displayed as close-quotes.

I tried replacing ' with ` in the TeX but this didn't render properly in the resulting PDF (a red box highlighted the quote symbol for some reason).

A quick search online didn't yield much. Any ideas?

Referee: Data Types

  • It probably would be good to indicate if the convenience properties mentioned in line 11 of page 5 are kept in sync with corresponding values in the meta attribute. On the one hand, keeping these consistent automatically is a nice safety feature and prevents users from being surprised by discrepancies, on the other, doing so introduces complexity in the supporting software.
  • I'm curious why the Python indexing facility isn't used to select subimages (as illustrated in line 19 of page 5 and other places). It would seem the indexing scheme that Python provides would be a more natural way of creating subimages.
  • On line 53 page 5 the pairs of objects CompositeMap and MapCube seem switched relative to the temporally and spatially aligned descriptions following (i.e., MapCube appears to be temporally ordered, and CompositeMap appears to be spatially aligned from later descriptions). But perhaps I misunderstand.
  • While the term "factory" is familiar to experienced Python users (line 55 page 7), I suspect is isn't so clear to more casual users. Perhaps a little more explanation is useful here.

Comment on the way that methods interact with `meta`

  • It probably would be good to indicate if the convenience properties mentioned in line 11 of page 5 are kept in sync with corresponding values in the meta attribute. On the one hand, keeping these consistent automatically is a nice safety feature and prevents users from being surprised by discrepancies, on the other, doing so introduces complexity in the supporting software.

Clarify Factory working

  • While the term "factory" is familiar to experienced Python users (line 55 page 7), I suspect is isn't so clear to more casual users. Perhaps a little more explanation is useful here.

Label different sections for cross references

Each section should be properly labelled, for example with:

\section{Maps}\label{sec:maps}
...
\subsection{submap}\label{ssec:smaps}
...

So we could write in a different sections something like

\section{Future}\label{sec:future}
... as seen in \s\ref{sec:maps} ...

$$$ and LOC

slocount $$$ and lines of code is a dubious measure. If it is used, be sure that docs and comments are ignored (or should they be?). I don't think it should be used, personally.

HEK abbreviations and descriptions

  • Is there an easy interactive means of displaying what two letter abbreviations are relevant (along with full descriptions). I'd say this issue also comes up elsewhere in wondering what introspective tools are generally available for seeing what the options are for queries and such).

Response `show()` method

  • Is there a need for a show() method (line 40, page 11)? Can __str__ or __repr__ serve as well?

Referee: General Comments

  • The paper is good at providing an overview of what is available in
    SunPy. However, what I was really missing is a description of how this enables
    science. To this end, it would have been useful to provide a discussion of
    typical workflows in solar physics (i.e., what solar physicists do in their
    day to day science) and how these workflows are mapped on SunPy features. Even
    better, of course, would have been a description of workflows solar physicists
    would really like to do, that are currently too onerous but are now possible
    with SunPy.
  • The authors list a number of other software packages on p.3 of the
    manuscripts (e.g., pandas, astropy, etc), as well as later on in the paper,
    but they are not properly referenced. If, as I assume the authors will agree,
    we want to get to a community where publishing on software packages is given
    the appropriate credit, then I would encourage the authors to reciprocate and
    provide proper citations for the packages they use or reference in the paper.
  • Please be consistent in either abbreviating or spelling out author first
    names in the list of references. If you abbreviate, do so either with a period
    or don't, but be consistent.
  • It may be useful to explain how units are handled internally (e.g., are astropy units used? Or everything is converted to standard units.)

Labels for the main sections need to be inside the section

The main file contains labels after the inputs... this would produce that the labels links to the last subsection or figure in these files and not the section itself. They should go just after the \section{} command.

\section{blah}\label{sec:blah}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.