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

Last change on this file since 5186 was 5159, checked in by abarral, 3 months ago

Put dimensions.h and paramet.h into modules

  • 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.9 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  USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
11  USE lmdz_paramet
12  IMPLICIT NONE; PRIVATE
13  PUBLIC cu, cv, unscu2, unscv2, aire, airesurg, aireu, airev, unsaire, apoln, &
14          apols, unsairez, airuscv2, airvscu2, aireij1, aireij2, aireij3, aireij4, &
15          alpha1, alpha2, alpha3, alpha4, alpha1p2, alpha1p4, alpha2p3, alpha3p4, &
16          fext, constang, rlatu, rlatv, rlonu, rlonv, cuvscvgam1, cuvscvgam2, &
17          cvuscugam1, cvuscugam2, cvscuvgam, cuscvugam, unsapolnga1, unsapolnga2&
18          , unsapolsga1, unsapolsga2, unsair_gam1, unsair_gam2, unsairz_gam, &
19          aivscu2gam, aiuscv2gam, cuvsurcv, cvsurcuv, cvusurcu, cusurcvu, xprimu&
20          , xprimv
21
22
23
24
25  COMMON/comgeom/                                                   &
26          cu(ip1jmp1), cv(ip1jm), unscu2(ip1jmp1), unscv2(ip1jm), &
27          aire(ip1jmp1), airesurg(ip1jmp1), aireu(ip1jmp1), &
28          airev(ip1jm), unsaire(ip1jmp1), apoln, apols, &
29          unsairez(ip1jm), airuscv2(ip1jm), airvscu2(ip1jm), &
30          aireij1(ip1jmp1), aireij2(ip1jmp1), aireij3(ip1jmp1), &
31          aireij4(ip1jmp1), alpha1(ip1jmp1), alpha2(ip1jmp1), &
32          alpha3(ip1jmp1), alpha4(ip1jmp1), alpha1p2(ip1jmp1), &
33          alpha1p4(ip1jmp1), alpha2p3(ip1jmp1), alpha3p4(ip1jmp1), &
34          fext(ip1jm), constang(ip1jmp1), rlatu(jjp1), rlatv(jjm), &
35          rlonu(iip1), rlonv(iip1), cuvsurcv(ip1jm), cvsurcuv(ip1jm), &
36          cvusurcu(ip1jmp1), cusurcvu(ip1jmp1), cuvscvgam1(ip1jm), &
37          cuvscvgam2(ip1jm), cvuscugam1(ip1jmp1), &
38          cvuscugam2(ip1jmp1), cvscuvgam(ip1jm), cuscvugam(ip1jmp1), &
39          unsapolnga1, unsapolnga2, unsapolsga1, unsapolsga2, &
40          unsair_gam1(ip1jmp1), unsair_gam2(ip1jmp1), unsairz_gam(ip1jm), &
41          aivscu2gam(ip1jm), aiuscv2gam(ip1jm), xprimu(iip1), xprimv(iip1)
42
43  REAL                                                            &
44          cu, cv, unscu2, unscv2, aire, airesurg, aireu, airev, unsaire, apoln, &
45          apols, unsairez, airuscv2, airvscu2, aireij1, aireij2, aireij3, aireij4, &
46          alpha1, alpha2, alpha3, alpha4, alpha1p2, alpha1p4, alpha2p3, alpha3p4, &
47          fext, constang, rlatu, rlatv, rlonu, rlonv, cuvscvgam1, cuvscvgam2, &
48          cvuscugam1, cvuscugam2, cvscuvgam, cuscvugam, unsapolnga1, unsapolnga2&
49          , unsapolsga1, unsapolsga2, unsair_gam1, unsair_gam2, unsairz_gam, &
50          aivscu2gam, aiuscv2gam, cuvsurcv, cvsurcuv, cvusurcu, cusurcvu, xprimu&
51          , xprimv
52
53END MODULE lmdz_comgeom
54
Note: See TracBrowser for help on using the repository browser.