1 / 7

Unified Noah LSM Code Management Using CVS Mukul Tewari 1 , Mike Ek 2 , Kevin Manning 1 ,

Unified Noah LSM Code Management Using CVS Mukul Tewari 1 , Mike Ek 2 , Kevin Manning 1 , Fei Chen 1 and Ken Mitchell 2 1 NCAR, Boulder, CO 2 NCEP/EMC, Camp Springs, MD. What is CVS?.

kolina
Download Presentation

Unified Noah LSM Code Management Using CVS Mukul Tewari 1 , Mike Ek 2 , Kevin Manning 1 ,

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unified Noah LSM Code Management Using CVS Mukul Tewari1, Mike Ek2, Kevin Manning1, Fei Chen1 and Ken Mitchell2 1NCAR, Boulder, CO 2NCEP/EMC, Camp Springs, MD

  2. What is CVS? • The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, is an open-source version control system • CVS keeps track of all work and all changes in a set of files • Allows several (potentially widely-separated) developers to collaborate • CVS has become popular in the open source software world

  3. CVS in a Nutshell • CVS -- or Concurrent Versioning System -- is a system for managing simultaneous development of files. • CVS • stores files in a central repository • Files are accessible to all users • Commands are given to "check out" a copy of a file for development • And after the mods, "commit" changes back to the repository. • Provides version control • Keeps a log of changes

  4. Typical Uses of CVS • cvs commit • In order to have access of a modified code by different users, the changes must be committed to the repository. • cvs checkout • The user/developer would have the most recent code, once he/she checks out the code from the repository. • cvs update • checks your working copies against the repository files and imports any changed files for you. • cvs add • Files CVS doesn't know what to do with are reported with a question mark after the commit process and during a cvs update. They need to be added to the repository before CVS will recognize them. • Use cvs add filename to mark a new file for inclusion. CVS doesn't put the file in the repository until you do a cvs commit. • Directories are added with the same command. Files within a directory can't be added until the directory is added. • cvs diff • Lists the differences between different versions of a file • Restrict Access • allow specific users (i.e. your developers) to write to the CVS repository. • IMPORTANT: DO NOT EDIT FILES IN THE REPOSITORY

  5. Getting Started with CVS • $CVSROOT • setenv CVSROOT /d1/ekmich/Noah_unified_CVS • $ cvs init • $ cvs import –m “Initial Source” WRFV2 NCAR mt • Import Existing Code WRF code • cvs log (of module_sf_noahlsm.F) • ---------------------------- • revision 1.3 • date: 2006-08-11 22:25:30 +0000; author: ekmich; state: Exp; lines: +13 -5 • surface emissivity weighted by snow cover fraction • ---------------------------- • revision 1.2 • date: 2006-08-11 22:03:37 +0000; author: ekmich; state: Exp; lines: +30 -39 • EVAP, BETA calculations at the end of SFLX • ---------------------------- • revision 1.1 • date: 2006-08-11 17:47:05 +0000; author: ekmich; state: Exp; • branches: 1.1.1; • Initial revision • ---------------------------- • revision 1.1.1.1 • date: 2006-08-11 17:47:05 +0000; author: ekmich; state: Exp; lines: +0 -0 • Initial Source • =============================================================================

  6. Getting Started with CVS (Contd.) • cvs diff –r 1.3 –r 1.2 module_sf_noahlsm.F • Index: module_sf_noahlsm.F • =================================================================== • RCS file: /d1/ekmich/Noah_unified_CVS/Noah_unified/Noah_unified/phys/module_sf_noahlsm.F,v • retrieving revision 1.3 • retrieving revision 1.2 • diff -r1.3 -r1.2 • 3624,3630c3624,3626 • < ! T12A = ( (FDOWN - FLX1 - FLX2 - SIGMA * T24)/ RCH & • < ! T12A = ( (FDOWN - FLX1 - FLX2 - EMISSI_S*SIGMA * T24)/ RCH & • < ! & + TH2 - SFCTMP - ETANRG/RCH ) / RR • < ! surface emissivity weighted by snow cover fraction (mek-aug2006) • < T12A = ( (FDOWN - FLX1 - FLX2 - & • < & ((SNCOVR*EMISSI_S)+EMISSI*(1.0-SNCOVR))*SIGMA *T24)/RCH & • < & + TH2 - SFCTMP - ETANRG/RCH ) / RR • --- • > ! T12A = ( (FDOWN - FLX1- FLX2- SIGMA * T24)/ RCH & • > T12A = ( (FDOWN - FLX1- FLX2- EMISSI_S*SIGMA * T24)/ RCH & • > & + TH2- SFCTMP - ETANRG / RCH ) / RR • 3708,3713c3704,3705 • < ! FLX3 = FDOWN - FLX1- FLX2- EMISSI_S*SIGMA * T14- SSOIL- SEH- & • < ! & ETANRG • < ! surface emissivity weighted by snow cover fraction (mek-aug2006) • < FLX3 = FDOWN - FLX1 - FLX2 - & • < ((SNCOVR*EMISSI_S)+EMISSI*(1-SNCOVR))*SIGMA*T14 - & • < SSOIL - SEH - ETANRG • --- • > FLX3 = FDOWN - FLX1- FLX2- EMISSI_S*SIGMA * T14- SSOIL- SEH- & • cvs commit

  7. Limitations • Moving or renaming of files and directories are not versioned • No versioning of symbolic links • Source and Important sites: • http://www.linux.ie/articles/tutorials/cvs.php • http://www.cs.utah.edu/dept/old/texinfo/cvs/cvs_2.html • http://cvsbook.red-bean.com/OSDevWithCVS_3E.pdf

More Related