source: LMDZ6/trunk/libf/dyn3d_common/comgeom_mod_h.f90 @ 5456

Last change on this file since 5456 was 5281, checked in by abarral, 2 months ago

Turn comgeom.h comgeom2.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 comgeom2_mod_h.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 comgeom_mod_h
10  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
11  USE paramet_mod_h
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  COMMON/comgeom/                                                   &
23          cu(ip1jmp1), cv(ip1jm), unscu2(ip1jmp1), unscv2(ip1jm), &
24          aire(ip1jmp1), airesurg(ip1jmp1), aireu(ip1jmp1), &
25          airev(ip1jm), unsaire(ip1jmp1), apoln, apols, &
26          unsairez(ip1jm), airuscv2(ip1jm), airvscu2(ip1jm), &
27          aireij1(ip1jmp1), aireij2(ip1jmp1), aireij3(ip1jmp1), &
28          aireij4(ip1jmp1), alpha1(ip1jmp1), alpha2(ip1jmp1), &
29          alpha3(ip1jmp1), alpha4(ip1jmp1), alpha1p2(ip1jmp1), &
30          alpha1p4(ip1jmp1), alpha2p3(ip1jmp1), alpha3p4(ip1jmp1), &
31          fext(ip1jm), constang(ip1jmp1), rlatu(jjp1), rlatv(jjm), &
32          rlonu(iip1), rlonv(iip1), cuvsurcv(ip1jm), cvsurcuv(ip1jm), &
33          cvusurcu(ip1jmp1), cusurcvu(ip1jmp1), cuvscvgam1(ip1jm), &
34          cuvscvgam2(ip1jm), cvuscugam1(ip1jmp1), &
35          cvuscugam2(ip1jmp1), cvscuvgam(ip1jm), cuscvugam(ip1jmp1), &
36          unsapolnga1, unsapolnga2, unsapolsga1, unsapolsga2, &
37          unsair_gam1(ip1jmp1), unsair_gam2(ip1jmp1), unsairz_gam(ip1jm), &
38          aivscu2gam(ip1jm), aiuscv2gam(ip1jm), xprimu(iip1), xprimv(iip1)
39
40  REAL                                                            &
41          cu, cv, unscu2, unscv2, aire, airesurg, aireu, airev, unsaire, apoln, &
42          apols, unsairez, airuscv2, airvscu2, aireij1, aireij2, aireij3, aireij4, &
43          alpha1, alpha2, alpha3, alpha4, alpha1p2, alpha1p4, alpha2p3, alpha3p4, &
44          fext, constang, rlatu, rlatv, rlonu, rlonv, cuvscvgam1, cuvscvgam2, &
45          cvuscugam1, cvuscugam2, cvscuvgam, cuscvugam, unsapolnga1, unsapolnga2&
46          , unsapolsga1, unsapolsga2, unsair_gam1, unsair_gam2, unsairz_gam, &
47          aivscu2gam, aiuscv2gam, cuvsurcv, cvsurcuv, cvusurcu, cusurcvu, xprimu&
48          , xprimv
49
50END MODULE comgeom_mod_h
51
Note: See TracBrowser for help on using the repository browser.