! Replaces comgeom.h ! AB 07/24: NOTE: THIS USES A LEGACY COMMON BLOCK SHARED WITH lmdz_comgeom2.f90 ! ! This file defines a number of 1D arrays. ! The COMMON block is used to transparently (but using unsafe procedures) cast those as 2D arrays, without duplication. ! Therefore there's no trivial way to turn this into a module without COMMON. ! In the future we'd still like to get rid of this COMMON block. MODULE lmdz_comgeom IMPLICIT NONE; PRIVATE PUBLIC cu, cv, unscu2, unscv2, aire, airesurg, aireu, airev, unsaire, apoln, & apols, unsairez, airuscv2, airvscu2, aireij1, aireij2, aireij3, aireij4, & alpha1, alpha2, alpha3, alpha4, alpha1p2, alpha1p4, alpha2p3, alpha3p4, & fext, constang, rlatu, rlatv, rlonu, rlonv, cuvscvgam1, cuvscvgam2, & cvuscugam1, cvuscugam2, cvscuvgam, cuscvugam, unsapolnga1, unsapolnga2& , unsapolsga1, unsapolsga2, unsair_gam1, unsair_gam2, unsairz_gam, & aivscu2gam, aiuscv2gam, cuvsurcv, cvsurcuv, cvusurcu, cusurcvu, xprimu& , xprimv INCLUDE "dimensions.h" INCLUDE "paramet.h" COMMON/comgeom/ & cu(ip1jmp1), cv(ip1jm), unscu2(ip1jmp1), unscv2(ip1jm), & aire(ip1jmp1), airesurg(ip1jmp1), aireu(ip1jmp1), & airev(ip1jm), unsaire(ip1jmp1), apoln, apols, & unsairez(ip1jm), airuscv2(ip1jm), airvscu2(ip1jm), & aireij1(ip1jmp1), aireij2(ip1jmp1), aireij3(ip1jmp1), & aireij4(ip1jmp1), alpha1(ip1jmp1), alpha2(ip1jmp1), & alpha3(ip1jmp1), alpha4(ip1jmp1), alpha1p2(ip1jmp1), & alpha1p4(ip1jmp1), alpha2p3(ip1jmp1), alpha3p4(ip1jmp1), & fext(ip1jm), constang(ip1jmp1), rlatu(jjp1), rlatv(jjm), & rlonu(iip1), rlonv(iip1), cuvsurcv(ip1jm), cvsurcuv(ip1jm), & cvusurcu(ip1jmp1), cusurcvu(ip1jmp1), cuvscvgam1(ip1jm), & cuvscvgam2(ip1jm), cvuscugam1(ip1jmp1), & cvuscugam2(ip1jmp1), cvscuvgam(ip1jm), cuscvugam(ip1jmp1), & unsapolnga1, unsapolnga2, unsapolsga1, unsapolsga2, & unsair_gam1(ip1jmp1), unsair_gam2(ip1jmp1), unsairz_gam(ip1jm), & aivscu2gam(ip1jm), aiuscv2gam(ip1jm), xprimu(iip1), xprimv(iip1) REAL & cu, cv, unscu2, unscv2, aire, airesurg, aireu, airev, unsaire, apoln, & apols, unsairez, airuscv2, airvscu2, aireij1, aireij2, aireij3, aireij4, & alpha1, alpha2, alpha3, alpha4, alpha1p2, alpha1p4, alpha2p3, alpha3p4, & fext, constang, rlatu, rlatv, rlonu, rlonv, cuvscvgam1, cuvscvgam2, & cvuscugam1, cvuscugam2, cvscuvgam, cuscvugam, unsapolnga1, unsapolnga2& , unsapolsga1, unsapolsga2, unsair_gam1, unsair_gam2, unsairz_gam, & aivscu2gam, aiuscv2gam, cuvsurcv, cvsurcuv, cvusurcu, cusurcvu, xprimu& , xprimv END MODULE lmdz_comgeom