Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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

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.phphttp://www.linux.ie/articles/tutorials/cvs.php –http://www.cs.utah.edu/dept/old/texinfo/cvs/cvs_2.htmlhttp://www.cs.utah.edu/dept/old/texinfo/cvs/cvs_2.html –http://cvsbook.red-bean.com/OSDevWithCVS_3E.pdf


Download ppt "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."

Similar presentations


Ads by Google