Our next six-week PSC lecture series is starting soon! We have some fun new lectures for you all. Please plan to join us on October 5th for an informational session at 7 pm EDT at https://nanograv.zoom.us/j/91319664733 . The course will start on October 12th.

About Us

Our Mission: To discover new pulsars

Imagine... After millions of years of nuclear fusion, a massive star depletes its core of hydrogen and helium. With no outward pressure to hold it up, gravity wins, and the star collapses. The outer layers rebound from the core and are expelled into space in a giant supernova explosion.  But, what of the core?? It continues to collapse into a neutron star... an object with the mass of our Sun, yet only 20 kilometers in diameter. 

Some neutron stars--those we can detect--are called pulsars. Pulsars are incredible! Unlike our Sun which spins once every 25 days or so, pulsars can spin up to 800 times/second! They have magnetic fields 10,000,000,000 times stronger than a fridge magnet!

Help us discover pulsars! The Pulsar Science Collaboratory was formed to engage high school students, undergraduate students, faculty and teachers in pulsar research.  You will start out helping the community discover new pulsars. If you wish to continue, you can join teams on advanced projects!


Finding a pulsar is a significant scientific discovery in its own right, and, may also lead to advances in our knowledge of gravitational waves!

What is PSC?

The PSC began in 2007 when the Green Bank Telescope was in need of repairs. Specifically, it needed a new track. While this track was being replaced, the telescope was unable to move and could only point at a fixed position in the sky. During this time, two astronomers from WVU, Dr. Maura McLaughlin and Dr. Duncan Lorimer used the Green Bank Telescope to observe the sky as it drifted overhead. And as the sky drifted by, they took data. And more data. And more data. By the end, they had over 300 hours of observing time and acquired more than 30 terabytes of data! We formed the PSC to help them analyze this data, and as it turns out students and teachers are quite good at it!

Students have actually discovered several new pulsars, and have become published authors, before they leave high school!

Since that initial successful survey of the sky, the GBT has been used to gather even more data, and the PSC has grown to numerous high schools, colleges and universities around the country. We welcome you to join this scientific community and make your contribution!

Program Components:

  • FREE Online training – Gain expertise in pulsar astronomy and  pulsar data analysis through six 1-hour online classes and offline homework taught by pulsar scientists, graduate students and educators on the PSC staff.  Once you are certified, you will gain access to data!!
  • PSC Clubs – Teachers and students will form a PSC club at their school or other venue. PSC teams will conduct original research by analyzing data from the GBT with the expectation of discovering new pulsars and characterizing changes in previously known pulsars.
  • Mentoring –We have a great group of undergraduate and graduate students who know their way around pulsar data, STEM majors, how to survive in college and more!  They’re available to connect with your group online and maybe even face to face for some real time help and encouragement.
  • Annual PSC Capstone Seminar – Student Teams   and their teachers are eligible to present their research, hear talks by professional astronomers, tour the STEM colleges  at WVU and participate in fun STEM related activities at a virtual PSC Seminar held in May!
  • Advanced Projects – We will provide more advanced training for science teachers/professors and  keen high school sand undergraduate student leaders. Work alongside astronomers to learn how to characterize pulsars!    Current projects are Scintillation, Giant Pulses and Magnetars. You can learn to use Jupyter Notebooks in the process!

Get Started!  Get an account, join a team and complete a course.  Find out how to get started here.



You can also check out these publications about the PSC! Students have been authors on several of these peer-reviewed publications in scientific journals.

Debug Console

Close4 MBRequestSessionTimelineDatabase27Events25
Array( ) Array(

Array( ) Array(

Array( ) Array(

Array( TEMP => /var/www/tmp, TMPDIR => /var/www/tmp, TMP => /var/www/tmp, PATH => /usr/lo... Array(
TEMP => /var/www/tmp,
TMPDIR => /var/www/tmp,
TMP => /var/www/tmp,
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin,
USER => apache,
HOME => /usr/share/httpd,
SCRIPT_NAME => /index.php,
REQUEST_URI => /aboutus,
REDIRECT_URL => /aboutus,
REMOTE_PORT => 55894,
SCRIPT_FILENAME => /var/www/pulsars/index.php,
SERVER_ADMIN => root@localhost,
CONTEXT_DOCUMENT_ROOT => /var/www/pulsars,
DOCUMENT_ROOT => /var/www/pulsars,
SERVER_NAME => pulsars.nanograv.org,
SERVER_SOFTWARE => Apache/2.4.37 (rocky) OpenSSL/1.1.1k,
HTTP_HOST => pulsars.nanograv.org,
HTTP_IF_MODIFIED_SINCE => Mon, 30 Jan 2023 05:49:55 GMT,
HTTP_ACCEPT => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
HTTP_USER_AGENT => CCBot/2.0 (https://commoncrawl.org/faq/),
SSL_TLS_SNI => pulsars.nanograv.org,
HTTPS => on,
SCRIPT_URI => https://pulsars.nanograv.org/aboutus,
SCRIPT_URL => /aboutus,
REDIRECT_SSL_TLS_SNI => pulsars.nanograv.org,
REDIRECT_SCRIPT_URI => https://pulsars.nanograv.org/aboutus,
PHP_SELF => /index.php,
REQUEST_TIME_FLOAT => 1696263708.1586,
REQUEST_TIME => 1696263708
separator .
orderBy id
orderDir asc
1 registerIP
2 access
tracker.sid 7995279dbe799ea0234bc81729b35117
tracker.ssid 7995279dbe799ea0234bc81729b35117
tracker.rsid 7995279dbe799ea0234bc81729b35117
  • site 0.021 seconds (+0.021); 2.00 MB (+2.000) - afterInitialise
  • site 0.028 seconds (+0.008); 2.00 MB (0.000) - afterRoute
  • site 0.045 seconds (+0.017); 4.00 MB (+2.000) - afterDispatch
  • site 0.049 seconds (+0.004); 4.00 MB (0.000) - beforeRenderModule mod_search (Search)
  • site 0.050 seconds (+0.001); 4.00 MB (0.000) - afterRenderModule mod_search (Search)
  • site 0.050 seconds (+0.000); 4.00 MB (0.000) - beforeRenderModule mod_custom (Footer)
  • site 0.050 seconds (+0.000); 4.00 MB (0.000) - afterRenderModule mod_custom (Footer)
  • site 0.050 seconds (+0.000); 4.00 MB (0.000) - beforeRenderModule mod_custom (Footer social links)
  • site 0.051 seconds (+0.000); 4.00 MB (0.000) - afterRenderModule mod_custom (Footer social links)
  • site 0.051 seconds (+0.000); 4.00 MB (0.000) - beforeRenderModule mod_menu (About)
  • site 0.052 seconds (+0.001); 4.00 MB (0.000) - afterRenderModule mod_menu (About)
  • site 0.052 seconds (+0.000); 4.00 MB (0.000) - beforeRenderModule mod_menu (Legal Menu)
  • site 0.053 seconds (+0.001); 4.00 MB (0.000) - afterRenderModule mod_menu (Legal Menu)
  • site 0.053 seconds (+0.000); 4.00 MB (0.000) - beforeRenderModule mod_menu (Main Menu)
  • site 0.057 seconds (+0.004); 4.00 MB (0.000) - afterRenderModule mod_menu (Main Menu)
  • site 0.057 seconds (+0.000); 4.00 MB (0.000) - beforeRenderModule mod_notices (Community Notices)
  • site 0.058 seconds (+0.001); 4.00 MB (0.000) - afterRenderModule mod_notices (Community Notices)
  • site 0.059 seconds (+0.001); 4.00 MB (0.000) - onAfterRender
  • site 0.059 seconds (+0.001); 4.00 MB (0.000) - sessionStore
4 MB

27 Queries Logged: 0.008404016494751 seconds

  1. SELECT data
      FROM `jos_session`
      WHERE `session_id` = '5b34a913441d509247dcf6926c240001'
      FROM `jos_session`
      WHERE `session_id` = '5b34a913441d509247dcf6926c240001'
  3. SELECT data
      FROM `jos_session`
      WHERE `session_id` = '7995279dbe799ea0234bc81729b35117'
  4. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_languages'
  5. SELECT session_id
      FROM `jos_session`
      WHERE `session_id` = '7995279dbe799ea0234bc81729b35117'
      LIMIT 1
  6. INSERT INTO `jos_session` (`session_id`,`client_id`,`time`,`ip`)
      VALUES ('7995279dbe799ea0234bc81729b35117','0','1696263708','')
  7. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_members'
  8. SELECT b.id, b.title
      FROM `jos_usergroups` AS `a`
      LEFT JOIN jos_usergroups AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
      WHERE `a`.`id` = '1'
  9. SELECT *
      FROM `jos_viewlevels`
  10. SELECT folder AS type,element AS name,protected,params
      FROM `jos_extensions`
      WHERE `enabled` >= '1'
      AND `type` = 'plugin'
      AND `state` >= '0'
      AND `access` IN ('1','1')
      ORDER BY `ordering` ASC
  11. SELECT m.id,m.menutype,m.title,m.alias,m.note,m.path AS route,m.link,m.type,m.level,m.language,m.browserNav,m.access,m.params,m.home,m.img,m.template_style_id,m.component_id,m.parent_id,e.element AS component
      FROM `jos_menu` AS `m`
      LEFT JOIN jos_extensions AS e
      ON e.extension_id = m.component_id
      WHERE `m`.`published` = '1'
      AND `m`.`parent_id` > '0'
      AND `m`.`client_id` = '0'
      ORDER BY `m`.`lft` ASC
  12. SELECT jos_template_styles.id,jos_template_styles.home,jos_template_styles.template,jos_template_styles.params,jos_extensions.protected
      FROM `jos_template_styles`
      INNER JOIN jos_extensions
      ON jos_extensions.element = jos_template_styles.template
      WHERE `jos_template_styles`.`client_id` = '0'
      AND `jos_extensions`.`enabled` = '1'
      AND `jos_extensions`.`type` = 'template'
      AND jos_extensions.`client_id` = `jos_template_styles`.`client_id`
      ORDER BY `home` DESC
  13. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_content'
  14. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_categories'
  15. SELECT a.rules
      FROM `jos_assets` AS `a`
      WHERE `a`.`id` = '1'
      GROUP BY a.id, a.rules, a.lft
  16. SELECT b.rules
      FROM `jos_assets` AS `a`
      LEFT JOIN jos_assets AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
      WHERE `a`.`name` = 'com_content'
      GROUP BY b.id, b.rules, b.lft
      ORDER BY `b`.`lft` ASC
  17. SELECT a.*,a.id,a.asset_id,a.title,a.alias,a.title_alias,a.introtext,a.fulltext,
      CASE WHEN badcats.id IS NULL THEN a.state ELSE 0 END AS state,a.mask,a.catid,a.created,a.created_by,a.created_by_alias,
      CASE WHEN a.modified IS NULL THEN a.created ELSE a.modified END AS modified,a.modified_by,a.checked_out,a.checked_out_time,a.publish_up,a.publish_down,a.images,a.urls,a.attribs,a.version,a.parentid,a.ordering,a.metakey,a.metadesc,a.access,a.hits,a.metadata,a.featured,a.language,a.xreference,c.title AS category_title,c.alias AS category_alias,c.access AS category_access,u.name AS author,parent.title AS parent_title,parent.id AS parent_id,parent.path AS parent_route,parent.alias AS parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating,v.rating_count AS rating_count
      FROM `jos_content` AS `a`
      LEFT JOIN jos_categories AS c
      ON c.id = a.catid
      LEFT JOIN jos_users AS u
      ON u.id = a.created_by
      LEFT JOIN jos_categories as parent
      ON parent.id = c.parent_id
      LEFT JOIN jos_content_rating AS v
      ON a.id = v.content_id
      OUTER JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published <= 0
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE `a`.`id` = '3'
      AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= '2023-10-02 16:21:48' )
      AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= '2023-10-02 16:21:48' )
      AND `a`.`state` IN ('1','2')
  18. SELECT c.*,
      CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
      FROM `jos_categories` AS `c`
      LEFT JOIN jos_categories AS s
      ON (s.lft <= c.lft
      AND s.rgt >= c.rgt) OR (s.lft > c.lft
      AND s.rgt < c.rgt)
      LEFT JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published != 1
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE (`c`.`extension` = 'com_content' OR `c`.`extension` = 'system' )
      AND `c`.`access` IN ('1','1')
      AND `c`.`published` = '1'
      AND `s`.`id` = '8'
      AND badcats.id is null
      GROUP BY c.id,c.asset_id,c.access,c.alias,c.checked_out,c.checked_out_time,c.created_time,c.created_user_id,c.description,c.extension,c.hits,c.language,c.level,c.lft,c.metadata,c.metadesc,c.metakey,c.modified_time,c.note,c.params,c.parent_id,c.path,c.published,c.rgt,c.title,c.modified_user_id
      ORDER BY `c`.`lft` ASC
  19. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_users'
  20. SELECT m.id,m.title,m.module,m.position,m.content,m.showtitle,m.params,mm.menuid,e.protected
      FROM `jos_modules` AS `m`
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      LEFT JOIN jos_extensions AS e
      ON e.element = m.module
      AND e.client_id = m.client_id
      WHERE `m`.`published` = '1'
      AND `e`.`enabled` = '1'
      AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= '2023-10-02 16:21:48' )
      AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= '2023-10-02 16:21:48' )
      AND `m`.`access` IN ('1','1')
      AND `m`.`client_id` = '0'
      AND (`mm`.`menuid` = '9' OR `mm`.`menuid` <= '0' )
      ORDER BY `m`.`position` ASC,`m`.`ordering` ASC
  21. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_search'
  22. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_courses'
  23. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_events'
  24. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_newsletter'
  25. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_psrsearch'
  26. SELECT publish_up, publish_down
      FROM `jos_modules`
      WHERE id=45
  27. UPDATE `jos_session`
      SET `data` = '__default|a:9:{s:15:\"session.counter\";i:1;s:19:\"session.timer.start\";i:1696263708;s:18:\"session.timer.last\";i:1696263708;s:17:\"session.timer.now\";i:1696263708;s:8:\"registry\";O:23:\"Hubzero\\Config\\Registry\":2:{s:7:\"\0*\0data\";O:8:\"stdClass\":1:{s:1:\"0\";s:7:\"session\";}s:9:\"separator\";s:1:\".\";}s:4:\"user\";C:17:\"Hubzero\\User\\User\":22:{a:1:{s:5:\"guest\";b:1;}}s:11:\"tracker.sid\";s:32:\"7995279dbe799ea0234bc81729b35117\";s:12:\"tracker.ssid\";s:32:\"7995279dbe799ea0234bc81729b35117\";s:12:\"tracker.rsid\";s:32:\"7995279dbe799ea0234bc81729b35117\";}',`time` = '1696263708',`ip` = ''
      WHERE `session_id` = '7995279dbe799ea0234bc81729b35117'
  • onAfterInitialise Method plgSystemP3p::onAfterInitialise /core/plugins/system/p3p/p3p.php:21
  • onAfterInitialise Method plgSystemRemember::onAfterInitialise /core/plugins/system/remember/remember.php:20
  • onAfterInitialise Method plgSystemHubzero::onAfterInitialise /core/plugins/system/hubzero/hubzero.php:21
  • onAfterInitialise Method plgSystemXFeed::onAfterInitialise /core/plugins/system/xfeed/xfeed.php:21
  • onAfterInitialise Method plgSystemSupergroup::onAfterInitialise /core/plugins/system/supergroup/supergroup.php:113
  • onAfterInitialise Method plgSystemReferrerpolicy::onAfterInitialise /core/plugins/system/referrerpolicy/referrerpolicy.php:21
  • onAfterRoute Method plgSystemJquery::onAfterRoute /core/plugins/system/jquery/jquery.php:21
  • onAfterRoute Method plgSystemSpamjail::onAfterRoute /core/plugins/system/spamjail/spamjail.php:21
  • onAfterRoute Method plgSystemIncomplete::onAfterRoute /core/plugins/system/incomplete/incomplete.php:21
  • onAfterRoute Method plgSystemUnconfirmed::onAfterRoute /core/plugins/system/unconfirmed/unconfirmed.php:21
  • onAfterRoute Method plgSystemUnapproved::onAfterRoute /core/plugins/system/unapproved/unapproved.php:21
  • onAfterRoute Method plgSystemPassword::onAfterRoute /core/plugins/system/password/password.php:21
  • onContentPrepare Method plgContentLoadmodule::onContentPrepare /core/plugins/content/loadmodule/loadmodule.php:35
  • onContentPrepare Method plgContentEmailcloak::onContentPrepare /core/plugins/content/emailcloak/emailcloak.php:25
  • onContentPrepare Method plgContentPagebreak::onContentPrepare /core/plugins/content/pagebreak/pagebreak.php:35
  • onContentPrepare Method plgContentXhubtags::onContentPrepare /core/plugins/content/xhubtags/xhubtags.php:25
  • onContentPrepare Method plgContentFormatwiki::onContentPrepare /core/plugins/content/formatwiki/formatwiki.php:63
  • onContentPrepare Method plgContentFormathtml::onContentPrepare /core/plugins/content/formathtml/formathtml.php:105
  • onContentPrepare Method plgContentExternalhref::onContentPrepare /core/plugins/content/externalhref/externalhref.php:41
  • onContentBeforeDisplay Method plgContentPagenavigation::onContentBeforeDisplay /core/plugins/content/pagenavigation/pagenavigation.php:25
  • onContentBeforeDisplay Method plgContentVote::onContentBeforeDisplay /core/plugins/content/vote/vote.php:32
  • onAfterDispatch Method plgSystemMobile::onAfterDispatch /core/plugins/system/mobile/mobile.php:22
  • onAfterDispatch Method plgSystemDebug::onAfterDispatch /core/plugins/system/debug/debug.php:60
  • onAfterDispatch Method PlgSystemHighlight::onAfterDispatch /core/plugins/system/highlight/highlight.php:25
  • onAfterRender Method plgSystemSef::onAfterRender /core/plugins/system/sef/sef.php:21