source: CONFIG/publications/ICOLMDZORINCA_CO2_Transport_GMD_2023/INCA/build/ppsrc/INCA_SRC/aerosol_meteo_calc.f90 @ 6610

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

INCA used for ICOLMDZORINCA_CO2_Transport_GMD_2023

File size: 5.5 KB
Line 
1
2
3
4
5
6
7
8
9
10
11
12!$Id: aerosol_meteo_calc.F90 163 2010-02-22 15:41:45Z acosce $
13!! =========================================================================
14!! INCA - INteraction with Chemistry and Aerosols
15!!
16!! Copyright Laboratoire des Sciences du Climat et de l'Environnement (LSCE)
17!!           Unite mixte CEA-CNRS-UVSQ
18!!
19!! Contributors to this INCA subroutine:
20!!
21!! Michael Schulz, LSCE, Michael.Schulz@cea.fr
22!! S. Bauer, LSCE
23!! Y. Balkanski, LSCE, Yves.Balkanski@cea.fr
24!!
25!! Anne Cozic, LSCE, anne.cozic@cea.fr
26!! Yann Meurdesoif, LSCE, yann.meurdesoif@cea.fr
27!!
28!! This software is a computer program whose purpose is to simulate the
29!! atmospheric gas phase and aerosol composition. The model is designed to be
30!! used within a transport model or a general circulation model. This version
31!! of INCA was designed to be coupled to the LMDz GCM. LMDz-INCA accounts
32!! for emissions, transport (resolved and sub-grid scale), photochemical
33!! transformations, and scavenging (dry deposition and washout) of chemical
34!! species and aerosols interactively in the GCM. Several versions of the INCA
35!! model are currently used depending on the envisaged applications with the
36!! chemistry-climate model.
37!!
38!! This software is governed by the CeCILL  license under French law and
39!! abiding by the rules of distribution of free software.  You can  use,
40!! modify and/ or redistribute the software under the terms of the CeCILL
41!! license as circulated by CEA, CNRS and INRIA at the following URL
42!! "http://www.cecill.info".
43!!
44!! As a counterpart to the access to the source code and  rights to copy,
45!! modify and redistribute granted by the license, users are provided only
46!! with a limited warranty  and the software's author,  the holder of the
47!! economic rights,  and the successive licensors  have only  limited
48!! liability.
49!!
50!! In this respect, the user's attention is drawn to the risks associated
51!! with loading,  using,  modifying and/or developing or reproducing the
52!! software by the user in light of its specific status of free software,
53!! that may mean  that it is complicated to manipulate,  and  that  also
54!! therefore means  that it is reserved for developers  and  experienced
55!! professionals having in-depth computer knowledge. Users are therefore
56!! encouraged to load and test the software's suitability as regards their
57!! requirements in conditions enabling the security of their systems and/or
58!! data to be ensured and,  more generally, to use and operate it in the
59!! same conditions as regards security.
60!!
61!! The fact that you are presently reading this means that you have had
62!! knowledge of the CeCILL license and that you accept its terms.
63!! =========================================================================
64
65
66SUBROUTINE AEROSOL_METEO_CALC (          &
67   calday,delt,pmid,pfull,t_seri,        &
68   flxrcv,flxscv,flxrst,flxsst,pctsrf,   &
69   area,rlat,rlon, u10m, v10m)
70  !     -----------------------------------------------------------------------
71  !
72  !     **** calculation of meterological info used in aerosol calculations
73  !     
74  !     Author
75  !     Michael Schulz 
76  !     June 2002
77  !
78  !     interface
79  !     ---------
80  !      input
81  !       see below intent(in)
82  !
83
84  USE CHEM_CONS, ONLY : gravit   
85  USE AEROSOL_METEO, ONLY : zspeed,zspeed2, &
86     zcalday,zprecip,landmask,zdens,zdp1, &
87     airm,zheight,ztempc,zvis,zlair,zlat, &
88     zlon,seawind,landwind
89  USE INCA_DIM
90  USE CONST_MOD
91  USE CONST_LMDZ
92  USE TIME_MOD_INCA
93  USE PARAM_CHEM
94
95
96  IMPLICIT NONE
97
98
99  REAL, INTENT(in) ::     calday
100  REAL, INTENT(in) ::     delt                ! [s]
101  REAL, INTENT(in) ::     pmid(PLON,PLEV)     ! [Pa]
102  REAL, INTENT(in) ::     pfull(PLON,PLEV+1)  ! [Pa]
103  REAL, INTENT(in) ::     t_seri(PLON,PLEV)   ! [K]
104  REAL, INTENT(in) ::     flxrst(PLON,PLEV+1) ! liquid water flux (stratiform) kgH2O/m2/s
105  REAL, INTENT(in) ::     flxrcv(PLON,PLEV+1) ! liquid  water flux (convection ) kgH2O/m2/s
106  REAL, INTENT(in) ::     flxsst(PLON,PLEV+1) ! solid  water flux (stratiform) kgH2O/m2/s
107  REAL, INTENT(in) ::     flxscv(PLON,PLEV+1) ! solid  water flux (convection) kgH2O/m2/s
108  REAL, INTENT(in) ::     pctsrf(PLON,nbsrf)  ! subsurface fraction (0..1)
109  REAL, INTENT(in) ::     area(PLON)          ! surface area of grid box [m2]
110  REAL, INTENT(in) ::     rlon(PLON)          ! longitude
111  REAL, INTENT(in) ::     rlat(PLON)          ! latitude
112  REAL, INTENT(in) ::     u10m(PLON,nbsrf)    ! vents a 10m
113  REAL, INTENT(in) ::     v10m(PLON,nbsrf)    ! vents a 10m
114
115  REAL :: pdel(PLON,PLEV)                     ! PRESSURE diff across midpoints (T+DT) [Pa]
116  REAL :: radry = 287.054                     ! dry air mass constant
117  INTEGER :: l,k,j
118
119
120
121  landmask=pctsrf(:,3)
122
123  ! pressure difference
124  DO k = 1, PLEV
125    pdel(:,k) = pfull(:,k) - pfull(:,k+1)
126  END DO
127
128  ! calculation of air density zdens [kg/m^3],
129  zdens=pmid/(radry*t_seri)
130
131  ! air mass auxiliary  variable --> zdp1 [kg/(m^2 *s)]
132  zdp1=pdel/(gravit*delt) 
133
134  ! air mass calculation
135  DO L=1,PLEV
136    airm(:,L)=zdp1(:,L)*area*delt ! --> kg
137  ENDDO
138
139  ! computation of the layer height zheight in meters
140  zheight=pdel/(gravit*zdens)
141
142  ! dynamic viscosity of air after Prup.Klett in [Pa s]
143  ztempc = t_seri - 273.15
144  WHERE (ztempc .GE. 0.)
145      zvis=(1.718 + 0.0049*ztempc)*1.E-5
146  ELSEWHERE
147      zvis=(1.718 + 0.0049*ztempc - 1.2E-05*(ztempc**2))*1.E-5
148  END WHERE
149
150  ! mean free path of air (Prupp. Klett) in [10^-6 m]
151  zlair = 0.066 *(1.01325E+5/pmid)*(t_seri/293.15)*1.E-06 
152
153END SUBROUTINE AEROSOL_METEO_CALC
154
155
Note: See TracBrowser for help on using the repository browser.