source: LMDZ6/branches/Amaury_dev/libf/dyn3d_common/lmdz_comgeom.f90 @ 5157

Last change on this file since 5157 was 5146, checked in by abarral, 7 months ago

Revert removal of COMMON in lmdz_comgeom.f90, lmdz_comgeom2.f90.
This common block is shared and unsafely casts 1D to 2D, and can't as easily be replaced.

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.8 KB
Line 
1! Replaces comgeom.h
2
3! AB 07/24: NOTE: THIS USES A LEGACY COMMON BLOCK SHARED WITH lmdz_comgeom2.f90 !
4! This file defines a number of 1D arrays.
5! The COMMON block is used to transparently (but using unsafe procedures) cast those as 2D arrays, without duplication.
6! Therefore there's no trivial way to turn this into a module without COMMON.
7! In the future we'd still like to get rid of this COMMON block.
8
9MODULE lmdz_comgeom
10  IMPLICIT NONE; PRIVATE
11  PUBLIC cu, cv, unscu2, unscv2, aire, airesurg, aireu, airev, unsaire, apoln, &
12          apols, unsairez, airuscv2, airvscu2, aireij1, aireij2, aireij3, aireij4, &
13          alpha1, alpha2, alpha3, alpha4, alpha1p2, alpha1p4, alpha2p3, alpha3p4, &
14          fext, constang, rlatu, rlatv, rlonu, rlonv, cuvscvgam1, cuvscvgam2, &
15          cvuscugam1, cvuscugam2, cvscuvgam, cuscvugam, unsapolnga1, unsapolnga2&
16          , unsapolsga1, unsapolsga2, unsair_gam1, unsair_gam2, unsairz_gam, &
17          aivscu2gam, aiuscv2gam, cuvsurcv, cvsurcuv, cvusurcu, cusurcvu, xprimu&
18          , xprimv
19
20  INCLUDE "dimensions.h"
21  INCLUDE "paramet.h"
22
23  COMMON/comgeom/                                                   &
24          cu(ip1jmp1), cv(ip1jm), unscu2(ip1jmp1), unscv2(ip1jm), &
25          aire(ip1jmp1), airesurg(ip1jmp1), aireu(ip1jmp1), &
26          airev(ip1jm), unsaire(ip1jmp1), apoln, apols, &
27          unsairez(ip1jm), airuscv2(ip1jm), airvscu2(ip1jm), &
28          aireij1(ip1jmp1), aireij2(ip1jmp1), aireij3(ip1jmp1), &
29          aireij4(ip1jmp1), alpha1(ip1jmp1), alpha2(ip1jmp1), &
30          alpha3(ip1jmp1), alpha4(ip1jmp1), alpha1p2(ip1jmp1), &
31          alpha1p4(ip1jmp1), alpha2p3(ip1jmp1), alpha3p4(ip1jmp1), &
32          fext(ip1jm), constang(ip1jmp1), rlatu(jjp1), rlatv(jjm), &
33          rlonu(iip1), rlonv(iip1), cuvsurcv(ip1jm), cvsurcuv(ip1jm), &
34          cvusurcu(ip1jmp1), cusurcvu(ip1jmp1), cuvscvgam1(ip1jm), &
35          cuvscvgam2(ip1jm), cvuscugam1(ip1jmp1), &
36          cvuscugam2(ip1jmp1), cvscuvgam(ip1jm), cuscvugam(ip1jmp1), &
37          unsapolnga1, unsapolnga2, unsapolsga1, unsapolsga2, &
38          unsair_gam1(ip1jmp1), unsair_gam2(ip1jmp1), unsairz_gam(ip1jm), &
39          aivscu2gam(ip1jm), aiuscv2gam(ip1jm), xprimu(iip1), xprimv(iip1)
40
41  REAL                                                            &
42          cu, cv, unscu2, unscv2, aire, airesurg, aireu, airev, unsaire, apoln, &
43          apols, unsairez, airuscv2, airvscu2, aireij1, aireij2, aireij3, aireij4, &
44          alpha1, alpha2, alpha3, alpha4, alpha1p2, alpha1p4, alpha2p3, alpha3p4, &
45          fext, constang, rlatu, rlatv, rlonu, rlonv, cuvscvgam1, cuvscvgam2, &
46          cvuscugam1, cvuscugam2, cvscuvgam, cuscvugam, unsapolnga1, unsapolnga2&
47          , unsapolsga1, unsapolsga2, unsair_gam1, unsair_gam2, unsairz_gam, &
48          aivscu2gam, aiuscv2gam, cuvsurcv, cvsurcuv, cvusurcu, cusurcvu, xprimu&
49          , xprimv
50
51END MODULE lmdz_comgeom
52
Note: See TracBrowser for help on using the repository browser.