LMDzt-INCA (Interaction of chemistry and aerosol)  
 
Science :: Documentation :: Projets :: Publications :: Talk :: People

PATH :: home  / documentation / tree structure / liste routines


ADJH2O

Adjust the water vapor field in the stratosphere

the formula is 6ppm - 2*ch4
Transform water vapor to volumetric m.r.
this routine is the multitasked version
this routine assumes that ch4 is in the array vmr

authors: Stacy Walters, NCAR, stacy@ucar.edu
             Didier Hauglustaine, LSCE, didier.hauglustaine@lsce.ipsl.fr


SUBROUTINE ADJH2O (h2o,sh,ql,h2oc,mbar,vmr )


USE MODULES:
  • SPECIES_NAMES (created by INCA pre processor)
  • AIRPLANE_SRC, ONLY : itrop
  • CHEM_MODS, ONLY : adv_mass
  • INCA_DIM

arborescence - racine / index
chemmain

ADDSEC2DAT

Add seconds to date and compute new date

(Dat1,Sec1) + Sec = (dat2,sec2)


SUBROUTINE ADDSEC2DAT ( sec, dat1, sec1, dat2, sec2 )

AEROSOL_INI

initialisation of aerosol specific fields
authors: michael Schulz, LSCE, Michael.Schulz@cea.fr
10.6.2002
purpose: initialisation of prognostic variables related to aerosol calculations
interface: from aerosols module
trmx, trnx range of aerosol tracer indices
eflux, eflux_alt variables saved
method: set variables to zero at entry to aerosol main


SUBROUTINE AEROSOL_INI (area,delt,nstep,tr_seri)


USE MODULES (AER):
arborescence - racine / index
chemhook_begin

AEROSOL_METEO_CALC

calculation of meterological info used in aerosol calculations
authors: michael Schulz, LSCE, Michael.Schulz@cea.fr


SUBROUTINE AEROSOL_METEO_CALC

      $      ,calday
      $      ,delt
      $      ,pmid
      $      ,pfull
      $      ,t_seri
      $      ,flxrcv
      $      ,flxscv
      $      ,flxrst
      $      ,flxsst
      $      ,pctsrf
      $      ,area
      $      ,rlat
      $      ,rlon
      $      ,u10m
      $      ,u20m


USE MODULES:

CALL SUBROUTINES:
  • NUDGEECMWF (reads EC11 10m winds puts them in zspeedEC)
  • NUDGEECMWF_INTERP (reads on-grid-interpolated ECMWF 10m winds puts them in zspeed2)

arborescence - racine / index

AEROSOL_MODE_PROPERTIES

compute interactively emission flux of mineral dust
input: tr_seri -> mass mixing ratio [kg/kg]
from aerosol modules : rop -> particle density - srcsigma -> sigma of aerosol mode - srcsigmaln
output: md -> # resp. mass median diameter of tracer [m] - ropx -> mass density of each aerosol mode [kg/m3]
Author: Michael Schulz (/ LSCE / Saclay) 9. June 2002


SUBROUTINE AEROSOL_MODE_PROPERTIES ( tr_seri )


USE MODULES:

arborescence - racine / index
aerosolmain

AEROSOLMAIN


authors: michael Schulz, LSCE, Michael.Schulz@cea.fr


SUBROUTINE AEROSOLMAIN ( tr_seri

      $      ,aerosol_couple
      $      ,tr_seri
      $      ,delt_lmdz
      $      ,pmid
      $      ,pdel
      $      ,flxrst
      $      ,flxrcv
      $      ,flxsst
      $      ,flxscv
      $      ,flxupd
      $      ,cldtop
      $      ,cldbot
      $      ,zma
      $      ,area
      $      ,nstep
      $      ,rneb
      $      ,t_seri
      $      ,rh
      $      ,tau_inca
      $      ,piz_inca
      $      ,cg_inca
      $      ,rfname
      $      ,ccm
      $      ,lafin_inca)


USE MODULES:

CALL SUBBROUTINES:

arborescence - racine / index

AIRPL_SRC

Initialize airplane emissions
Note: the emissions are in molecules/cm**3/s
Didier Hauglustaine, IPSL, 2000.



SUBROUTINE AIRPL_SRC ( filename_month, filename_hour)


USE MODULES:

arborescence - racine / index
chemini

AIRPL_SRC_HS

Initialize airplane emissions
Note: the emissions are in molecules/cm**3/s
Didier Hauglustaine, IPSL, 2000.


SUBROUTINE AIRPL_SRC_HS (filename)


USE MODULES:

arborescence - racine / index
chemini

BCPOMSOURCE

source flux for Black and Organic Carbon

input:
delt time step duration [sec]
tr_seri accumulated tracer mixing ratios

output:
accumulated tracer mixing ratios

from aerosol modules:
srcsigmaln sigma of aerosol modes
rop particle density

from input files:
flxBCM Monthly BC flux [g cm-2 s-1]
flxPOMM Monthly POM flux [g cm-2 s-1] (from Liousse et al. 1986)

variables saved:
entered input fields read flag

output:
eflux emission of dust per tracer [kg m-2 s-1]
eflux_alt emission at altitude [kg m-2 s-1]

author : Yves Balkanski (LSCE - 14.1.2002)


SUBROUTINE BCPOMSOURCE (tr_seri)


USE MODULES:
arborescence - racine / index
aerosolmain

BL_FOR_DMS

Calcul de la vitesse de friction (ustar) et de la longueur de Monin-Obukhov (obklen), necessaires pour calculer les flux de DMS par la methode de Nightingale.
Cette subroutine est plus que fortement inspiree de la subroutine 'nonlocal' dans clmain.F .
reference : Holtslag, A.A.M., and B.A. Boville, 1993: Local versus nonlocal boundary-layer diffusion in a global climate model. J. of Climate, vol. 6, 1825-1842. (a confirmer)
Auteur : E. Cosme
31.08.01


SUBROUTINE BL_FOR_DMS ( u,v,paprs,pplay,cdragh,cdragm,t,q,tsol,ustar,obklen)


USE MODULES:

arborescence - racine / index
nightingale

BOUNDSPC

Impose boundary conditions for chemical tracers
Didier Hauglustaine, IPSL, 1999.


SUBROUTINE BOUNDSPC ( dtinv, mmr, pmid, temp ) (GES ; DUSS)


USE MODULES:

arborescence - racine / index
chemhook_end

CARBONAERRXT

SUBROUTINE CARBONAERRXT (temp,

$ pmid,
$ ps,
$ relhum,
$ mmr,
$ m,
$ dgno2,
$ dgno3,
$ dgnh3,
$ dgn2o5,
$ dghno3,
$ dgo3,
$ dgho2,
$ dgso2,
$ rxt),


USE MODULES:

CCNAER

purpose: compute soluble aerosol mass mixing ratio which corresponds to CCN concentration
interface:
input: tr_seri accumulated tracer mixing ratios
output: ccm soluble aerosol mass, natural(1) and total(2) from sflx_inti module : fracnat natural aerosol fraction
author: Michael Schulz
/ Laboratoire des Sciences du Climat et de l'environnement / Saclay / 22.6.2007


SUBROUTINE CCNAER (r_seri, area, ccm, pdel )


USE MODULES:
  • SPECIES_NAMES (created by INCA pre processor)
  • INCA_DIM
  • AEROSOL_DIAG, ONLY: fracnat_allaer, colmass_solu_aero, colmass_solu_aero_pi
  • AEROSOL_METEO, ONLY: airm, zheight, zdens
  • CHEM_CONS, ONLY: gravit

arborescence - racine / index
aerosolmain

CHEMHOOK_BEGIN

General purpose chemistry "hook" routine
Didier Hauglustaine and Stacy Walters, 2000.


SUBROUTINE CHEMHOOK_BEGIN ( calday,

        $         ijour,
        $         gmtime,
        $         oro,
        $         lat,
        $         lon,
        $         area,
        $         pfull,
        $         pmid,
        $         coefh,
        $         zma,
        $         temp,
        $         u,
        $         v,
        $         ozrad,
        $         sh,
        $         ts,
        $         dpth_snow,
        $         sws,
        $         albs,
        $         rain_fall,
        $         snow_fall,
        $         ctop,
        $         cbot,
        $         cldfr,
        $         nx,
        $         ny,
        $         mmr,
        $         ftsol,
        $         paprs,
        $         cdragh,
        $         cdragm,
        $         pctsrf,
        $         delt,
        $         nstep)


USE MODULES:

CALL SUBROUTINES:

arborescence - racine / index

CHEMHOOK_END

General purpose chemistry "hook" routine
Didier Hauglustaine, IPSL, 2000.


SUBROUTINE CHEMHOOK_END (dt,

$ pmid,
$ temp,
$ mmr,
$ nbtr,
$ paprs,
$ sh,
$ area,
$ zma,
$ phis,
$ rh,
$ Ahyb,
$ Bhyb),


USE MODULES:

CALL SUBBROUTINES:

arborescence - racine / index

CHEM_INTI

Initialize chemistry modules
Stacy Walters, NCAR, 2000.



SUBROUTINE CHEM_INTI (mxoutflds, outinst, outtimav)


USE MODULES:

arborescence - racine / index
chemini

CHEMINI

Chemistry module intialization
Didier Hauglustaine and Stacy Walters, 1999.


SUBROUTINE CHEMINI (
        $,         xgravit
        $,         xrearth
        $,         xlatwts
        $,         latgcm
        $,         longcm
        $,         presnivs
        $,         calday
        $,         klon
        $,         nqmax
        $,         nqo
        $,         pdtphys
        $,         annee_ref
        $,         day_ref
        $,         day_ini
        $,         start_time
        $,         itau_phy
        $,         date0
        $,         io_lon
        $,         io_lat


USE MODULES:

CALL SUBROUTINES

arborescence - racine / index

CHEMMAIN

Advances the volumetric mixing ratio forward one time step via a combination of explicit, EBI, QSSA, fully implicit, and/or rodas algorithms.
author: Didier Hauglustaine and Stacy Walters, 2000.


SUBROUTINE CHEMMAIN ( mmr

        $,        nas
        $,        nstep
        $,        calday
        $,        ncdate
        $,        ncsec
        $,        lat
        $,        delt
        $,        ps
        $,        pmid
        $,        pdel
        $,        area
        $,        oro
        $,        tsurf
        $,        albs
        $,        zma
        $,        phis
        $,        cldfr
        $,        cldfr_st
        $,        cldfr_cv
        $,        cldtop
        $,        cldbot
        $,        cwat
        $,        flxrst
        $,        flxrcv
        $,        flxsst
        $,        flxscv
        $,        flxupd
        $,        flxmass_w
        $,        tfld
        $,        sh
        $,        ql
        $,        rh
        $,        nx
        $,        ny
        $,        source


USE MODULES:
  • CHEM_MODS, ONLY: nas, invariants, hrates, o3_prod, o3_loss, o3_st_flx, so2_p_h2soh, so2_p_dmsoh, so2_p_dmsno3, so2_p_dmsooh, asmsam_p_dmsooh, dmso_p_dmsoh, asso4m_p_so2oh, wet3d_so2, wet3d_dms, wet3d_dmso, wet3d_hno3, wet3d_nh3, wet3d_noy, wet3d_h2o2, wet3d_hono, hno3_p_g, hno3_p_a, hno3_l_g, hno3_l_a, nh3_l_g, nh3_l_a, csno3_p_a1, csno3_p_a2, cino3_p_a, wet3d_asso4m, wet3d_asnh4m, wet3d_asno3m, wet3_csno3m, wet3d_cino3m, hono_p_g, hono_p_a, hono_l_g, hono_l_a, asno3m_p_nh3hno3, asnh4m_p_nh3hno3, hno3_p_nh3hno3, nh3_p_nh3hno3, co2_basprod, co2_nmhcprod, co2_radicalprod, hno3_prod, hno3_loss, co_prod, co_loss, nadv_mass, no_daytime, day_cnt, adv_mass, h2o, h2oc, extfrc
  • CHEM_TRACNM
  • SPECIES_NAMES (created by INCA pre processor)
  • CHEM_CONS, ONLY: gravit, uma
  • MASS_DIAGS
  • AIRPLANE_SRC, ONLY: itrop
  • SFLX
  • TRANSPORT_CONTROLS
  • INCA_DIM
  • MOD_INCA_PARA
  • MOD_GRID_INCA, ONLY: PLON_GLO
  • RATE_INDEX_MOD
  • INCA_WRITE_FIELD_P
  • XIOS_INCA
  • OXYDANT_COM
  • PARAM_CHEM
  • LIGHTNING
  • HETCHEM (NMHC_AER_S)
  • LGLIVED_MOD (NMHC_AER_S)

CALL SUBROUTINES:
  • DIURNAL_GEOM (Calculate parameters for diurnal geometry)
  • INTI_MR_XFORM (Initialize xform between mass and volume mixing ratios)
  • MMR2VMR (Xform from mmr to vmr)
  • ADJH2O (Xform water vapor from mmr to vmr and adjust in stratosphere)
  • FDTROPOPAUSE (Tropopause Location)
  • SETINV (Set the "invariants")
  • SET_UB_COL (Set the column densities at the upper boundary)
  • SETRXT (created by INCA pre processor) (Set rates for "tabular" and user specified reactions)
  • USRRXT
  • ADJRXT (created by INCA pre processor)
  • SETCOL (Set the column densities)
  • PHOTO ( Calculate the photodissociation rates
  • PHTADJ (created by INCA pre processor) (Adjust the photodissociation rates)
  • SETHET (Compute the heterogeneous rates at time = t(n+1))
  • SETEXT (Compute the extraneous frcing at time = t(n+1))
  • SETEX_PLANES
  • SET_GRP_RATIOS (Set the group ratios)
  • SET_REL_RATIOS (created by INCA pre processor) (Set the relationship ratios)
  • RXT_MOD (created by INCA pre processor) (Modify the reaction rate of any reaction with group member or proportional reactant(s))
  • EXP_SOL (Solve for "explicit" species)
  • IMP_SOL (Solve for Implicit species)
  • STRSEDCALC
  • AERTHERM
  • NEGTRC (Check for negative values and reset to zero)
  • VMR2MMR (Xform from vmr to mmr)
  • GASTOPARTICLE
  • DRYDEP

arborescence - racine / index

CHEMTIME

Gestion du temps dans LMDZINCA:


SUBROUTINE CHEMTIME (istp, date0, dt, itap )


USE MODULES:

arborescence - racine / index

CHIMIEAQ

calculation of aqueous phase chemistry of sulfur
written by Olivier Boucher
units are [molecules/cm^3]
modified by Christiane Textor for use in INCA


SUBROUTINE CHIMEAQ (pdtphys,
        $        rneb,
        $        qliq,
        $        pplay,
        $        t,
        $        tr_seri
        $        invariants (AER),
        $        )
time step of physics
cloud volume fraction in grid box
kg kg-1 prescribed
pmid pressure in grid box center
t_seri temperautre
tracer



USE MODULES:

arborescence - racine / index
aerosolmain

CLOUD_MOD

Cloud alteration factors for photorates and albedo
Stacy Walters, NCAR, 1998.


SUBROUTINE CLOUD_MOD (zen_angle, clouds, lwc, delp, srf_alb, eff_alb, cld_mult )


USE MODULES:

arborescence - racine / index
photo

COMPUTE_DEP_VEL

code based on wesely (atmospheric environment, 1989, vol 23, p. 1293-1304) for calculation of r_c, and on walcek et. al. (atmospheric enviroment, 1986, vol. 20, p. 949-964) for calculation of r_a and r_b

as suggested in walcek (u_i)(u*_i) = (u_a)(u*_a) is kept constant where i represents a subgrid environment and a the grid average environment. thus the calculation proceeds as follows:
va the grid averaged wind is calculated on dots
z0(i) the grid averaged roughness coefficient is calculated
ri(i) the grid averaged richardson number is calculated
--> the grid averaged (u_a)(u*_a) is calculated
--> subgrid scale u*_i is calculated assuming (u_i) given as above
--> final deposotion velocity is weighted average of subgrid scale velocities

Peter Hess and Jean-Francois Lamarque, NCAR, 2000.


SUBROUTINE COMPUTE_DEP_VEL ( month,latitudes,dvel )


USE MODULES:

arborescence - racine / index
mkdvel

CONF_CHEM

SUBROUTINE CONF_CHEM


USE MODULES:

  • PARAM_CHEM
  • IOIPSL
  • MOD_INCA_PARA

  • arborescence - racine / index
    chemini

    CONVERT_ECMWF

    SUBROUTINE CONVERT_ECMWF ( udyn, vdyn, ufi, vf )


    USE MODULES:

    arborescence - racine / index
    nudgeecmwf_interp

    CORRECTBID_INCA

    SUBROUTINE CORRECTBID_INCA ( iim, nl, x )
    arborescence - racine / index
    read_ecmwf

    DEF_SPECIES_PARAM

    code written by P. Hess, rewritten by JFL (August 2000)
    Modified for LMDz/INCA, Hauglustaine, Dec. 2000


    SUBROUTINE DEF_SPECIES_PARAM


    USE MODULES:

    arborescence - racine / index
    mkdvel

    DIAG

    Michael Schulz
    June 2002


    SUBROUTINE DIAG (area, tr_seri, aerocom )


    USE MODULES:
    • SPECIES_NAMES
    • SFLX, ONLY: eflux
    • AEROSOL_METEO, ONLY: airm, zheight, zdens
    • AEROSOL_MOD, ONLY: trmx, trnx, nmodes, srcsigmaln, masslindex, asmode, aimode, cimode, csmode, ssmode
    • AEROSOL_DIAG, ONLY: sconc, aload, aload_dms, aload_dmso, aload_so2, cconc, cload, emiss20, cload05ss, cload05bc, cload05pom, cload05dust, cload05so4, cload125ss, cload125bc, cload125pom, cload125dust, cload125so4
    • AEROSOL_PROGNOS, ONLY: md
    • INCA_DIM

    arborescence - racine / index
    aerosolmain

    DIURNAL_GEOM

    Stacy Walters, NCAR, 1998.

    SUBROUTINE DIURNAL_GEOM (lat, time_of_year, polar_night, polar_day, sunon, sunoff, loc_angle, zen_angle, zangtz)


    USE MODULES:
    arborescence - racine / index
    chem_hook / chemmain

    DRYDEP

    Dry deposition flux
    Didier Hauglustaine and Stacy Walters, 2000.


    SUBROUTINE DRYDEP (pmid, temp, mmr)


    USE MODULES:
    • SFLX, ONLY: dvel, dflux
    • CHEM_CONS, ONLY: boltz, uma
    • SPECIES_NAMES
    • INCA_DIM
    • CHEM_MODS, ONLY: adv_mass, dry_nh3, dry_hno3, dry_noy (AER)

    arborescence - racine / index
    chemmain

    DUSTAERRXT

    Reaction rate on dust aerosols
    Didier Hauglustaine, 2010


    SUBROUTINE DUSTAERRXT ( temp,

    $ pmid,
    $ ps,
    $ relhum,
    $ mmr,
    $ m,
    $ dgno2,
    $ dgno3,
    $ dgnh3,
    $ dgn2o5,
    $ dghno3,
    $ dgo3,
    $ dgho2,
    $ dgso2,
    $ rxt
    ),



    USE MODULES:

    arborescence - racine / index

    DUSTECMWF

    emission flux of mineral dust from ecmwf 10m winds on 1° X 1°
    author: S E Bauer


    SUBROUTINE DUSTECMWF (efluxECP)


    USE MODULES:

    CALL SUBROUTINES:
    • INTERP_HORIZ_INCA (interpolation of eflux to the model resolution)
    • grid2dTold_mpi (transformation to the physical grid)

    arborescence - racine / index
    dustsource

    DUSTSOURCE

    compute interactively emission flux of mineral dust

    input :
    delt time step duration [sec]

    from aerosol modules :
    zspeed wind speed at 10 m [m/s]
    landmask sea land mask []
    ztempc surface air temperature [°C]
    zprecip precipitation amount [kg m-2 s-1]
    zprecipinsoil proxy for soil humidity [mm]
    rop particle density
    rhv source strength factor [kg s2 m-5]
    wth threshold velocity [m/s]
    cly clay content [%]

    srcsigma sigma of aerosol mode
    srcsigmaln

    variables saved :
    entered input fields read flag

    local variables :
    fdist number/mass factor [#/kg]
    nbdays soil drying rate [days/mm]
    mask dust emission area mask []

    output :
    eflux emission of dust per tracer [kg m-2 s-1]

    method
    The dust aerosol emitted is described as a lognormal size distribution with a mass median radius of 2.5 um and a standard deviation of s = 2. Such a source size distribution was found to provide a consistent mineral aerosol transport model, which provides enough mineral dust for long range transport from the Sahara to the Atlantic and the Mediterranean. Dust plumes simulated with such a model provide aerosol optical thickness values very close to those observed with satellites [Schulz et al., 1998] [Guelle et al., 2000]. Using a fixed lognormal distribution at the source implies that number concentrations can be derived from mass emission flux and imposed source size distribution [Schulz et al., 1998].

    While surface wind speed is produced interactively or read from ECMWF winds (see routine aerosol_meteo_calc), the source function incorporates also spatial information on three parameters a) the source strength factor (rhv); b) the threshold velocity (wth) and c) the clay fraction of the uppermost soil layer (cly).

    eflux = max(rhv*(zspeed-wth)*zspeed**2,0.)*landmask

    This work is based on an offline dust source developped by [Claquin, 1999]. He used a global TM3 dust simulation with a dustsource in all arid regions to obtain an approximate dust field. In a second step he compared regional averages of TOMS observations of aerosol index to this simulation, to obtain a source strength factor for a given region [see also Balkanski et al. [submitted , 2002]. The threshold velocity was obtained by comparing the FAO soil database to the maps of Marticorena [1995] to derive by this procedure a soil specific threshold velocity for desert soils. Combined with the high resolution FAO dataset this results in a global map of threshold velocities for dust rise in arid and semi-arid regions. The offline source formulation was converted to an interactive dust source for this work [Schulz und Timmreck, in prep] including prognostic variables produced by the GCM, such as wind speed, precipitation and surface temperature.

    Dust emission is thought to be inhibited, when the surface soil is wettened or frozen. Drying of desert soils can be parameterised as a function of recent accumulated precipitation, surface temperature. The clay content of the soil is a key parameter for this process, since clay retains water for a longer period. While Claquin [1999] used an offline calculation to define the periods when the soil is available for emission of dust, we prefer an interactive approach here. Soil wettening and drying rate are computed from GCM calculated preceipitation and surface temperatures. The clay content is assembled from the FAO soil data. During freezing conditions, no drying of the soil and no emissions are assumed. The parameterisation uses the conditions given by Claquin [1999] and computes an evaporation rate acting on the accumulated precipitation amount [Schulz und Timmreck, in prep]. This might overestimate the time which is needed to dry off the top soil, since no run-off or losses to the ground water reservoirs are assumed.

    author: M. Schulz LSCE 13.2.2001


    SUBROUTINE DUSTSOURCE (delt)


    USE MODULES:

    CALL SUBROUTINE:

    arborescence - racine / index
    aerosolmain

    DVEL_INTI

    Read the landuse data set for dry dep calculation
    author: Didier Hauglustaine, IPSL, 2000.


    SUBROUTINE DVEL_INTI (filename)


    USE MODULES:

    arborescence - racine / index
    chemini

    ENDRUN

    Abort the model


    SUBROUTINE ENDRUN

    arborescence - racine / index
    chem_inti

    EXP_SOL

    Exp_sol advances the volumetric mixing ratio forward one time step via the fully explicit Euler scheme

    authors: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDz/INCA, 2000.


    CH4 & CH4_AER NMHC
    SUBROUTINE EXP_SOL (base_sol
    $, reaction_rates
    $, het_rates
    $, extfrc
    $, nstep
    $, delt
    )
    SUBROUTINE EXP_SOL (base_sol
    $, reaction_rates
    $, het_rates
    $, extfrc
    $, co_prod
    $, co_loss
    $, hnm
    $, nstep
    $, delt
    )



    USE MODULES:

    CALL SUBBROUTINES:
    • INDPRD (created by INCA pre processor) (Put "independent" production in the forcing)
    • EXP_PROD_LOSS (created by INCA pre processor) (Form F(y)

    arborescence - racine / index
    chemmain

    FDTROPOPAUSE

    Calculates 2D fields of thermal tropopause pressures and tropopause level indices for given 3D fields of temperature and pressure.

    Methods:

    - Subroutine stattrop calculates the thermal tropopause pressure (Pa) for a 1D column (sounding) of pressures (Pa) and temperatures (K).

    - The program tropo_test also corrects for non-sense occuring at high latitudes > 60N (60S).
    Theese problems occur at high latitudes on the winter hemisphere because of the cold stratosphere and the consequently weak troposphere- stratosphere transition of the thermal lapse rate -dT/dz which is used to determine the thermal tropopause.
    The problem is much less severe on the winter hemisphere.

    Here a fix is implemented applying a factor which scales the tropopause pressures at latitudes LAT > 60N (60S) to the mean tropopause pressure at 60N (60S), whenever the mean tropopause pressure at LAT is lower than that at 60N (60S).
    This idea was formulated in the ECHAM4/CHEM routine xttphwmo by D. Nodorp, Ch. Land, B. Steil and R. Hein.

    author: Dominik Brunner, ETHZ, Switzerland V.01, 10 Aug 2000
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, Oct 2000.


    SUBROUTINE FDTROPOPAUSE ( nx, ny, nz, pmid, temp )


    USE MODULES:

    CALL SUBBROUTINES:
    • GR_FI_DYN (LMDZ ) (T and p to dynamical grid)
    • STATTROP
    • GR_DYN_FI ( LMDZ ) (Back to physiq grid)

    arborescence - racine / index
    chemmain

    FIELD_PREP

    Prepare fields to be used in radiation
    author: Didier Hauglustaine, IPSL, 2002.


    SUBROUTINE FIELD_PREP (h2o, mmr)


    USE MODULES:
    • SPECIES_NAMES (created by INCA pre processor)
    • CHEM_MODS, ONLY: o3_inca, h2o_inca, ch4_inca, n2o_inca, cfc11_inca, cfc12_inca, adv_mass
    • INCA_DIM

    arborescence - racine / index
    chemhook_begin

    FINDPLB

    "find periodic lower bound"
    Search the input array for the lower bound of the interval that contains the input value. The returned index satifies: x(index) .le. xval .lt. x(index+1) Assume the array represents values in one cycle of a periodic coordinate. So, if xval .lt. x(1), then index=nx.

    author: Stacy Walters, NCAR, 1998.


    SUBROUTINE FINDPLB (x, nx, xval, index)

    arborescence - racine / index
    sulfread

    GASTOPARTICLE

    SUBROUTINE GASTOPARTICLE (delt,mmr,mbar,hnm)


    USE MODULES:
    • USE SPECIES (created by INCA pre processor)
    • AEROSOL_MOD, ONLY: srcsigmaln, rop, asmode
    • CONST_MOD, ONLY: pi
    • INCA_DIM
    • CHEM_MODS, ONLY: asso4m_p_so2oh, asmsam_p_dmsooh, adv_mass + asno3m_p_nh3hno3 (if NMHC)

    arborescence - racine / index
    chemmain

    GR_INT_DYN_INCA

    Passage d'un champ interpolé è un champ sur grille scalaire

    SUBROUTINE GR_INT_DYN_INCA ( champin, champdyn, iim, jp1, lev)
    arborescence - racine / index
    chemmain

    HUMGROWTH

    Calculation of humidity growth of aerosols
    Interpolation of the coefficients between those of seasalt and rural conditions depending on the composition of the aerosol. This approach seems justified, because the effect of RH on particle growth is much larger than that of the composition.
    Reference: Gerber, Atm Aerosols and Nucleation, Lect. Notes Phys, vol 309, pp237-238 Springer Verlag NY 1988
    authors: Christiane Textor and Michael Schulz


    SUBROUTINE HUMGROWTH (tr_seri,rh)


    USE MODULES:
    • SPECIES_NAMES
    • AEROSOL_PROGNOS, ONLY: md, mdw
    • AEROSOL_MOD, ONLY: masslindex, massnindex, numberindex, nmodes, trmx, trnx, srcsigmaln, asmode, csmode, ssmode
    • AEROSOL_DIAG, ONLY: aerh2o, totaerh2o, spaerh2o
    • INCA_DIM
    arborescence - racine / index
    aerosolmain

    IMP_SLV_INTI

    Initialize the implict solver

    SUBROUTINE IMP_SLV_INTI ()


    USE MODULES:
    arborescence - racine / index
    chemini

    IMP_SOL

    Imp_sol advances the volumetric mixing ratio forward one time step via the fully implicit Euler scheme

    author: Stacy Walters, NCAR, 1999.


    CH4NMHCAERNMHC & AER
    SUBROUTINE IMP_SOL (reaction_rates
    $, het_rates
    $, extfrc
    $, o3_prod
    $, o3_loss
    $, hnm
    $, nstep
    $, delt_inverse
    $, lat
    )
    SUBROUTINE IMP_SOL (reaction_rates
    $, het_rates
    $, extfrc
    $, o3_prod
    $, o3_loss
    $, co2_basprod
    $, co2_nmhcprod
    $, co2_radicalprod
    $, hno3_prod
    $, hno3_loss
    $, hnm
    $, nstep
    $, delt_inverse
    $, lat
    )
    SUBROUTINE IMP_SOL (reaction_rates
    $, het_rates
    $, extfrc
    $, o3_prod
    $, o3_loss
    $, so2_p_h2soh
    $, so2_p_dmsoh
    $, so2_p_dmsno3
    $, so2_p_dmsooh
    $, asmsam_p_dmsooh
    $, dmso_p_dmsoh
    $, asso4m_p_so2oh
    $, wet3d_so2
    $, wet3d_dms
    $, wet3d_dmso
    $, wet3d_asso4m
    $, wet3d_asnh4m
    $, wet3d_asno3m
    $, wet3d_csno3m
    $, wet3d_cino3m
    $, pdel
    $, hnm
    $, nstep
    $, delt_inverse
    $, lat
    $, invariants

    SUBROUTINE IMP_SOL (reaction_rates
    $, het_rates
    $, extfrc
    $, o3_prod
    $, o3_loss
    $, hno3_p_g
    $, hno3_p_a
    $, hno3_l_g
    $, hno3_l_a
    $, hono_p_g
    $, hono_l_g
    $, hono_l_a
    $, nh3_l_g
    $, nh3_l_a
    $, csno3_p_a1
    $, csno3_p_a2
    $, cino3_p_a
    $, wet3d_hno3
    $, wet3d_h2o2
    $, wet3d_nh3
    $, wet3d_noy
    $, wet3d_hono
    )


    USE MODULES:

    CALL SUBBROUTINES:
    • INDPRD (created by INCA pre processor) (Class independent forcing
    • LINMAT (created by INCA pre processor)
    • NLNMAT (created by INCA pre processor)
    • LU_FAC (created by INCA pre processor) (Factor the "system" matrix
    • IMP_PROD_LOSS (created by INCA pre processor) (Form F(y))
    • LU_SLV (created by INCA pre processor) (Solve for the mixing ratio at t(n+1))

    arborescence - racine / index
    chemmain

    INICALENDAR

    SUBROUTINE INICALENDAR (xtype)


    USE MODULES:

    arborescence - racine / index

    INI_DIAGNOS

    SUBROUTINE INI_DIAGNOS (pdtphys, anne_ref, day_ref, longcm, latgcm, presnivs, itau_phy)


    USE MODULES:

    arborescence - racine / index
    chemini

    INI_DIAGNOS_SURF

    SUBROUTINE INI_DIAGNOS_SURF (pdtphys, anne_ref, day_ref, longcm, latgcm, presnivs, itau_phy)


    USE MODULES:

    arborescence - racine / index
    chemini

    INIT_TRANSPORT

    SUBROUTINE INIT_TRANSPORT (hadv_flg_lmdz, vadv_flg_lmdz, conv_flg_lmdz, pbl_flg_lmdz, tracnam_lmdz)


    USE MODULES:

    arborescence - racine / index

    INTER1D

    vectorised 1D interpolation routine

    z = f(x); treats irregular spacing of intervals in x directions, uses tabulated results of the function f(x) with two tables xx,z and their dimensions as input
    res contains result for values derived from x for nfields

    author: Michael Schulz Sep.2002


    SUBROUTINE inter1d (nfield,x,res,xdim,xx,z )

    arborescence - racine / index
    taucalc

    INTERP_HORIZ_INCA

    Interpolation horizontale des variables d'une grille LMDZ
    (des points SCALAIRES au point SCALAIRE)
    dans une autre grille LMDZ en conservant la quantite totale pour les variables intensives (/m2) : ex : Pression au sol
    François forget (01/1995)


    SUBROUTINE INTERP_HORIZ_INCA (varo, varn, imo, jmo, imn, jmn, lm, rlonuo, rlatvo, rlonun, rlatvn)


    CALL SUBBROUTINES:

    arborescence - racine / index
    dustecmwf

    INIINTERP_HORIZ_INCA

    Prepare l'interpolation des variables d'une grille LMDZ dans une autre grille LMDZ en conservant la quantite totale pour les variables intensives (/m2) : ex : Pression au sol Pour chaque case autour d'un point scalaire de la nouvelle grille, on calcule la surface (en m2) en intersection avec chaque case de l'ancienne grille, pour la future interpolation)
    On calcule aussi l'aire dans la nouvelle grille.
    author: Fran&ccdel;ois Forget 01/1995


    SUBROUTINE INIINTERP_HORIZ_INCA (imo, jmo, imn, jmn, kllm, rlonuo, rlatvo, rlonun, rlatvn, ktotal, iik, jjk, jk, ik, intersec, airen)


    USE MODULE:

    arborescence - racine / index
    interp_horiz_inca

    INTI_MR_XFORM

    Initialize mean atmospheric "wet" mass
    author: Stacy Walters, NCAR, 1998.


    SUBROUTINE INTI_MR_XFORM (sh, mbar)


    USE MODULES:
    • INCA_DIM

    arborescence - racine / index
    chemmain

    LGLIVED

    SUBROUTINE LGLIVED (filename, year )


    USE MODULES:

    arborescence - racine / index
    chemini

    LININTP

    Linearly interpolate between f1(t1) and f2(t2) to fint(tint)
    author: Stacy Walters, NCAR, 1998.


    SUBROUTINE LININTP (npts, t1, t2, tint, f1, f2, fint )

    arborescence - racine / index
    sulf_interp

    MKDVEL

    Dry deposition velocities for this time step
    author: Didier Hauglustaine, IPSL, 2000.



    Toutes les configurations chimiques DUSS
    SUBROUTINE MKDVEL (oro, latitudes) SUBROUTINE MKDVEL (oro
            $        latitudes
            $        zmid,
            $        ycoef,
            $        calday,
            $        temp,
            $        u,
            $        v,
            $        sh,
            $        pfull,
            $        pmid,
            $        ts,
            $        dpth_snow,
            $        sws,
            $        albs,
            $        rain_fall,
            $        snow_fall
    )



    USE MODULES:

    CALL SUBROUTINES:

    arborescence - racine / index
    chemhook_begin

    MKNOPROD

    NOx from lightning
    author: Line Jourdain, SA, 2001.
    Modified, Didier Hauglustaine, IPSL, 08-2001.


    SUBROUTINE MKNOPROD (oro,
            $         lat,
            $         lon,
            $         area,
            $         pmid,
            $         zmid,
            $         temp,
            $         ctop,
            $         cbot,
            $         nx,
            $         ny
    )



    USE MODULES:

    arborescence - racine / index
    chemhook_begin

    MKSFLX

    Form the surface fluxes for this time slice
    author: Didier Hauglustaine, IPSL, 2000.

    CH4
    NMHC
    CH4_AER
    SUBROUTINE MKSFLX (calday,
            $        oro,
            $        lat,
            $        lon,
            $        area
    )
    SUBROUTINE MKSFLX (calday,
            $        oro,
            $        lat,
            $        lon,
            $        area,
            $        loc_angle,
            $        polar_night,
            $        polar_day,
            $        sunon,
            $        sunoff
    )
    SUBROUTINE MKSFLX (calday,
            $        oro,
            $        lat,
            $        lon,
            $        area,
            $        u,
            $        v,
            $        paprs,
            $        pmid,
            $        cdragh,
            $        cdragm,
            $        temp,
            $        sh,
            $        ftsol,
            $        ts,
            $        pctsrf
    )



    USE MODULES:

    CALL SUBROUTINE:

    arborescence - racine / index
    chemhook_begin

    MMR2VMR

    Xfrom from mass to volume mixing ratio
    author: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, 1999.


    SUBROUTINE MMR2VMR (vmr, mmr, mbar )


    USE MODULES:
    • SPECIES_NAMES (created by INCA pre processor)
    • INCA_DIM
    • CHEM_MODS

    arborescence - racine / index
    chemmain

    NEGTRC

    Check for negative constituent values and replace with zero value


    SUBROUTINE NEGTRC (header, fld )


    USE MODULE:
    • SPECIES_NAMES (created by INCA pre processor)
    • INCA_DIM
    • PRINT_INCA

    arborescence - racine / index
    aerosol_main / chemmain

    NEUTRAL

    subroutine to compute u10 neutral wind speed
    inputs:
    u10_mps - wind speed at 10 m (m/s)
    ustar_mps - friction velocity (m/s)
    obklen_m - monin-obukhov length scale (m)
    outputs:
    u10n_mps - wind speed at 10 m under neutral conditions (m/s)
    following code assumes reference height Z is 10m, consistent with use of u10 and u10_neutral. If not, code should be changed so that constants of 50. and 160. in equations below are changed to -5 * Z and -16 * Z respectively.

    Reference: G. L. Geernaert. 'Bulk parameterizations for the wind stress and heat fluxes,' in Surface Waves and Fluxes, Vol. I, Current Theory, Geernaert and W.J. Plant, editors, Kluwer Academic Publishers, Boston, MA, 1990.
    subroutine written Feb 2001 by eg chapman adapted to LMD-ZT by E. Cosme 310801
    Following Will Shaw (PNL, Seattle) the theory applied for flux calculation with the scheme of Nightingale et al. (2000) does not hold anymore when -1 .lt. obklen .lt. 20. In this case, u10n is set to 0, so that the transfer velocity computed in nightingale.F will also be 0. The flux is then set to 0.


    SUBROUTINE NEUTRAL (u10_mps,ustar_mps,obklen_m,u10n_mps )


    USE MODULES:

    arborescence - racine / index
    nightingale

    NIGHTINGALE

    Purpose: Calculation of Sea-Air Transfer of DMS
    Mehtod: Nightingale et al. 2001
    Authors: Olivier Boucher - adapted to INCA: Christiane Textor and Michael Schulz


    SUBROUTINE NIGHTINGALE (u,
            $        v,
            $        paprs,
            $        pplay,
            $        cdragh,
            $        cdragm,
            $        t,
            $        q,
            $        ftsol,
            $        tsol,
            $        pctsrf,
            $        conc_dms,
            $        eflux_dms
    )


    USE MODULES:

    CALL SUBROUTINES:

    arborescence - racine / index
    mksflx

    NUDGEECMWF

    SUBROUTINE NUDGEECMWF


    USE MODULES:

    CALL SUROUTINES :

    arborescence - racine / index
    aerosol_meteo_calc

    NUDGEECMWF_INTERP

    SUBROUTINE NUDGEECMWF_INTERP


    USE MODULES:

    CALL SUROUTINES :

    arborescence - racine / index
    aerosol_meteo_calc

    NPP_INTI

    Read the NPP data set
    author: Didier Hauglustaine, IPSL, 2000.


    SUBROUTINE NPP_INTI (filename)


    USE MODULES:

    arborescence - racine / index
    chemini

    OBS_PROFILE_INTERPOL

    incatime contains routine to transform a 6-integer-array of the time into seconds since a reference year


    SUBROUTINE OBS_PROFILE_INTERPOL (pmid,zma,phis,rh,sh,temp,mmr)


    USE MODULE:

    arborescence - racine / index
    chemhook_end

    OPTAER

    Tabulated refractive indices by Yves Balkanski May 2003
    Real part of dust refractive index from Volz and Patterson
    Imaginay part of dust refractive index from Sokolik
    This tabulation is for 5 wavelengths (443, 550, 670, 765 and 865 nm) and for 6 species : dust, seasalt, BC, POM, sulfate and water
    Author: Michael Schulz, May 2003


    SUBROUTINE OPTAER (tr_seri, delt, area)


    USE MODULES:
    • SPECIES_NAMES (created by INCA pre processor)
    • INCA_DIM
    • AEROSOL_MOD, ONLY: nmodes, masslindex, massNindex, numberindex, trmx, trnx
    • AEROSOL_DIAG, ONLY: tausum, angst, aerh2o, las, lambda
    • AEROSOL_PROGNOS, ONLY: mdw

    arborescence - racine / index

    OPTAER_2BANDS

    SUBROUTINE OPTAER_2BANDS (pdel, tr_seri, delt, RHcl, ai)


    USE MODULES:
    • SPECIES_NAMES (created by INCA pre processor)
    • INCA_DIM
    • CHEM_TRACNM, ONLY: solsym
    • AEROSOL_MOD, ONLY: nmodes, masslindex, massNindex, numberindex
    • AEROSOL_DIAG, ONLY: lambda, tau_ae, piz_ae, cg_ae, tau_allaer, piz_allaer, cg_allaer, fracnat_allaer, naero_grp
    • AEROSOL_METEO, ONLY: zdp1
    • CHEM_CONS, ONLY: gravit

    arborescence - racine / index
    aerosolmain

    OPTAER_5WV

    SUBROUTINE OPTAER_5WV (pdel, tr_seri, delt, RHcl, ai)


    USE MODULES:

    arborescence - racine / index
    aerosolmain

    OUTFLD

    Purpose:
    This subroutine must be called every time step of the model. It either stores, or records in a file (file_id), for this time step the variables fields of a same category 'k'. The variables fields of a particular category are all gathered in a same array 'seri'.


    SUBROUTINE OUTFLD (file_id, type, k, seri)


    USE MODULES:

    arborescence - racine / index
    chemhook_end

    OUTFLD_2

    SUBROUTINE OUTFLD_2 (pmid, temp, sh, ps, pdel, area, chifl_id, chafl_id)


    USE MODULES:

    arborescence - racine / index
    chemhook_end

    OUTFLD_INIT

    Initialize the chemistry netcdf files (name, horizontal grid size,
    time intervals), define a vertical axe and declare the variables to record.
    2 files : one for instantaneous variables, another for averaged.


    SUBROUTINE OUTFLD_INIT (pdtphys, anne_ref, day_ref, longcm, latgcm, presnivs, itau_phy)


    USE MODULES:

    arborescence - racine / index
    chemini

    OUTFLD_INIT_2

    SUBROUTINE OUTFLD_INIT_2 (type, file_id, grid_id, vert_id, operat, zsto, zout)


    USE MODULES:

    arborescence - racine / index
    outfld_init

    OUTFLD_XIOS

    SUBROUTINE OUTFLD_XIOS (pmid, temp, sh, ps, pdel, area)


    USE MODULES:

    arborescence - racine / index
    chemhook_end

    OXYDANT_INTI

    Oxydant climatologies initialize


    SUBROUTINE OXYDANT_INTI (filename)


    USE MODULES:

    arborescence - racine / index
    chemini

    OXYDANT_READ

    Read OXYDANT distributions
    Author: Didier Hauglustaine, IPSL, 1999


    SUBROUTINE OXYDANT_READ (calday)


    USE MODULES:

    arborescence - racine / index
    chemhook_begin

    OZCLIM_INTERP

    Interpolate ozone on model time and on pressure levels
    author: Didier Hauglustaine, IPSL, 1999.


    SUBROUTINE OZCLIM_INTERP (calday, pmid)


    USE MODULE:

    CALL SUBROUTINES:

    arborescence - racine / index
    chemhook_begin

    OZCLIM_INTI

    Ozone climatologies initialize

    SUBROUTINE OZCLIM_INTI (filename)


    USE MODULES :

    arborescence - racine / index
    chemini

    OZCLIM_READ

    Read ozone distributions
    author: Didier Hauglustaine, IPSL, 1999.


    SUBROUTINE OZCLIM_READ (calday)


    USE MODULE:

    arborescence - racine / index
    chemhook_begin

    OZLIN_INTERP

    Interpolate ozone linear coefficients on model time and on pressure levels
    author: R.Valorso


    SUBROUTINE OZLIN_INTERP (calday, pmid)


    CALL SUBROUTINES:

    arborescence - racine / index
    chemhook_begin

    OZLIN_INTI

    Ozone linear initialize

    SUBROUTINE OZLIN_INTI (filename)


    USE MODULES :

    arborescence - racine / index
    chemini

    OZLIN_READ

    Interpolate ozone linear coefficients
    author: Didier hauglustaine, IPSL, 1999


    SUBROUTINE OZLIN_READ (calday)


    USE MODULES:

    arborescence - racine / index
    chemhook_begin

    OZRESET

    Reset O3 boundary conditions for use in radiation
    author: Didier Hauglustaine, IPSL, 2002.


    SUBROUTINE OZRESET (mmr, pmid, temp)


    USE MODULES:

    arborescence - racine / index

    PHOTO

    author: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, 1999.


    SUBROUTINE PHOTO (photos , pmid , pdel , temper , zmid , col_dens , zen_angle , srf_alb , lwc , clouds , sunon , sunoff, polar_night, polar_day )


    USE MODULES:

    CALL SUBROUTINES:

    arborescence - racine / index
    chemmain

    PHOTO_INTERP

    Loglinear interpolation for the photodissociation rates
    Note: this subroutine computes photorates for a vertical column at a given longitude and latitude
    This routine uses a six parameter table via a Taylor series expansion.

    Stacy Walters, Sep 30, 1996. Changed code to strictly limit the 200mb and 500mb temperature interpolation to the table endpoints; i.e. no extrapolation beyond the table is allowed.


    SUBROUTINE PHOTO_INTERP (zin, sin, vin, albin, t500in, t200in, ajout )


    USE MODULE:

    arborescence - racine / index
    photo

    PINTERP

    Interpolates on model pressure levels
    authors: Stacy Walters and Didier Hauglustaine, 1999.


    SUBROUTINE PINTERP (ncol, fieldin, pin, nin, fieldout, pout, nout, index, entered)
    arborescence - racine / index
    set_ub_vals

    PRATE_INTI

    Read in the photorate tables and arrays
    Results are "returned" via the module PHT_TABLES
    author: Stacy Walters, NCAR, 1998.


    SUBROUTINE PRATE_INTI (unit)


    USE MODULES

    arborescence - racine / index
    chemini

    RADLWSW_INCA

    Auteur: Z.X.Li (LMD/CNRS) ; 19/07/1996
    Objet: interface entre le modèle et les rayonnements


    SUBROUTINE RADLWSW_INCA (kdlon, kflev, dist, rmu0, fract, solaire, paprs, pplay, tsol, albedo, alblw, t, q, size_wo, cldfra, cldemi, cldtaupd, heat, heat0, cool, cool0, albpla, topsw, toplw, solsw, sollw, sollwdown, topsw0, toplw0, solsw0, sollw0, lwdn0, lwdn, lwup0, lwup, swdn0, swdn, swup0, swup, ok_ade, ok_aie, tau_inca, piz_inca, cg_inca, topswad_inca, solswad_inca, topswad0_inca, solswad0_inca, topsw_inca, topsw0_inca, solsw_inca, solsw0_inca, cldtaupi, topswai_inca, solswai_inca)


    USE MODULES:

    arborescence - racine / index

    READ_ECMWF

    SUBROUTINE READ_ECMWF (timestep,unc10m,vnc10m,ntimef)


    USE MODULE:

    CALL SUBROUTINE :
    • CORRECTBID_INCA (LMDZ)

    arborescence - racine / index
    nudgeecmwf

    READ_ECMWF_INTERP

    read of ecmwf fields which are already on the dynamical grid
    computation from u,v components of 10m wind speed (zspeed)
    reprojection on physical grid


    SUBROUTINE READ_ECMWF_INTERP (timestep,unc10m,vnc10m,ntimef)


    USE MODULES:

    CALL SUBROUTINE:
    • CORRECTBID_INCA (LMDZ)

    arborescence - racine / index
    nudgeecmwf_interp

    SAD_INTERP

    Interpolate sulfate data from CMIP 5 on model time and on pressure levels
    Author: R.Valorso


    SUBROUTINE SAD_INTERP (calday, pmid)


    USE MODULES:

    CALL SUBROUTINE:

    arborescence - racine / index
    chemhook_begin

    SAD_INTI

    Sulfate data initialize

    SUBROUTINE SAD_INTI (filename)


    USE MODULES:

    arborescence - racine / index
    chemini

    SAD_READ

    Read sulfate data from CMIP 5
    Author: R.Valorso


    SUBROUTINE SAD_READ (calday)


    USE MODULES:

    CALL SUBROUTINE:

    arborescence - racine / index
    chemhook_begin

    SATELLITE_OUT

    SUBROUTINE SATELLITE_OUT (delt)


    USE MODULES:


    CALL SUBROUTINE:

    SEASALTAERRXT

    Reaction rate on seasalt aerosols.
    Didier Hauglustaine, 2010


    SUBROUTINE SEASALTSOURCEAERRXT (temp , pmid , ps , relhum , mmr , m , dgno2 , dgno3 , dgnh3 , dgn2o5 , dghno3 , dgo3 , dgho2 , dgso2 , rxt)


    USE MODULES:

    SEASALTSOURCE

    describe source flux of sea salt aerosol mass and number flux as a function of wind speed for two aerosol modes: coarse soluble and accumulation soluble

    method
    Tabulated mass and number fluxes following Monahan 86 and Smith&Harrison 98 for two aerosol modes; the fluxes are interpolated according to actual wind speed; sea salt mass and number fluxes were fitted to two lognormal distributions following work published by Guelle et al. (2001) JGR 106, pp. 27509-27524 who used rather bins for computation of the emission fluxes. The parameterisation is sensitive to the choice of the sigma of the size distribution with regard to the number fluxes.

    number1 and mass1 fluxes are going into the accumulation mode number2 and mass2 fluxes are going into the coarse mode

    author: Michael Schulz (LSCE Saclay) - June 2002


    SUBROUTINE SEASALTSOURCE (delt)


    USE MODULES:
    • SPECIES_NAMES (created by INCA pre processor)
    • AEROSOL_METEO, ONLY: seawind, landmask
    • SFLX, ONLY: eflux
    • INCA_DIM

    SEDIMENT_IMP

    Author: Olivier Boucher
    Purpose: sedimentation - calculation of sedimentation velocities
    Interface:
    input
    tr_seri tracer mixing ratios [kg/kg]
    from aerosol modules md #or mass median dimater [m]
    ztempc surface air temperature [°C]
    rop particle density
    src sigmaln
    variables saved
    entered input fields read flag
    local variables
    ztm1 tracer mixing ratio including tendency
    slinnfac factor to convert single diameter stokes velocity to distribution integrated sink velocity
    vt sedimentation velocity of particle ensemble
    output
    sflx sedimentation of tracer [kg m-2 s-1]
    tr_seri tracer #/mass mixing ratio
    method:
    returns the changed tracer mixing ratio
    expects that the aerosol tracers are in the tracer fields
    in the order explained in the aerosol module
    Loop is done per aerosol mode, which shall be affected by sedimentation
    Modes treated must be behind each other in the tracer field and are identified by mode names such as cimode, csmode ...


    SUBROUTINE SEDIMENT_IMP (tr_seri)


    USE MODULES:
    • CHEM_CONS, ONLY: gravit
    • SFLX, ONLY: sflux
    • AEROSOL_METEO, ONLY: zvis, zlair, zdp1, zdens
    • AEROSOL_MOD, ONLY: masslindex, numberindex, srcsigma, srcsigmaln, nmodes, trmx, trnx
    • AEROSOL_PROGNOS, ONLY: mdw, ropx
    • INCA_DIM
    • SPECIES_NAMES (created by INCA pre processor)

    SEDIMENT_EXP

    Author: Michael Schulz
    Laboratoire des Sciences du Climat et de l'Environnement / Saclay
    9. June 2002
    Purpose: sedimentation - calculation of sedimentation velocities
    Interface:
    input
    delt time step duration
    tr_seri tracer mixing ratios [kg/kg]
    from aerosol modules md #or mass median dimater [m]
    ztempc surface air temperature [°C]
    rop particle density
    srcsigmaln
    variables saved
    entered input fields read flag
    local variables
    ztm1 tracer mixing ratio including tendency
    slinnfac factor to convert single diameter stokes velocity to distribution integrated sink velocity
    zflux sedimentation flux from above
    zsedl fraction of box sedimenting
    vt sedimentation velocity of particle ensemble
    output
    sflux sedimentation of tracer
    [kg m-2 s-1] tr_seri tracer #/mass mixing ratio
    Method:
    returns the changed tracer mixing ratio
    expects that the aerosol tracers are in the tracer fields
    in the order explained in the aerosol module
    Loop is done per aerosol mode, which shall be affected by sedimentation
    Modes treated must be "behind" each other in the tracer field and are identified by mode names such as cimode, csmode ...


    SUBROUTINE SEDIMENT_EXP (delt, tr_seri)


    USE MODULES:
    • CHEM_CONS, ONLY: gravit
    • SFLX, ONLY: sflux
    • AEROSOL_METEO, ONLY: zvis, zlair, zdp1, zdens
    • AEROSOL_MOD, ONLY: masslindex, numberindex, srcsigma, srcsigmaln, nmodes, trmx, trnx
    • AEROSOL_PROGNOS, ONLY: mdw, ropx
    • INCA_DIM
    • SPECIES_NAMES (created by INCA pre processor)

    SETCOL

    Set the column densities
    author: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, 1999.


    SUBROUTINE SETCOL (col_dens , vmr , invariants , pdel)


    USE MODULES:

    SETEXT_PLANES

    For this latitude slice:
    - Form the no production from lighting
    - Form the no production from airplanes

    author: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, 1999.


    SUBROUTINE SETEXT_PLANES (calday , extfrc , lat , zmid , area , cldtop , vmr , tfld , col_dens , zen_angle , invariants )


    USE MODULES:

    SETHET

    In-cloud and below-cloud scavenging of soluble species.

    authors: Xue-Xi Tie, NCAR, 1998. Didier Hauglustaine, IPSL, 2001. Didier Hauglustaine, IPSL, 05-2002.


    SUBROUTINE SETHET (het_rates , press , pdel , lat , zmid , tfld , delt , xhnm , flxr , flxs , flxupd , cldtop , cldbot , cldfr , index , qin)


    USE MODULES:

    SETINV

    Set the invariant densities (molecules/cm**3)
    author: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, 1999.


    SUBROUTINE SETINV (invariants, tfld, h2ovmr, pmid )


    USE MODULES:

    SET_GRP_RATIOS

    Set the group member partitioning

    author: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, 1999.


    SUBROUTINE SET_GRP_RATIOS (grp_ratios, rxt, photo, vmr, mmr, nas, mbar, invariants)


    USE MODULES:

    SET_UB_COL

    Set the column densities at the upper boundary
    author: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, 1999.


    SUBROUTINE SET_UB_COL (col_dens, vmr, invariants, pdel)


    USE MODULES:

    SFLX_INTI

    Read the emission flux datasets
    author: Didier Hauglustaine, IPSL, 1999.


    SUBROUTINE SFLX_INTI (filename)


    USE MODULES

    S04AERRXT

    Reaction rate on sulfate aerosols.
    Didier Hauglustaine, 2010


    SUBROUTINE SO4AERRXT (temp , pmid , ps , relhum , mmr , m , dgno2 , dgno3 , dgnh3 , dgn2o5 , dghno3 , dgo3 , dgho2 , dgso2 , rxt)


    USE MODULES

    STATTROP

    programmed by Dominik Brunner V1.0 Aug 2000
    built upon routine stattrop by Peter van Velthoven, KNMI, The Netherlands and on the ECHAM4/CHEM routine xttphwmo by Thomas Reichle, Christine Land, B. Steil and R. Hein, DLR

    input : p, t real(nlev)
    input : nlev real
    output: ptropd real
    output: itropd integer

    purpose:
    stattrop computes the pressure (Pa) at the thermal (static) tropopause (TP) for a 1D column (sounding) of pressures and temperatures following the definition of the height of the tropopause as postulated by WMO (1957).

    ATTENTION: In the current formulation of the program the first level (index 1) must be at the top of the atmosphere and the last level (index nlev) at the surface

    interface:
    call stattrop(pfull, tfull, nlev, ptropd, itropd)
    - Input
    nlev : number of vertical levels
    pfull: pressure in 1D column at nlev full levels (layers)
    tfull: temperature in 1D column at nlev full levels
    - Output
    ptropd: height of the tropopause in Pa
    itropd: index of layer containing the tropopause

    methods:
    - Lapse rate gamma = -dT/dz
    Using the hydrostatic approximation

    dz = -dp/(g*rho) = -dp/p * R/g * T = -dlnp * R/g * T

    we get -dT/dz = dT/T * g/R *1/dlnp = dlnT/dlnp

    - Variables are assumed to vary linearly in log(pressure)
    - The tropopause is the lowest level above 450 hPa fullfilling the WMO criterium. If ptropd is < 85 hPa it is set to 85 hPa. If no tropopause is found ptropd is set to -999.>
    references:
    - WMO (1992): International meteorological vocabulary, Genf, 784pp.:

    1. The first tropopause is defined as the lowest level at which the lapse rate decreases to 2 deg C per kilometer or less, provided also the average lapse rate between this level and all higher levels within 2 kilometers does not exceed 2 deg C

    - Randel WJ, Wu F, Gaffen DJ, Interannual variability of the tropical tropopause derived from radiosonde data and NCEP reanalyses, JOURNAL OF GEOPHYSICAL RESEARCH, 105, 15509-15523, 2000.

    The following webpage clearifies the calculation of the tropopause in the NCEP reanalysis: http://dss.ucar.edu/pub/reanalysis/FAQ.html

    For comparison NCEP reanalysis tropopause pressures can be obtained from http://www.cdc.noaa.gov/cdc/reanalysis/reanalysis.shtml


    SUBROUTINE STATTROP (pfull, tfull, nlev, ptropd, itropd)

    STRATORXT

    Reaction rate on stratospheric aerosols and PSCs.
    Didier Hauglustaine, 2001


    SUBROUTINE STRATORXT (temp , pmid , ps , vmr , m , rxt , invariants , zen_angle)


    USE MODULE:

    CALL SUBROUTINE:

    SULF_INTERP

    Interpolate SO4 on model time
    author: Didier Hauglustaine, IPSL, 2000.


    SUBROUTINE SULF_INTERP (calday, pmid)


    USE MODULE:

    CALL SUBROUTINE:

    SULF_INTI

    SULFATE climatologies initialize
    author: Didier Hauglustaine, IPSL, 2000.


    SUBROUTINE SULF_INTI (filename)


    USE MODULES :

    SULF_READ

    Read SO4 distributions
    author: Didier Hauglustaine, IPSL, 2000.


    SUBROUTINE SULF_READ (calday)


    USE MODULE:

    CALL SUBROUTINE:

    SUPHEL_I

    SUBROUTINE SUPHEL_I


    USE MODULE:

    SURF_CHEM_ATM

    SUBROUTINE SURF_CHEM_ATM (pctsrf, fraction_landuse>)


    USE MODULES :

    CALL SUBROUTINES:

    SURF_WEIGHTEDFLX

    SUBROUTINE SURF_WEIGHTEDFLX ()


    USE MODULES:

    SWATHPOLDER

    Authors:François-Marie Breon ; Olivier Boucher

    SUBROUTINE SWATHPOLDER (annee, mois, jour, heure, pdtphys, rlon, rlat, masque)


    USE MODULES:
    • INCA_DIM

    SW_INCA

    PURPOSE: This routine computes the shortwave radiation fluxes in two spectral intervals following Fouquart and Bonnel (1980).
    METHOD:
    1) Computes absorber amounts (SWU)
    2) Computes fluxes in 1st spectral interval (SW1S)
    3) Computes fluxes in 2nd spectral interval (SW2S)
    REFERENCE: See radiation's part of the ECMWF research department documentation, and Fouquart and Bonnel (1980)
    Author: Jean_Jacques Morcrette


    SUBROUTINE SW_INCA (kdlon, kflev, PSCT, PRMU0, PFRAC, PPMB, PDP, PPSOL, PALBD, PALBP, PTAVE, PWV, PQS, POZON, PAER, PCLDSW, PTAU, POMEGA, PCG, PHEAT, PHEAT0, PALBPLA, PTOPSW, PSOLSW, PTOPSW0, PSOLSW0, ZFSUP, ZFSDN, ZFSUP0, ZFSDN0, tauinca, pizinca, cginca, PTAUA, POMEGAA, PTOPSWADINCA, PSOLSWADINCA, PTOPSWAD0INCA, PSOLSWAIINCA, PTOPSWINCA, PTOPSW0INCA, PSOLSWINCA, PSOLSW0INCA, ok_ade, ok_aie, ZCLEAR)


    USE MODULES

    TAUCALC

    calculates aerosol optical thickness per aerosol species as well as the sum of all species and the angstroem component
    uses precalculated tables of specific mass extinction coefficient (Sext) for five aerosol species:
    dust, sea salt, BC, POMM and sulfate
    tables contain Sext as a function of lambda, sigma, nmd for lognormal distributions
    (mie calculation code from Tanguy Claquin, tables produced by Yves Balkanski Sep 2002) author: ms (LSCE) 02-sep-2002


    SUBROUTINE TAUCALC (tr_seri,delt,area,rh)


    USE MODULES:

    CALL SUBROUTINE:

    TBUDGET

    provides a budget for the total model domain

    to be invoked at every time step, (otherwise fluxes would need to be accumulated in between) at the end of phytrac, after the new tracer mass mixing ratio has been recomputed, attention, when are eflux and dflux initialised -- are they still there when this routine is called

    author: Michael Schulz, LSCE, 08.10.2001


    SUBROUTINE TBUDGET (area, delt, nstep, tr_seri, out)


    USE MODULES:
    • CHEM_TRACNM, ONLY: solsym
    • SFLX, ONLY: eflux, sflux, dflux, wflux, eflux_alt, wcflux, wsflux
    • AEROSOL_METEO, ONLY: airm
    • AEROSOL_MOD, ONLY: masslindex, numberindex, trmx, trnx, nmodes, ntr
    • AEROSOL_DIAG, ONLY: oldtm, newtm, sources, sinks, bsflux, bdflux, beflux, beaflux, bwflux, bwsflux, bwcflux
    • INCA_DIM
    • PRINT_INCA

    TROE

    Calculate troe rate
    author: Stacy Walters, NCAR, 1998.


    SUBROUTINE TROE (rate , m , factor , ko , kinf )


    USE MODULE:
    • INCA_DIM

    T_INT

    Interpolate for temperature on 500 and 200mb surfaces


    SUBROUTINE T_INT (p, t, t500, t200)


    USRRXT

    Set the user specified reaction rates
    IMPORTANT: MAKE SURE REACTIONS ARE EXACTLY IN THE ORDER AS THE INPUT FILE SPECIAL REACTIONS AND AT THE TOP OF REACTION LIST IN INPUT FILE.

    author: Didier Hauglustaine and Stacy Walters, 2000.


    SUBROUTINE USRRXT (rxt , temp , invariants , relhum , ps , pmid , mmr , m , lat , zen_angle , vmr )


    USE MODULES:

    CALL SUBBROUTINES:

    VMR2MMR

    Xfrom from mass to volume mixing ratio

    author: Stacy Walters, NCAR, 1998.
    Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, 1999.


    if GRPCNT == 0SUBROUTINE VMR2MMR (vmr, mmr, mbar)
    if GRPCNT != 0SUBROUTINE VMR2MMR (vmr, mmr, nas, grp_ratios, mbar)



    USE MODULES:
    • SPECIES_NAMES (created by Inca pre processor)
    • INCA_DIM
    • CHEM_MODS, ONLY: adv_mass, nadv_mass

    WETDEP

    bug removed by Yves B. Nov. 02

    SUBROUTINE WETDEP (delt, tr_seri, area, pdel, flxrcv, flxrst, flxscv, flxsst, flxupd, cldtop, cldbot, zma)


    USE MODULES:

    WETDEPST

    SUBROUTINE WETDEPST (delt, tr_seri, area, pdel, flxrst, flxsst, zma)


    USE MODULES:

    WINDSTAT

    SUBROUTINE WINDSTAT (delt, area)


    USE MODULES:

    WRITE_DIAGNOS

    SUBROUTINE WRITE_DIAGNOS


    USE MODULES:

     

     

     
               © Laboratoire des Sciences du Climat et de l'Environnement