source: CONFIG/publications/ICOLMDZORINCA_CO2_Transport_GMD_2023/INCA/src/INCA_MOD/o3lin_com_mod.F90 @ 6610

Last change on this file since 6610 was 6610, checked in by acosce, 9 months ago

INCA used for ICOLMDZORINCA_CO2_Transport_GMD_2023

File size: 4.6 KB
Line 
1!$Id: o3lin_com_mod.F90 104 2013-05-30 10:28:51Z acosce $
2!! INCA - INteraction with Chemistry and Aerosols
3!!
4!! Copyright Laboratoire des Sciences du Climat et de l'Environnement (LSCE)
5!!           Unite mixte CEA-CNRS-UVSQ
6!!
7!! Contributors to this INCA subroutine:
8!!
9!! Didier Hauglustaine, LSCE, hauglustaine@cea.fr
10!! Stacy Walters, NCAR, stacy@ucar.edu
11!!
12!! Anne Cozic, LSCE, anne.cozic@cea.fr
13!! Yann Meurdesoif, LSCE, yann.meurdesoif@cea.fr
14!!
15!! This software is a computer program whose purpose is to simulate the
16!! atmospheric gas phase and aerosol composition. The model is designed to be
17!! used within a transport model or a general circulation model. This version
18!! of INCA was designed to be coupled to the LMDz GCM. LMDz-INCA accounts
19!! for emissions, transport (resolved and sub-grid scale), photochemical
20!! transformations, and scavenging (dry deposition and washout) of chemical
21!! species and aerosols interactively in the GCM. Several versions of the INCA
22!! model are currently used depending on the envisaged applications with the
23!! chemistry-climate model.
24!!
25!! This software is governed by the CeCILL  license under French law and
26!! abiding by the rules of distribution of free software.  You can  use,
27!! modify and/ or redistribute the software under the terms of the CeCILL
28!! license as circulated by CEA, CNRS and INRIA at the following URL
29!! "http://www.cecill.info".
30!!
31!! As a counterpart to the access to the source code and  rights to copy,
32!! modify and redistribute granted by the license, users are provided only
33!! with a limited warranty  and the software's author,  the holder of the
34!! economic rights,  and the successive licensors  have only  limited
35!! liability.
36!!
37!! In this respect, the user's attention is drawn to the risks associated
38!! with loading,  using,  modifying and/or developing or reproducing the
39!! software by the user in light of its specific status of free software,
40!! that may mean  that it is complicated to manipulate,  and  that  also
41!! therefore means  that it is reserved for developers  and  experienced
42!! professionals having in-depth computer knowledge. Users are therefore
43!! encouraged to load and test the software's suitability as regards their
44!! requirements in conditions enabling the security of their systems and/or
45!! data to be ensured and,  more generally, to use and operate it in the
46!! same conditions as regards security.
47!!
48!! The fact that you are presently reading this means that you have had
49!! knowledge of the CeCILL license and that you accept its terms.
50!! =========================================================================
51
52#include <inca_define.h>
53
54
55      module O3LIN_COM
56
57      implicit none
58
59      integer, save :: ncidl
60      integer, save :: klonl, nlevl, ntimel
61      integer, save :: lotime = 0, hitime = 0
62      integer, save :: loind  = 1, hiind  = 2
63!$OMP THREADPRIVATE(ncidl, klonl, nlevl, ntimel)
64!$OMP THREADPRIVATE(lotime, hitime, loind, hiind)
65
66      real, allocatable, save :: timel(:)
67      real, allocatable, save :: presl(:)
68      real, allocatable, dimension(:,:,:), save :: A1bd,A2bd,A3bd,A4bd
69      real, allocatable, dimension(:,:,:), save :: A5bd,A6bd,A7bd,A8bd
70      real, allocatable, dimension(:,:,:), save :: A9bd
71      real, allocatable, dimension(:,:)  , save :: A1cr,A2cr,A3cr,A4cr
72      real, allocatable, dimension(:,:)  , save :: A5cr,A6cr,A7cr,A8cr
73      real, allocatable, dimension(:,:)  , save :: A9cr
74!$OMP THREADPRIVATE(timel, presl)
75!$OMP THREADPRIVATE(A1bd, A1cr)
76!$OMP THREADPRIVATE(A2bd, A2cr)
77!$OMP THREADPRIVATE(A3bd, A3cr)
78!$OMP THREADPRIVATE(A4bd, A4cr)
79!$OMP THREADPRIVATE(A5bd, A5cr)
80!$OMP THREADPRIVATE(A6bd, A6cr)
81!$OMP THREADPRIVATE(A7bd, A7cr)
82!$OMP THREADPRIVATE(A8bd, A8cr)
83!$OMP THREADPRIVATE(A9bd, A9cr)
84
85      real,SAVE,ALLOCATABLE :: A1(:,:),A2(:,:),A3(:,:),A4(:,:),A5(:,:)
86      real,SAVE,ALLOCATABLE :: A6(:,:),A7(:,:),A8(:,:),A9(:,:) 
87!$OMP THREADPRIVATE(A1,A2,A3,A4,A5,A6,A7,A8,A9)
88      logical, save :: cyclical = .true.
89!$OMP THREADPRIVATE(cyclical)
90     
91      CONTAINS
92       
93        SUBROUTINE init_o3lin_com
94        USE inca_dim
95        IMPLICIT NONE
96       
97          ALLOCATE(A1(PLON,PLEV))
98          A1(:,:) = 0. 
99      ALLOCATE(A2(PLON,PLEV))
100      A2(:,:) = 0.   
101      ALLOCATE(A3(PLON,PLEV))
102      A3(:,:) = 0.   
103      ALLOCATE(A4(PLON,PLEV))
104      A4(:,:) = 0.   
105      ALLOCATE(A5(PLON,PLEV))
106      A5(:,:) = 0.   
107      ALLOCATE(A6(PLON,PLEV))
108      A6(:,:) = 0.   
109      ALLOCATE(A7(PLON,PLEV))
110      A7(:,:) = 0.   
111      ALLOCATE(A8(PLON,PLEV))
112      A8(:,:) = 0.   
113      ALLOCATE(A9(PLON,PLEV))
114      A9(:,:) = 0.   
115
116        END SUBROUTINE init_o3lin_com
117       
118      end module O3LIN_COM
119
120
Note: See TracBrowser for help on using the repository browser.