LMDzt-INCA (Interaction of chemistry and aerosol) | ||
PATH :: home / documentation / Reprobus structure / liste routines |
subroutine analytic_1401(temp,ptot,hnm,ck,vsed,$ k1,k2,k3,k4,k5,k6,k7,k8,k9, $ parthno3,parthno3sl,parth2o,parthcl, $ parthbr, $ surfarealiq,surfareanat,surfareaice, $ ilat,ndrop1,xlatt) USE MODULES:
chem3d_rlong_1401( ilat, daynum, dt, alt, trajlon, trajlat, trajpre, trajtem, irapp, qj1, hc, vsed3d, parth2osed, parthno3sed, surfarealiq, surfareanat, surfareaice, sza3d, o3t, ndrop2D, prodHOBr0, ghgco2v)USE MODULES:
CALL SUBROUTINES:
subroutine chemmain_rlong_1401( vmr, lon, lat, t_seri, pplay, pphi, pphis, presnivs, sh, debut)USE MODULES:
CALL SUBROUTINES:
SUBROUTINE Concatene_Outputsubroutine conserv_1401( qj1, hc )c correction for mass conservation USE MODULES:
subroutine const_1401USE MODULES:
SUBROUTINE DENSITY_1401(WS,WN,TEMP,DENS,ptot,xlatt)c DENSITY OF TERNARY SOLUTION IN G/CM3 C WS ,WN ARE WT FRACTION, C FITTED TO 0.05<WS+WN<0.70 WT FRACTION, BUT EXTRAPOLATES WELL C 185 < T (K) USE MODULES:
subroutine emiclfra(nlon,nlat,niv,p,frclx)subroutine emirock (nlon,nlat,niv,t, p, alt, rocno2, roch2o, rocco, rochcl, ilatr,slat)CALL SUBROUTINES:
SUBROUTINE error(tab)subroutine FDTROPOPAUSE (nx, ny, nz, pmid, temp,itrop)USE MODULES:
CALL SUBROUTINES:
subroutine FDTROPOPAUSE_GLO (nx, ny, nz, pmid, temp,itrop)! Purpose ------- 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/ routine xttphwmo by D. Nodorp, Ch. Land, B. Steil and R. Hein. Programmed by Dominik Brunner, ETHZ, Switzerland V.01, 10 Aug 2000 Modified by Didier Hauglustaine, IPSL, for LMDZ/INCA, Oct 2000. USE MODULES:
CALL SUBROUTINES:
subroutine hetero_1401(aw,temp,ptot,hnm,ck,ws,$ hhcl,hhocl,hhobr,hclono2,hhbr, $ rice,nice,rnats,rnatl,nnats,nnatl, $ aliq,rmean,condliq,lnat,lice, $ k1,k2,k3,k4,k5,k6,k7,k8,k9,wt,xlatt) C ROUTINE TO CALCULATE UPTAKE COEFFICIENTS (GAMMA VALUES). C GAMMA VALUES ARE INDICATED BY VARIABLES WITH PREFIX 'G', FOR EXAMPLE GHOCLHCL IS THE GAMMA VALUE OF HOCL DUE TO REACTION WITH HCL IN THE DROPLETS. C FROM THE GAMMA VALUES, SECOND ORDER RATE CONSTANTS ARE CALCULATED. C THESE HAVE THE PREFIX 'R' AND HAVE UNITS CM3 MOLECULE-1 S-1. FOR EXAMPLE, THE LOSS OF CLNO3 AND HCL DUE TO THE HETEROGENEOUS REACTION C CLNO3+HCL -> CL2+HNO3 IS D(CLNO3)/DT (UNITS MOLECULE CM-3 S-1) =-RCLNO3HCL.[CLNO3].[HCL], cWHERE [CLNO3] AND [HCL] ARE THE ****TOTAL**** AMOUNTS OF THESE SPECIES IN UNITS MOLECULE CM-3. USE MODULES:
SUBROUTINE Init_chem_rep_phys(klon0,klev0)USE MODULES:
SUBROUTINE Init_chem_rep_trac(nbtr0)SUBROUTINE Init_chem_rep_xjour(xjour0)SUBROUTINE init_debutlongsim(pmid,qj1,xjour,debut)USE MODULES:
CALL SUBROUTINES:
SUBROUTINE interp_0D(mode,spc,y,vals)USE MODULES:
CALL SUBROUTINES:
SUBROUTINE interp_AER(filem,file,filep,spc,year,pmid,vals,debut)! Purpose: Interpolation from 2D model grid to LMDZ 3D grid USE MODULES:
CALL SUBROUTINES:
SUBROUTINE interp_F2D(filem,file,filep,spc,year,pmid,vals,debut)! Purpose: Interpolation from 2D model grid to LMDZ 3D grid USE MODULES:
CALL SUBROUTINES:
SUBROUTINE interp_TOM(filem,file,filep,spc,year,pmid,vals,debut)! Purpose: Vertical interpolation from 3D TOM grid to LMDZ 3D grid USE MODULES:
CALL SUBROUTINES:
subroutine jno(cc_no, hnm, nlon, nivbas, o3t, sza, pm, tjno)! parametrisation de la photodissociation de no ! d'apres minschwaner and siskind, a new calculation of nitric oxide photolysis in the stratosphere, mesosphere, and lower thermosphere, j. geophys. res., 98, 20401-20412, 1993 SUBROUTINE minmaxqfi_chimie(iqui,zq,qmin,qmax,comment)USE MODULES:
subroutine phot_1401( pm, ilat, alt, sza, o3t, tj, cc_no, hnm )!calculates photodissociation frequencies (J coefficients) [sec-1] USE MODULES:
CALL SUBROUTINES:
subroutine plumemis (t, p, alt, qj1, xlat, xlon)USE MODULES:
CALL SUBROUTINES:
subroutine plurckpa(p,sza,reffclo3,dilutim,deactim)c calculation of rocket plume chemical parameters USE MODULES:
Subroutine POSITIO(XC,N,X,JX,IER)SUBROUTINE RAD_INTERACTIF(POZON,iof)USE MODULES:
SUBROUTINE read_M2D(file,spc,vals,lat,pre)! Purpose: 2D fields reading (no longitude) USE MODULES:
Subroutine READROCKET(nlon,nlat,niv,alt,fuel,fuel1)CALL SUBROUTINES:
SUBROUTINE read_TOM(file,spc,vals,lon,lat,pre)! Purpose: 3D model files reading USE MODULES:
SUBROUTINE relax_rlong_1401(pmid,qj1,hc,xjour,debut)! Some comments: ! * The list of qj1 (REPROBUS array) index of the species available in forcing file (read using read_forcing(..'F2D'..) is iF2D. ! * qj1(:,:,:,k) is updated if lrelax(k)=.true. So, if this species(k) was available in the forcing file, then qj1 is updated to forcing field. ! If not, it is set to zero (or the initial value of Qdyn if you changed it) USE MODULES:
subroutine total_1401( trajpre, irapp, ilat, hc, hnm, o3t )! calcul de la colonne d ozone [cm-2] USE MODULES:
subroutine sedimentation_1401( trajpre, trajtem, irapp, qj1, vsed3d, parth2osed, parthno3sed, dt,itrop,lat )!calcule les quantites de h2o et hno3 sedimentees USE MODULES:
subroutine stattrop(pfull, tfull, nlev, ptropd, itropd)c programmed by Dominik Brunner V1.0 Aug 2000 c built upon routine stattrop by Peter van Velthoven, KNMI, The Netherlands and on the ECHAM4/ routine xttphwmo by Thomas Reichle, Christine Land, B. Steil and R. Hein, DLR c purpose c ------- c 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). c 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 c interface c --------- c call stattrop(pfull, tfull, nlev, ptropd, itropd) c - Input c nlev : number of vertical levels c pfull: pressure in 1D column at nlev full levels (layers) c tfull: temperature in 1D column at nlev full levels c - Output c ptropd: height of the tropopause in Pa c itropd: index of layer containing the tropopause c c methods c ------- c - Lapse rate gamma = -dT/dz c Using the hydrostatic approximation c c dz = -dp/(g*rho) = -dp/p * R/g * T = -dlnp * R/g * T c c we get -dT/dz = dT/T * g/R *1/dlnp = dlnT/dlnp c c - Variables are assumed to vary linearly in log(pressure) c - The tropopause is the lowest level above 450 hPa fullfilling the WMO criterium. If ptropd is less than 85 hPa it is set to 85 hPa. c If no tropopause is found ptropd is set to -999. c c references c ---------- c - WMO (1992): International meteorological vocabulary, Genf, 784pp.: c c 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 c c - Randel WJ, Wu F, Gaffen DJ, Interannual variability of the tropical tropopause derived from radiosonde data and NCEP reanalyses, c JOURNAL OF GEOPHYSICAL RESEARCH, 105, 15509-15523, 2000. c c The following webpage clearifies the calculation of the tropopause in the NCEP reanalysis: http://dss.ucar.edu/pub/reanalysis/FAQ.html c c For comparison NCEP reanalysis tropopause pressures can be obtained c from http://www.cdc.noaa.gov/cdc/reanalysis/reanalysis.shtml SUBROUTINE test_leap(y,calendar,ndays,months)! Purpose: This function tests if 'y' is a leap year or not. SUBROUTINE get_time(file,year)USE MODULES:
SUBROUTINE weight_fraction_h2so4(trajpre, trajtem, qj1, ndrop1, debut)USE MODULES:
SUBROUTINE YMD2y(YMD,calendar,year,hms)! Purpose: Converts a date (YYYYMMDD format) + a hours hms (hhmmss, optional) into a year (double format). Works for all calendars implemented in test_leap. subroutine zenith2_1401(trajlon, trajlat, irapp, ilat, day, sza )! calcul de l'angle zenithal solaire USE MODULES:
|
|
© Laboratoire des Sciences du Climat et de l'Environnement |