access_SvnReposDetails - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki
#!html
<h1 style="text-align: center; color: blue"> Details of Managing SVN repositories for ACCESS </h1>
Source Data Management for NWP the top page for NWP Source Code and Input Data Management
This page describes the issues and practices of managing the repositories for OPS+ODB, VAR, UM, SURF, NWP and the cylc scheduler/ROSE repository
Run scripts and utilities will be held under the NWP repository
1. Met Office release patches for new versions
2. Apply patch to existing repository, updating *svn:trunk/src*
3. Apply local modifications for use on our machines
*svn cp trunk/src branches/dev/vnxxx/local_changes/src*
4. users apply further developments
*svn cp branches/dev/vnxxx/local_changes/src branches/dev/user/vnxxx/src*
5. Merge these branches back to *branches/dev/vnxxx/local_changes/src* as needed
(May also accept updates from *branches/dev/vnxxx/local_changes/src* to user's branch during this process)
6. Tag repositories. To access these versions
*svn cp tags/aps2_vnxxx_nnn*
All repositories should have this tag
So:
-
The trunk contains a history of Met Office patches
-
The version that developers branch off is
*branches/dev/vnxxx/local_changes/src* -
NMOC will use the tagged versions
-
Run scripts will be under
*svn:nwp/branches/dev/aps2/scripts/${model}* where ${model} is g, r, tc, srep, um, ... -
Various utilities will be under svn:nwp/branches/dev/aps2/utils/${util}
where ${util} is mars, verify, um2grb, umdump, odb, ..... -
To use a utility, use: module load
-
To use a library: check out source code and then
*make install* to put them under ~access/apps -
Various other scripts (such as thiose under ${CAWCR_SHARE}/scripts will be under
*svn:nwp/branches/dev/aps2/scripts* -
Tables of various utilities (um2grb??) will be under svn:nwp/branches/dev/aps2/data
**Should this be ..../tables?**
-
Locations of executables and scripts are defined in the suite's environment file envfile
-
Run scripts: ${NWP_SHARE}/APS2/scripts/${model}
-
Executables: ${NWP_SHARE}/APS2/bin/${model} along with a README file
-
Building executables: OPS, VAR & SURF: svn co branches/dev/vnxxx/local_changes/src
Run script: *build_ops* / *build_var* / *build_surf* copy *build* / *bin* to *${NWP_SHARE}/APS2/bin/ops* (or *var* , *surf* ) -
Building executables: UM UMUI jobs umefa copy bin directory to ${NWP_SHARE}/APS2/bin/um
-
Suite Components on ngamai : ${NWP_SHARE} = ~access/nwpdir/share
OPS : ${NWP_SHARE}/APS2/OPS/components/Ops_OperComps_gl/v3 for OPS30
VAR : ${NWP_SHARE}/APS2/VAR/components/Var_OperComps_gl/v1
UM : ''${NWP_SHARE}/APS2/um/components/N512/v1
-
Suite Components on raijin : OPS / VAR / SURF : configured with rose
UM : ${NWP_SHARE}/APS2/um/components/N512/v1
-
Suite Control Data:
-
OPS / VAR (as from Met Office)
- ${NWP_SHARE}/APS2/OPS/control
- Elements, Scatwind_coeffs, Satwind_namelists,Sonde_coeffs, StationLists
- ${NWP_SHARE}/APS2/Data
- GroundGPS_biases, RTTOV7_coeffs, SatRad_biases, SatRad_coeffs, GPSRO_coeffs
- ${NWP_SHARE}/APS2/Other
- Covariance files
- ${NWP_SHARE}/APS2/OPS/control
-
UM
- ${UMDIR}/vn8.2/ctldata
-
QUESTION: How should external packages for OPS and VAR be handled * Under svn, which is updated for each release. This would be referenced from the build OR * Kept under ~/access/opdir and vardir and used in the build. This is what we do now [PJS - My preference would be the first option. More in keeping with ISS software storage]
QUESTION: Should ODB be in its own repository or part of OPS?
- Will have some post processing routines that will need to access ODB libraries
- i.e. OPS is not the only software that will use the ODB
- Otherwise whatever is easiest
QUESTION: What do we do about ${CAWCR_SHARE}/bin?