Skip to content
bikegeek edited this page Oct 26, 2016 · 101 revisions

[Series Analysis by lead time vs init time](Series Analysis by lead time vs init time)# References ##Python

##HWRF Python Scripting documentation:

##Released HWRF Scripts:

Documentation

##Instructions/How-To's

  • [Instructions for Initial Test (by someone other than Julie and Minna)](Documentation for Initial Test )

Design Docs

  • [Original Code Layout](Original Code Layout)
  • [Python Code Layout](Python Code Layout)
  • [Activity Diagrams](Activity Diagrams)
  • Sequence Diagrams

Notes

[Requirements from Meeting with Brian Colle on October 12, 2016](Requirements from Meeting with Brian Colle on October 12, 2016)

[Initial Logging Design](Initial Logging Design)

[Series Analysis by lead time vs init time](Series Analysis by lead time vs init time)

##GitHub Repository

  1. Fork a copy of the NCAR/METPlus code into your own GitHub repo, then clone from your GitHub repo to your local machine and make any changes.
  2. When you want to save your work in progress, you can check into your GitHub repo.
  3. When everything is working satisfactorily, you can do a pull request to the NCAR/METPlus repo.

Diagram outlining GitHub process for developers:
https://github.com/bikegeek/METPlus/blob/master/diagrams/GitHub_process.png

##Summary of Process:

  • Keep the METPlus code in your repo in sync with the NCAR/METPlus code by doing the following:
  1. Log into your GitHub account

  2. Fork the NCAR/METPlus repository into your own GitHub repo/account

  1. Clone your GitHub repo's METPlus code into your local host/work area:

    • mkdir then cd to directory where you wish to store this code

    • on the command line, enter 'git clone '

      for example: git clone https://bikegeek/METPlus

    • now I have the METPlus code that I recently forked from the NCAR/METPlus repo under the directory
      I created

  2. Set up your GitHub repo to sync with the NCAR/METPlus repo by doing a remote add:

  • To incorporate any new changes from the NCAR/METPlus repo into your METPlus repo, enter the following from the
    command line in your local working METPlus repo:

    • git pull upstream master Aside: From an explanation on Stack Overflow:
      git pull = git fetch followed by git merge _git fetch updates your remote-tracking branches under refs/remotes//. This _ _operation never changes any of your own local branches under refs/heads, and is safe to do _ without changing your working copy.

              ...
      
              A git pull is what you would do to bring a local branch up-to-date with its remote version,  
              while also updating your other remote-tracking branches.
      
  • Checking in your code to your local repo :
    * git commit (then make comments following this convention)
    * git push origin master (git push will suffice for subsequent pushes,
    now your changes appear in your GitHub repo)

Push your change from your GitHub repo/local workspace to the upstream GitHub repo (NCAR/METPlus):

  • git push upstream master:
    First line is what appears in the subject line, so make this a brief description
    Skip a few lines and the second section is more detailed. A couple of sentences will suffice
    Optional Third section (skip a few lines): Paragraph(s) of details

Useful Git References:

From James McCreight (WRF-Hydro team) this is a good write-up on best practices for collaboration on GitHub:
https://docs.google.com/document/d/1DxsViogPdA0uObHgNx4YFKd4ClC-m9UFcX0rO-ZJTY0/edit?pli=1#heading=h.g4dgc8a6erna

A good blog on a git branching model:
http://nvie.com/posts/a-successful-git-branching-model/

Clone this wiki locally