New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
overview.html in vendors/doc/user_guide – NEMO

source: vendors/doc/user_guide/overview.html @ 10669

Last change on this file since 10669 was 10669, checked in by nicolasmartin, 5 years ago

Import latest FCM release from Github into the repository for testing

File size: 6.1 KB
Line 
1<!DOCTYPE html>
2<html>
3<head>
4  <title>FCM: User Guide: System Overview</title>
5  <meta name="author" content="FCM team" />
6  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7  <link rel="icon" href="../etc/fcm-icon.png" type="image/png" />
8  <link rel="shortcut icon" href="../etc/fcm-icon.png" type="image/png" />
9  <link href="../etc/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen" />
10  <link href="../etc/fcm.css" rel="stylesheet" media="screen" />
11</head>
12<body>
13  <div class="navbar navbar-inverse">
14    <div class="container-fluid">
15      <div class="navbar-header">
16        <a class="navbar-brand" href=".."><span class="fcm-version">FCM</span></a>
17      </div>
18      <div class="collapse navbar-collapse">
19        <ul class="nav navbar-nav">
20          <li><a href="../installation/">Installation</a></li>
21
22          <li><a class="active" href="#">User Guide</a></li>
23        </ul>
24      </div>
25    </div>
26  </div>
27
28  <div class="page-header">
29    <div class="fcm-page-content pull-right well well-sm"></div>
30    <h1>FCM: User Guide: System Overview</h1>
31  </div>
32
33  <div class="container">
34  <div class="row">
35  <div class="col-md-12">
36
37  <p>The FCM system is designed to simplify the task of managing and building
38  source code. It consists of the following components:</p>
39
40  <h2 id="code-management">Code Management</h2>
41
42  <p>FCM uses <a href="http://subversion.apache.org/">Subversion</a> for
43  version control. For a summary of its main features please refer to the
44  <a href="http://svnbook.red-bean.com/">Version Control with
45  Subversion</a> book. Subversion is a generalised tool which can be used
46  in lots of different ways. This makes some day-to-day tasks more complex
47  than they need be. FCM defines a simplified process and appropriate
48  naming conventions. It then adds a layer on top of Subversion to provide
49  a natural interface which is specifically tailored to this process. Where
50  appropriate it simply makes use of the command line tools provided by
51  Subversion. However, in other cases it provides significant additional
52  functionality, e.g.:</p>
53
54  <ul>
55    <li>By making some assumptions about the repository layout (i.e. by
56    imposing a standard working practice) FCM simplifies the task of
57    creating branches and enforces a standard branch naming
58    convention.</li>
59
60    <li>Having defined working practices and standard log messages allows
61    FCM to greatly simplify the process of merging changes between
62    branches.</li>
63
64    <li>FCM makes use of <a href="http://furius.ca/xxdiff/">xxdiff</a> (a
65    graphical diff and merge tool) to allow users to easily examine changes
66    they have made and to simplify the process of resolving any conflicts
67    which result from a merge.</li>
68  </ul>
69
70  <p>FCM uses <a href="http://trac.edgewall.org/">Trac</a>, a powerful web
71  based tool, to manage software projects. <a href=
72  "http://trac.edgewall.org/">Trac</a> has the following features:</p>
73
74  <ul>
75    <li>A flexible issue tracker which can be used to keep track of bugs,
76    feature requests, etc. Each issue (known as a <q title=
77    "http://trac.edgewall.org/wiki/TracTickets">ticket</q> within Trac) can
78    be given a priority and assigned to a particular person. Changes made
79    to your Subversion repository can easily be traced to the relevant
80    ticket. Where appropriate, tickets can be used to record information
81    about who has reviewed each change.</li>
82
83    <li>A <q title="http://trac.edgewall.org/wiki/TracRoadmap">roadmap</q>
84    feature which helps you to plan and manage project releases. Each
85    ticket can be associated with a particular milestone. Trac can then
86    easily show you what features or fixes went into a particular release
87    or what work remains before a particular milestone is reached.</li>
88
89    <li>A <q title="http://trac.edgewall.org/wiki/TracWiki">wiki</q> which
90    can be used for project documentation.</li>
91
92    <li>A browser for viewing your Subversion repository which allows you
93    to browse the project tree / files and examine revision logs and
94    changesets.</li>
95
96    <li>A timeline view which summarises all the activity on a project
97    (changes to the tickets, wiki pages or the Subversion repository).</li>
98  </ul>
99
100  <h2 id="build-and-extract">Build and Extract</h2>
101
102  <p>FCM features a powerful build system, mainly aimed at building modern
103  Fortran software applications. It has the following features:</p>
104
105  <ul>
106    <li>Parallel build.</li>
107
108    <li>Efficient incremental build. Changes to the checksums of source files
109    and/or the build configuration (e.g. changes to the compiler flags) trigger
110    the appropriate re-compilation.</li>
111
112    <li>Inheritance of items from an existing build.</li>
113
114    <li>Build dependency analysis.</li>
115
116    <li>Automatic generation of include files to contain the calling
117    interfaces of standalone functions and subroutinues in Fortran source
118    files.</li>
119
120    <li>Extract of source files from multiple repositories and working
121    copies.</li>
122
123    <li>Extract and merge of source files from different branches of
124    development.</li>
125
126    <li>Minimal configuration.</li>
127  </ul>
128
129  <h2 id="illustration">Illustration</h2>
130
131  <p>The diagram below illustrates how these components fit together.</p>
132
133  <p><img class="img-polaroid" src="fcm_overview.png"
134  alt="FCM system overview" /></p>
135
136  </div>
137  </div>
138  </div>
139
140  <hr/>
141  <div class="container-fluid text-center">
142    <div class="row"><div class="col-md-12">
143    <address><small>
144      &copy; British Crown Copyright 2006-16
145      <a href="http://www.metoffice.gov.uk">Met Office</a>.
146      See <a href="../etc/fcm-terms-of-use.html">Terms of Use</a>.<br />
147      This document is released under the British <a href=
148      "http://www.nationalarchives.gov.uk/doc/open-government-licence/" rel=
149      "license">Open Government Licence</a>.<br />
150    </small></address>
151    </div></div>
152  </div>
153
154  <script type="text/javascript" src="../etc/jquery.min.js"></script>
155  <script type="text/javascript" src="../etc/bootstrap/js/bootstrap.min.js"></script>
156  <script type="text/javascript" src="../etc/fcm.js"></script>
157  <script type="text/javascript" src="../etc/fcm-version.js"></script>
158</body>
159</html>
Note: See TracBrowser for help on using the repository browser.