Mooring Design & Dynamics Files
A Matlab® Package for Designing and Analyzing Oceanographic Moorings

Richard K. Dewey
University of Victoria, BC, Canada
rkdewey@gmail.com

Return to the Users Guide


Mooring Design and Dynamics is a set of Matlab® routines that can be used to assist in the design and configuration of single point oceanographic moorings, the evaluation of mooring tension and shape under the influence of wind and currents, and the simulation of mooring component positions when forced by time dependant currents. Version 2.0 (June 9, 2000) also includes the capability of predicting the shape (depth, wire length,...) associated with towed bodies. Version 2.1 included "clamp-on" components that attached to the mooring wire/line. The static model will predict the tension and tilt at each mooring component, including the anchor, for which the safe mass will be evaluated in terms of the vertical and horizontal tensions. Predictions can be saved to facilitate mooring motion correction. Time dependant currents can be entered to predict the dynamic response of the mooring. For a towed body, the user can specify a fixed wire length and predict the depth given a current profile and ship velocity, or request a desired depth, and have MD&D predict the required wire length. The package includes a preliminary database of standard mooring components which can be selected from pull down menus. Databases can be edited and expanded to include user specific components, frequently used fasteners/wires etc., or unique oceanographic instruments. Once designed and tested, a draft of the mooring components can be plotted and a list of components, including fasteners can be printed.

Version 2.2 includes a completely re-done formulation of the form and lift drag calculations. The older versions are nearly correct, but were not invariant to a rotation of the currents. Ugh! The re-formulated code (v2.2) is cleaner and more accurately represents the lift force terms described in section 3-11 of Hoerner (1965), and is invariant to the direction of the currents! The new formulation was updated in both moordyn.m and towdyn.m for both moorings and towed bodies. Solutions/values are very slightly different than the older (published) values. Version 2.3 (November 2016) fixed a small but critical bug for towed cylinders, fixing the angle of the bottom (towed) device, and version 2.4 (November 2021) fixed a tiny bug in the plot mooring routine. Version (2.1.2) included a user contributed improved convergence algorithm to help sheared current simulations.

Version 2.5 had bugs, and should be updated to version 2.6. Version 2.5 included a slight, but signifiant adjustment to include the weight of the surface float in a surface mooring. Version 2.6 fixes a bug in this (v2.5) adjustment. Originally (prior to version 2.5), the code would assess if the top float was requied to lift any of the submerged elements, and even remove the top float if it was not required. But the top float has weight, and will have between 10-30% of it's volume submerged to keep itself afloat. So even if the top float is not needed to keep the submerged part of the mooring "up", it will have drag on the submerged portion of the float, the portion of buoyancy used to float itself. The weight of the float and the % of buoyancy needed to keep itself afloat is now encoded. Top floatation will no longer be removed. Smaller floats may use up to 30% of their buoyany to float their our weight, while larger floats many use as little as 10%. For most oceanographic "moorings", the percentage is between 15-20% submerged buoyancy to lift the weight of the float. Old saved moorings (without the float weight) will use a default of 15%, while new (user added) floats will need to be entered into the database with the new quanity of their in-air weight.

Version 2.6 (February 2024) fixes a bug in V2.5 that produced errors for surface float moorings. I have simplified the method of calculating the drag on the submerged portion of the (top) float, while keeping the convergent portion of the code that estimates the amount of floation required to lift the remainder of the mooring. It is still a new feature to enter the in air weight of all floats in the database, as the percentage of buoyancy required to float the float is the floats weight divided by the floats buoyancy (10-30%). Checking v2.6 solutions against all the included and original examples; differences are minimal for most surface floats using a reasonable amount to buoyancy. For light moorings, the fix was essential. The fix does not affect fully submerged mooring solutions.

Version 2.7 (November 2024) fixes a significant bug for towed body systems (only). Using formulas from Horner, I include a lift term (vertical force) on tilted cylinders, including all wire/rope/line elements of a towed body system. This lift force is in addition to the lateral force on the exposed surface area to a flow (including the ship's velocity).

Many people have worked on this code since I released it in 1998. Some have found bugs, others made improvements/enhancements, and many have added their own mooring devices to their private moornig database. I would like to hear from all users who find bugs, or the value of this program and/or any improvements you can think of/contribute. However, I have long sinced moved on to other research projects, and have just retired from UVic and running an ocean observatory (i.e. Ocean Networks Canada). I have had little time to implement the many suggestions made with respect to MD&D. Although I may try to respond to emails, help get the code working (corrected), even test certain/your mooring configurations, this software is provided "as is" (free), without any suggestion of support. Most issues are covered in the Uses Guide. The most common issue is people do not put essential "connectors" (i.e. a shackle) between mooring components (the float and chain). Not only are connectors needed in a real mooring, they are essential in MD&D as my code uses them to (naturally) segment the mooring into "segments".



The Files: Latest Version 2.7, November 2024

The Github MD&D Files
The complete zipped program file includes the Matlab routines and example moorings and mooring movies.
  • mooring27.zip (the main Matlab code and saved mooring files)
  • Mooring Design and Dynamics Users Guide HTML Files (the HTML files for a local copy of the online Users Guide (v2.7))
  • Mooring Design and Dynamics Users Guide 2.7.pdf (the PDF (printable but not hypertext) version of the online Users Guide (v2.7). 1 MB)
  • Dewey-MDD-1999.pdf (the PDF (printable) the published paper in Marine Models Online (Volume 1) introducing MD&D. 2.8MB)

  • Installation

    There is now only one achive file associated with MD&D: a ZIP file containing the latest (version 2.7) programs, subrroutines, and example mooring files. The program files are entirely archived in the latest version mooring##.zip. While you can also download the HTML Users Guide (mddusdoc.zip), it may be easier to just access/save as a Bookmark the Users Guide via the this github web link. The software archive should be expanded into a subdirectory under your Matlab program directory, where you might store your private tool boxes (e.g. ../toolboxes/).
    The program files should be expracted into something like: /matlab/toolbox/local/mooring27/*.*
    Then this path needs to be added and saved to your Matlab path using the add/path functions from the menus available from the top of the Matlab command window.
    MD&D can be started by typing "moordesign" at the MATLAB command prompt.

    The Users Guide HTML files (available seperately in mddugdoc.zip) can also be downloaded and extracted into a Matlab program subdirectory: /matlab/help/local/mdd/*.*
    The Users Guide may then be accessible from within Matlab by typing "mdd". Or alternately loading the .../mdd.html file is a web browser.

    To start MD&D, type "moordesign" at the Matlab command prompt (e.g. >>moordesign)

    Return to Mooring Design and Dynamics Home Page.
    Or go to the online Users Guide Page.

    Webpage last modified March 31, 2025.
    Questions and comments are welcome, EMail: Richard Dewey