GitHub PullRequestReviewCommentEvent at 2014-07-27 22:10:16
Repository: openmc
Actor: wbinventor
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/wbinventor/openmc/pulls/comments/15442054","id":15442054,"diff_hunk":"@@ -2296,8 +2299,496 @@ function get_next_bin(filter_type, filter_value, i_tally) result(bin)\n     end do\n \n   end function get_next_bin\n+  \n+!===============================================================================\n+! CHECK FOR reach the threshold, get the max ratio\n+!=============================================================================== \n+ subroutine check_for_trigger() \n+    \n+    integer :: i            ! index in tallies array\n+    integer :: j            ! level in tally hierarchy\n+    integer :: k            ! loop index for scoring bins\n+    integer :: n            ! loop index for nuclides\n+    integer :: l            ! loop index for user scores\n+    integer :: filter_index ! index in results array for filters\n+    integer :: score_index  ! scoring bin index\n+    integer :: i_nuclide    ! index in nuclides array\n+    integer :: i_listing    ! index in xs_listings array\n+    integer :: n_order      ! loop index for moment orders\n+    integer :: nm_order     ! loop index for Ynm moment orders\n+    integer :: amount       ! the number of uncertainty bigger than threshold\n+    real(8), allocatable :: temp_trig(:,:)\n+    real(8) :: temp_ratio\n+    real(8) :: temp_keff_trig\n+    character(len=52), allocatable :: temp_nuclide_name(:)\n+    type(Temptrigger), target      :: tempresult\n+    type(TriggerObject), allocatable :: temp_real(:,:)\n+    type(TallyObject), pointer :: t => null()\n+    type(Temptrigger), pointer :: temp_t => null()\n+    \n+    trig_dist % max_ratio = 0\n+    amount = 0\n+   ! Calculate statistics and get \n+     if (master) then\n+        if (keff_trigger % trigger_type > 0) then\n+          \n+          select case (keff_trigger % trigger_type)        \n+          case(VARIANCE) \n+          temp_keff_trig=k_combined(2) ** 2\n+          case(RELATIVE_ERROR)      \n+          temp_keff_trig=k_combined(2) / k_combined(1)\n+          case default\n+          temp_keff_trig=k_combined(2)\n+          end select\n+         \n+          if (temp_keff_trig > keff_trigger%threshold) then\n+            amount = amount + 1 \n+            temp_ratio = temp_keff_trig / keff_trigger%threshold\n+            if(trig_dist % max_ratio < temp_ratio) then\n+               trig_dist % max_ratio = temp_ratio\n+               trig_dist % temp_name = CHAR_EIGENVALUE\n+            end if \n+          end if \n+     \n+        end if\n+      temp_t => tempresult              \n+   ! Check the trigger \n+    TALLY_LOOP: do i = 1, n_tallies\n+      t => tallies(i)\n+      allocate(temp_t % results(t % total_score_bins, t % total_filter_bins))\n+     \n+      if (n_realizations > 1) call tally_trigger_statistics(t,temp_t)\n+      allocate (temp_trig(t % n_user_score_bins,t % n_nuclide_bins))\n+      allocate (temp_real(t % n_user_score_bins,t % n_nuclide_bins))\n+      allocate(temp_nuclide_name(t % n_nuclide_bins))\n+       if (t % type == TALLY_SURFACE_CURRENT) then\n+        call check_for_current(t,temp_t,temp_real(1,1))\n+       else\n+      ! Get the result\n+      \n+      ! WARNING: Admittedly, the logic for moving for printing results is\n+      ! extremely confusing and took quite a bit of time to get correct. The\n+      ! logic is structured this way since it is not practical to have a do\n+      ! loop for each filter variable (given that only a few filters are likely\n+      ! to be used for a given tally.\n+\n+      ! Initialize bins, filter level, and indentation\n+      matching_bins(1:t % n_filters) = 0\n+      j = 1\n+\n+      print_bin: do\n+        find_bin: do\n+          if (t % n_filters == 0) exit find_bin\n+             matching_bins(j) = matching_bins(j) + 1\n+          if (matching_bins(j) > t % filters(j) % n_bins) then\n+             if (j == 1) exit print_bin\n+             matching_bins(j) = 0\n+             j = j - 1\n+          else\n+             if (j == t % n_filters) exit find_bin\n+          end if\n+        end do find_bin\n+        \n+        if (t % n_filters > 0) then\n+           filter_index = sum((max(matching_bins(1:t%n_filters),1) - 1) * t % stride) + 1\n+        else\n+           filter_index = 1\n+        end if\n+           score_index = 0\n+           \n+        do n = 1, t % n_nuclide_bins\n+          i_nuclide = t % nuclide_bins(n)\n+          if (i_nuclide == -1) then\n+                temp_nuclide_name(n) = \"Total Material\"\n+          else\n+                i_listing = nuclides(i_nuclide) % listing\n+                temp_nuclide_name(n) = xs_listings(i_listing) % alias\n+          end if\n+           k = 0\n+          do l = 1, t % n_user_score_bins\n+            k = k + 1\n+            score_index = score_index + 1\n+           \n+            select case(t % score_bins(k))\n+            \n+            case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N)\n+            \n+            if(temp_real(l,n) % t1 < temp_t % results(score_index,filter_index) % trigger_sum_sq) then\n+              temp_real(l,n) % t1 = temp_t % results(score_index,filter_index) % trigger_sum_sq\n+            end if\n+            if (temp_real(l,n) % t2< temp_t % results(score_index,filter_index) % trigger_sum_sq / &\n+                            temp_t % results(score_index,filter_index) % trigger_sum) then \n+              temp_real(l,n) % t2 = temp_t % results(score_index,filter_index) % trigger_sum_sq / &\n+                                 temp_t % results(score_index,filter_index) % trigger_sum\n+            end if\n+            temp_real(l,n) % t3=temp_real(l,n) % t1**2\n+            \n+            case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN)\n+              score_index = score_index - 1\n+              \n+            do n_order = 0, t % moment_order(k)\n+                score_index = score_index + 1\n+                if(temp_real(l,n) % t1 < temp_t % results(score_index,filter_index) % trigger_sum_sq) then \n+                   temp_real(l,n) % t1 = temp_t % results(score_index,filter_index) % trigger_sum_sq\n+                end if\n+                if (temp_real(l,n) % t2 < temp_t % results(score_index,filter_index) % trigger_sum_sq / &\n+                                 temp_t % results(score_index,filter_index) % trigger_sum ) then\n+                temp_real(l,n) % t2 = temp_t % results(score_index,filter_index) % trigger_sum_sq / &\n+                                 temp_t % results(score_index,filter_index) % trigger_sum\n+                end if\n+                temp_real(l,n) % t3 = temp_real(l,n) % t1**2\n+            end do\n+              k = k + t % moment_order(k)\n+              \n+            case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, &\n+                  SCORE_TOTAL_YN)\n+              score_index = score_index - 1\n+              do n_order = 0, t % moment_order(k)\n+                do nm_order = -n_order, n_order\n+                  score_index = score_index + 1\n+                  if(temp_real(l,n) % t1 < temp_t % results(score_index,filter_index) % trigger_sum_sq) then\n+                   temp_real(l,n) % t1 = temp_t % results(score_index,filter_index) % trigger_sum_sq\n+                   end if\n+                   if (temp_real(l,n) % t2 < temp_t % results(score_index,filter_index) % trigger_sum_sq / &\n+                                 temp_t % results(score_index,filter_index) % trigger_sum) then\n+                       temp_real(l,n) % t2 = temp_t % results(score_index,filter_index) % trigger_sum_sq / &\n+                                 temp_t % results(score_index,filter_index) % trigger_sum\n+                   end if\n+                   temp_real(l,n) % t3 = temp_real(l,n) % t1**2 \n+                end do\n+              end do\n+              k = k + (t % moment_order(k) + 1)**2 - 1\n+           \n+            case default\n+               if(temp_real(l,n) % t1 < temp_t % results(score_index,filter_index) % trigger_sum_sq) then\n+                  temp_real(l,n) % t1 = temp_t % results(score_index,filter_index) % trigger_sum_sq\n+               end if\n+               if(temp_real(l,n) % t2 < (temp_t % results(score_index,filter_index) % trigger_sum_sq / &\n+                             temp_t % results(score_index,filter_index) % trigger_sum)) then\n+                   temp_real(l,n)%t2 = temp_t % results(score_index,filter_index) % trigger_sum_sq / &\n+                                temp_t % results(score_index,filter_index) % trigger_sum\n+               end if\n+               temp_real(l,n) % t3 = temp_real(l,n) % t1**2    \n+            end select\n+          end do         \n+        end do\n+     \n+      if (t % n_filters == 0) exit print_bin\n+      end do print_bin\n+      end if \n+     \n+    do n = 1, t % n_nuclide_bins\n+     do l = 1, t % n_user_score_bins\n+       do k = 1 ,t % n_user_triggers \n+       if (.not.t % trigger_for_all .and. (t % type /=TALLY_SURFACE_CURRENT)) then\n+        if( t % score(k) % position == l ) then\n+         select case (t % score(k) % type)        \n+         case(VARIANCE) \n+         temp_trig(l,n) = temp_real(l,n) % t3\n+         case(RELATIVE_ERROR)      \n+         temp_trig(l,n) = temp_real(l,n) % t2\n+         case default\n+         temp_trig(l,n) = temp_real(l,n) % t1\n+         end select\n+        \n+         if (temp_trig(l,n) > t % score(k) % threshold) then\n+          amount = amount + 1 \n+          temp_ratio = temp_trig(l,n) / t % score(k) % threshold\n+          if(trig_dist % max_ratio < temp_ratio) then\n+          trig_dist % max_ratio = temp_ratio\n+          trig_dist % temp_name = t % score(k) % score_name\n+          trig_dist % id = t % id\n+          trig_dist % temp_nuclide = temp_nuclide_name(n)\n+          end if \n+          end if\n+        else \n+        cycle\n+        end if\n+       else if(t % trigger_for_all .and. t % type /= TALLY_SURFACE_CURRENT) then\n+         select case (t % score(k) % type)        \n+         case(VARIANCE) \n+         temp_trig(l,n) = temp_real(l,n) % t3\n+         case(RELATIVE_ERROR)      \n+         temp_trig(l,n) = temp_real(l,n) % t2\n+         case default\n+         temp_trig(l,n) = temp_real(l,n) % t1\n+         end select\n+         \n+         if (temp_trig(l,n) > t % score(1)%threshold) then\n+          amount = amount + 1 \n+          temp_ratio = temp_trig(l,n) / t % score(1)%threshold\n+          if(trig_dist % max_ratio < temp_ratio) then\n+          trig_dist % max_ratio = temp_ratio\n+          trig_dist % temp_name  = t % score_for_all(l)\n+          trig_dist % id = t % id\n+          trig_dist % temp_nuclide = temp_nuclide_name(n)\n+          end if \n+         end if \n+       else\n+         select case (t % score(k) % type)        \n+         case(VARIANCE) \n+         temp_trig(l,n) = temp_real(l,n) % t3\n+         case(RELATIVE_ERROR)      \n+         temp_trig(l,n) = temp_real(l,n) % t2\n+         case default\n+         temp_trig(l,n) = temp_real(l,n) % t1\n+         end select\n+        \n+         if (temp_trig(l,n)>t % score(1) % threshold) then\n+          amount = amount + 1 \n+          temp_ratio = temp_trig(l,n)/t % score(1) % threshold\n+          if(trig_dist % max_ratio < temp_ratio) then\n+          trig_dist % max_ratio = temp_ratio\n+          trig_dist % temp_name  = t % score_for_all(l)\n+          trig_dist % id = t % id\n+          trig_dist % temp_nuclide = NO_NUCLIDE\n+          end if\n+        end if\n+      end if\n+     end do\n+    end do  \n+  end do \n+   deallocate (temp_trig)\n+   deallocate (temp_real)\n+   deallocate (temp_nuclide_name)\n+   deallocate (temp_t % results)\n+ end do TALLY_LOOP\n+   \n+   if(amount == 0 ) then\n+   satisfy_triggers = .true. \n+   else \n+   satisfy_triggers = .false.\n+   end if\n+ end if\n+   \n+     \n+ end subroutine check_for_trigger\n \n !===============================================================================\n+! CHECK_FOR_CURRENT get the temporary result of current","path":"src/tally.F90","position":282,"original_position":282,"commit_id":"c0a75870bef66d26baa105178872cdb1e66db38b","original_commit_id":"c0a75870bef66d26baa105178872cdb1e66db38b","user":{"login":"wbinventor","id":209492,"avatar_url":"https://avatars.githubusercontent.com/u/209492?","gravatar_id":"02e570eb966be9932d3cac5aee9d99ec","url":"https://api.github.com/users/wbinventor","html_url":"https://github.com/wbinventor","followers_url":"https://api.github.com/users/wbinventor/followers","following_url":"https://api.github.com/users/wbinventor/following{/other_user}","gists_url":"https://api.github.com/users/wbinventor/gists{/gist_id}","starred_url":"https://api.github.com/users/wbinventor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wbinventor/subscriptions","organizations_url":"https://api.github.com/users/wbinventor/orgs","repos_url":"https://api.github.com/users/wbinventor/repos","events_url":"https://api.github.com/users/wbinventor/events{/privacy}","received_events_url":"https://api.github.com/users/wbinventor/received_events","type":"User","site_admin":false},"body":"What is this routine for? Write a better comment describing the need for the routine and why it is called. Also, ``check_for_current`` could probably have a better (more intuitive and descriptive) name, perhaps something like ``compute_tally_current``","created_at":"2014-07-27T22:10:16Z","updated_at":"2014-07-27T22:10:16Z","html_url":"https://github.com/wbinventor/openmc/pull/1#discussion_r15442054","pull_request_url":"https://api.github.com/repos/wbinventor/openmc/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/wbinventor/openmc/pulls/comments/15442054"},"html":{"href":"https://github.com/wbinventor/openmc/pull/1#discussion_r15442054"},"pull_request":{"href":"https://api.github.com/repos/wbinventor/openmc/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/wbinventor/openmc/pulls/1","id":18920433,"html_url":"https://github.com/wbinventor/openmc/pull/1","diff_url":"https://github.com/wbinventor/openmc/pull/1.diff","patch_url":"https://github.com/wbinventor/openmc/pull/1.patch","issue_url":"https://api.github.com/repos/wbinventor/openmc/issues/1","number":1,"state":"open","title":"Tally trigger","user":{"login":"shenqicang","id":7658056,"avatar_url":"https://avatars.githubusercontent.com/u/7658056?","gravatar_id":"8f0a50feb9e8160324d8d8b3b8683e52","url":"https://api.github.com/users/shenqicang","html_url":"https://github.com/shenqicang","followers_url":"https://api.github.com/users/shenqicang/followers","following_url":"https://api.github.com/users/shenqicang/following{/other_user}","gists_url":"https://api.github.com/users/shenqicang/gists{/gist_id}","starred_url":"https://api.github.com/users/shenqicang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shenqicang/subscriptions","organizations_url":"https://api.github.com/users/shenqicang/orgs","repos_url":"https://api.github.com/users/shenqicang/repos","events_url":"https://api.github.com/users/shenqicang/events{/privacy}","received_events_url":"https://api.github.com/users/shenqicang/received_events","type":"User","site_admin":false},"body":"This is the OpenMC code with tally precision triggers and corresponding documentation. There are some changes in the tally_header file. This Pull request fulfills issue #264.","created_at":"2014-07-25T21:31:35Z","updated_at":"2014-07-27T22:10:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ca0cb3f829e33aa695d7b90c36abbcb2a1e72967","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/wbinventor/openmc/pulls/1/commits","review_comments_url":"https://api.github.com/repos/wbinventor/openmc/pulls/1/comments","review_comment_url":"https://api.github.com/repos/wbinventor/openmc/pulls/comments/{number}","comments_url":"https://api.github.com/repos/wbinventor/openmc/issues/1/comments","statuses_url":"https://api.github.com/repos/wbinventor/openmc/statuses/c0a75870bef66d26baa105178872cdb1e66db38b","head":{"label":"shenqicang:tally_trigger","ref":"tally_trigger","sha":"c0a75870bef66d26baa105178872cdb1e66db38b","user":{"login":"shenqicang","id":7658056,"avatar_url":"https://avatars.githubusercontent.com/u/7658056?","gravatar_id":"8f0a50feb9e8160324d8d8b3b8683e52","url":"https://api.github.com/users/shenqicang","html_url":"https://github.com/shenqicang","followers_url":"https://api.github.com/users/shenqicang/followers","following_url":"https://api.github.com/users/shenqicang/following{/other_user}","gists_url":"https://api.github.com/users/shenqicang/gists{/gist_id}","starred_url":"https://api.github.com/users/shenqicang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shenqicang/subscriptions","organizations_url":"https://api.github.com/users/shenqicang/orgs","repos_url":"https://api.github.com/users/shenqicang/repos","events_url":"https://api.github.com/users/shenqicang/events{/privacy}","received_events_url":"https://api.github.com/users/shenqicang/received_events","type":"User","site_admin":false},"repo":{"id":21573966,"name":"openmc","full_name":"shenqicang/openmc","owner":{"login":"shenqicang","id":7658056,"avatar_url":"https://avatars.githubusercontent.com/u/7658056?","gravatar_id":"8f0a50feb9e8160324d8d8b3b8683e52","url":"https://api.github.com/users/shenqicang","html_url":"https://github.com/shenqicang","followers_url":"https://api.github.com/users/shenqicang/followers","following_url":"https://api.github.com/users/shenqicang/following{/other_user}","gists_url":"https://api.github.com/users/shenqicang/gists{/gist_id}","starred_url":"https://api.github.com/users/shenqicang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shenqicang/subscriptions","organizations_url":"https://api.github.com/users/shenqicang/orgs","repos_url":"https://api.github.com/users/shenqicang/repos","events_url":"https://api.github.com/users/shenqicang/events{/privacy}","received_events_url":"https://api.github.com/users/shenqicang/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/shenqicang/openmc","description":"OpenMC Monte Carlo Code","fork":true,"url":"https://api.github.com/repos/shenqicang/openmc","forks_url":"https://api.github.com/repos/shenqicang/openmc/forks","keys_url":"https://api.github.com/repos/shenqicang/openmc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shenqicang/openmc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shenqicang/openmc/teams","hooks_url":"https://api.github.com/repos/shenqicang/openmc/hooks","issue_events_url":"https://api.github.com/repos/shenqicang/openmc/issues/events{/number}","events_url":"https://api.github.com/repos/shenqicang/openmc/events","assignees_url":"https://api.github.com/repos/shenqicang/openmc/assignees{/user}","branches_url":"https://api.github.com/repos/shenqicang/openmc/branches{/branch}","tags_url":"https://api.github.com/repos/shenqicang/openmc/tags","blobs_url":"https://api.github.com/repos/shenqicang/openmc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shenqicang/openmc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shenqicang/openmc/git/refs{/sha}","trees_url":"https://api.github.com/repos/shenqicang/openmc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shenqicang/openmc/statuses/{sha}","languages_url":"https://api.github.com/repos/shenqicang/openmc/languages","stargazers_url":"https://api.github.com/repos/shenqicang/openmc/stargazers","contributors_url":"https://api.github.com/repos/shenqicang/openmc/contributors","subscribers_url":"https://api.github.com/repos/shenqicang/openmc/subscribers","subscription_url":"https://api.github.com/repos/shenqicang/openmc/subscription","commits_url":"https://api.github.com/repos/shenqicang/openmc/commits{/sha}","git_commits_url":"https://api.github.com/repos/shenqicang/openmc/git/commits{/sha}","comments_url":"https://api.github.com/repos/shenqicang/openmc/comments{/number}","issue_comment_url":"https://api.github.com/repos/shenqicang/openmc/issues/comments/{number}","contents_url":"https://api.github.com/repos/shenqicang/openmc/contents/{+path}","compare_url":"https://api.github.com/repos/shenqicang/openmc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shenqicang/openmc/merges","archive_url":"https://api.github.com/repos/shenqicang/openmc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shenqicang/openmc/downloads","issues_url":"https://api.github.com/repos/shenqicang/openmc/issues{/number}","pulls_url":"https://api.github.com/repos/shenqicang/openmc/pulls{/number}","milestones_url":"https://api.github.com/repos/shenqicang/openmc/milestones{/number}","notifications_url":"https://api.github.com/repos/shenqicang/openmc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shenqicang/openmc/labels{/name}","releases_url":"https://api.github.com/repos/shenqicang/openmc/releases{/id}","created_at":"2014-07-07T14:40:11Z","updated_at":"2014-07-25T15:26:21Z","pushed_at":"2014-07-27T06:46:20Z","git_url":"git://github.com/shenqicang/openmc.git","ssh_url":"git@github.com:shenqicang/openmc.git","clone_url":"https://github.com/shenqicang/openmc.git","svn_url":"https://github.com/shenqicang/openmc","homepage":"http://mit-crpg.github.io/openmc/","size":21323,"stargazers_count":1,"watchers_count":1,"language":"FORTRAN","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"develop"}},"base":{"label":"wbinventor:develop","ref":"develop","sha":"81c75279ed48becb584e70c9950caa7cf6fd1187","user":{"login":"wbinventor","id":209492,"avatar_url":"https://avatars.githubusercontent.com/u/209492?","gravatar_id":"02e570eb966be9932d3cac5aee9d99ec","url":"https://api.github.com/users/wbinventor","html_url":"https://github.com/wbinventor","followers_url":"https://api.github.com/users/wbinventor/followers","following_url":"https://api.github.com/users/wbinventor/following{/other_user}","gists_url":"https://api.github.com/users/wbinventor/gists{/gist_id}","starred_url":"https://api.github.com/users/wbinventor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wbinventor/subscriptions","organizations_url":"https://api.github.com/users/wbinventor/orgs","repos_url":"https://api.github.com/users/wbinventor/repos","events_url":"https://api.github.com/users/wbinventor/events{/privacy}","received_events_url":"https://api.github.com/users/wbinventor/received_events","type":"User","site_admin":false},"repo":{"id":17599847,"name":"openmc","full_name":"wbinventor/openmc","owner":{"login":"wbinventor","id":209492,"avatar_url":"https://avatars.githubusercontent.com/u/209492?","gravatar_id":"02e570eb966be9932d3cac5aee9d99ec","url":"https://api.github.com/users/wbinventor","html_url":"https://github.com/wbinventor","followers_url":"https://api.github.com/users/wbinventor/followers","following_url":"https://api.github.com/users/wbinventor/following{/other_user}","gists_url":"https://api.github.com/users/wbinventor/gists{/gist_id}","starred_url":"https://api.github.com/users/wbinventor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wbinventor/subscriptions","organizations_url":"https://api.github.com/users/wbinventor/orgs","repos_url":"https://api.github.com/users/wbinventor/repos","events_url":"https://api.github.com/users/wbinventor/events{/privacy}","received_events_url":"https://api.github.com/users/wbinventor/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/wbinventor/openmc","description":"OpenMC Monte Carlo Code","fork":true,"url":"https://api.github.com/repos/wbinventor/openmc","forks_url":"https://api.github.com/repos/wbinventor/openmc/forks","keys_url":"https://api.github.com/repos/wbinventor/openmc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wbinventor/openmc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wbinventor/openmc/teams","hooks_url":"https://api.github.com/repos/wbinventor/openmc/hooks","issue_events_url":"https://api.github.com/repos/wbinventor/openmc/issues/events{/number}","events_url":"https://api.github.com/repos/wbinventor/openmc/events","assignees_url":"https://api.github.com/repos/wbinventor/openmc/assignees{/user}","branches_url":"https://api.github.com/repos/wbinventor/openmc/branches{/branch}","tags_url":"https://api.github.com/repos/wbinventor/openmc/tags","blobs_url":"https://api.github.com/repos/wbinventor/openmc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wbinventor/openmc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wbinventor/openmc/git/refs{/sha}","trees_url":"https://api.github.com/repos/wbinventor/openmc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wbinventor/openmc/statuses/{sha}","languages_url":"https://api.github.com/repos/wbinventor/openmc/languages","stargazers_url":"https://api.github.com/repos/wbinventor/openmc/stargazers","contributors_url":"https://api.github.com/repos/wbinventor/openmc/contributors","subscribers_url":"https://api.github.com/repos/wbinventor/openmc/subscribers","subscription_url":"https://api.github.com/repos/wbinventor/openmc/subscription","commits_url":"https://api.github.com/repos/wbinventor/openmc/commits{/sha}","git_commits_url":"https://api.github.com/repos/wbinventor/openmc/git/commits{/sha}","comments_url":"https://api.github.com/repos/wbinventor/openmc/comments{/number}","issue_comment_url":"https://api.github.com/repos/wbinventor/openmc/issues/comments/{number}","contents_url":"https://api.github.com/repos/wbinventor/openmc/contents/{+path}","compare_url":"https://api.github.com/repos/wbinventor/openmc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wbinventor/openmc/merges","archive_url":"https://api.github.com/repos/wbinventor/openmc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wbinventor/openmc/downloads","issues_url":"https://api.github.com/repos/wbinventor/openmc/issues{/number}","pulls_url":"https://api.github.com/repos/wbinventor/openmc/pulls{/number}","milestones_url":"https://api.github.com/repos/wbinventor/openmc/milestones{/number}","notifications_url":"https://api.github.com/repos/wbinventor/openmc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wbinventor/openmc/labels{/name}","releases_url":"https://api.github.com/repos/wbinventor/openmc/releases{/id}","created_at":"2014-03-10T16:36:03Z","updated_at":"2014-07-26T03:42:04Z","pushed_at":"2014-07-26T03:42:03Z","git_url":"git://github.com/wbinventor/openmc.git","ssh_url":"git@github.com:wbinventor/openmc.git","clone_url":"https://github.com/wbinventor/openmc.git","svn_url":"https://github.com/wbinventor/openmc","homepage":"http://mit-crpg.github.io/openmc/","size":13811,"stargazers_count":0,"watchers_count":0,"language":"FORTRAN","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/wbinventor/openmc/pulls/1"},"html":{"href":"https://github.com/wbinventor/openmc/pull/1"},"issue":{"href":"https://api.github.com/repos/wbinventor/openmc/issues/1"},"comments":{"href":"https://api.github.com/repos/wbinventor/openmc/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/wbinventor/openmc/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/wbinventor/openmc/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/wbinventor/openmc/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/wbinventor/openmc/statuses/c0a75870bef66d26baa105178872cdb1e66db38b"}}}}