Opened 3 years ago

Closed 3 years ago

#892 closed upgrade (Done)

VERY IMPORTANT: doxygen source code browser

Reported by: arango Owned by:
Priority: major Milestone: Release ROMS/TOMS 4.0
Component: Nonlinear Version: 3.9
Keywords: Cc:

Description

The ROMS source code is modified to facilitate doxygen HTLM documentation, which is used extensively for generating information, dependencies, and visualizing the relationship between the components of modern source codes written with objective-oriented programming (OOP) principles in several computer languages (C, C++, Fortran, Java, Python, and so on).

It is a little more difficult to configure doxygen for Fortran source codes than C++. Still, thanks to David Robertson, we found satisfactory results with a sophisticated setup and minor smart changes to the ROMS source code layout.

The ROMS doxygen source code HTLM documentation is at www.myroms.org/doxygen.

Here is a summary of the changes to the code:

  • Change all occurrences of !> to !^, which are use to document the linearization of the nonlinear kernel to the tangent linear, representer, and adjoint kernels as a reference from the original. This avoids interference with doxygen native markdown syntax.
  • Minor cosmetic changes to the following modules for analytical.F, biology.F, bbl.F, propagator.F, prsgrd.F, step2d.F, t3dmix.F, and uv3dmix.F. Basically, the MODULE declarations are moved to the various flavors of .h include files. The private subrotines with suffix _tile are renamed to eliminate identical routine names that are activated with C-preprocessing options.

Below are examples of the graphical dependencies between code elements (directories and functions/routines).

http://www.myroms.org/doxygen/dir_22f00cc7a3d072c17dcf325d075af7a5_dep_org.svg

http://www.myroms.org/doxygen/namespacemod__netcdf_aef07e6f2f41a54f0809ea13b13c497cf_icgraph_org.svg

Change History (1)

comment:1 by arango, 3 years ago

Resolution: Done
Status: newclosed
Note: See TracTickets for help on using tickets.