List routines by category:
Atmospheric Sciences |
Benchmarking |
Color |
Date/Time |
Doc |
File & I/O |
BPCH Format |
Scientific Data Formats |
GAMAP Examples |
GAMAP Internals |
GAMAP Utilities |
GAMAP Data Manipulation |
GAMAP Models &
Grids |
GAMAP Plotting |
General |
Graphics |
Math & Units |
Plotting |
Regridding |
Strings |
Structures |
Time Series
List routines by alphabetical order:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
NAME: ADD_DATA PURPOSE: Add a variable to a data array and its header, units, cfact, and mcode fields. For use with CHEM1D. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: ADD_DATA,data,header,units,cfact,mcode, $ newdat,newhead,newunit,newfact,newcode [,keywords] INPUTS: DATA --> the array containing all the data HEADER --> string vector of variable names UNITS --> string vector of variable units (maybe undefined) CFACT --> float vector of conversion factors (maybe undefined) MCODE --> float vector of missing value codes (maybe undefined) NEWDATA --> data vector containing new variable NEWHEADER --> name of new variable NEWUNIT --> physical unit of new variable (may be omitted) NEWFACT --> conversion factor of new variable (may be omitted) NEWCODE --> missing value code for new variable (may be omitted) KEYWORD PARAMETERS: /INFO --> prints number of variables (elements of HEADER) after merging the new column with the old array /TRANSPOSE --> NEWDAT is being transposed before merging it with DATA /FIRST --> add variable at first position rather than last OUTPUTS: DATA, HEADER, UNITS, CFACT, MCODE will contain the extra data SUBROUTINES: None REQUIREMENTS: None NOTES: None EXAMPLE: suppose DATA is a 3x10 array, and HEADER contains the names A, B, and C. Then ADD_DATA,DATA,HEADER,DUMMY,DUMMY,DUMMY,findgen(10),'COUNT' will add the variable COUNT to the dataset and the name to HEADER. A more realistic example: ADD_DATA,DATA,HEADER,UNITS,CFACT,MCODE, $ NEWDAT,'SATURATION_PRESSURE','mbar',1.0,-999.99 MODIFICATION HISTORY: mgs, 05 Nov 1997: VERSION 1.00 extracted from CREATE_MASTER.PRO, added flexibility for optional parameters mgs, 06 Nov 1997: - added FIRST keyword bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/add_data.pro)
NAME: AIRDENS (function) PURPOSE: Compute air mass density for a given pressure and temperature. If the temperature is not provided, a temperature is estimated using the US Standard atmosphere. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: idens = AIRDENS(p [,T]) INPUTS: P -> pressure in hPa (mbar) T -> temperature in K KEYWORD PARAMETERS: HELP -> print help information OUTPUTS: The air mass density in molec/cm^3. The result type will match the type and array dimensions of p unless p is a scalar and T an array. SUBROUTINES: External Subroutines Required: =========================================== USSA_ALT (function) USSA_TEMP (function) REQUIREMENTS: None NOTES: None EXAMPLES: (1) PRINT, AIRDENS( 1013.25, 273.15 ) 2.69000e+19 ; Prints air density at std temperature & pressure (2) P = FINDGEN(5)*100+500 PRINT,AIRDENS(P,T) ; T undefined ! 1.44840e+19 1.67414e+19 1.89029e+19 2.10104e+19 2.30998e+19 PRINT, T 250.334 259.894 268.538 276.117 282.534 ; Prints air density w/ undefined temperature ; Temperature profile from the US Std atmosphere ; will be returned. (3) PRINT,AIRDENS(800.,T) ; T from previous calculation 2.31744e+19 2.23218e+19 2.16033e+19 2.10104e+19 2.05332e+19 ; Use T from previous example and print ; air density at 800 hPa MODIFICATION HISTORY: mgs, 12 Nov 1998: VERSION 1.00 bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/airdens.pro)
NAME: E_H2O PURPOSE: Calculate water vapour pressure for a given temperature CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = E_H2O( TEMPERATURE [,/WATER,/ICE,minval=minval] ) INPUTS: TEMPERATURE --> dew or frostpoint reading in K. If you supply the dry air temperature (or static air temperature), you will get a value for the water vapor saturation pressure. KEYWORD PARAMETERS: /WATER --> interprete temperature as dewpoint (default) /ICE --> interpret temperature as frostpoint MINVAL -> minimum valid data value (default -1.0E30) OUTPUTS: RESULT -> The water vapour pressure [hPa] SUBROUTINES: None REQUIREMENTS: None NOTES: The algorithm has been taken from the NASA GTE project data description. EXAMPLE: PH2O = E_H2O(266.) ; Calculate water vapor pressure for a ; dewpoint reading of 266 K RH = PH2O/E_H2O(283.) ; Compute relative humidity ; (divide ph2o by saturation pressure of DRY temperature) PRINT,PH2O,RH 3.61742 0.294607 ; Prints values MODIFICATION HISTORY: mgs, 23 Feb 1997: VERSION 1.00 mgs, 03 Aug 1997: split e_h2o and rh, renamed, added template mgs, 23 May 1998: changed default behaviour to set reference temperature to given TD value mgs, 29 Aug 1998: VERSION 2.00 - much simpler and more logical interface - no automatic detection of dew- or frostpoint any longer - can now accomodate arrays bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/e_h2o.pro)
NAME: FORMAT_INP PURPOSE: Display one line of S-type input file for CHEM1D model formatted so that each line contains name, unit, value and scaling factor of 1 species (may help to find errors). CATEGORY: Atmospheric Sciences CALLING SEQUENCE: FORMAT_INP, FILENAME [ , Keywords ] INPUTS: FILENAME -> name of the input file KEYWORD PARAMETERS: OUTFILE -> filename for ASCII file with formatted output (default: FILENAME+'.formatted') SKP1, SKP2, DELIM -> parameters for READDATA routine: number of lines to skip before variable names and delimiter for variable names (defaults: 1, 3, and ' ') LINE -> data line to be displayed (default=1) SIMPLE -> assume no unit and scale factor line, and print dummies instead. Will be automatically set if SKP2 is less than 2. OUTPUTS: Screen output and output to file OUTFILE SUBROUTINES: External Subroutines Required: =============================== READDATA REQUIREMENTS: None NOTES: None EXAMPLE: FORMAT_inp, 'test.inp', LINE=3 will display the third line of a chem1d input file test.inp in a format similar to: NAME UNIT VALUE SCALE O3_COLUMN DU 227.330 2.687e+16 DECLINATION deg -1.634 1.000e+00 PSMB mb 238.434 1.000e+00 ... MODIFICATION HISTORY: mgs, 18 Dec 1997: VERSION 1.00 mgs, 11 Jun 1998: - added SIMPLE and SKP2 keyword mgs, 30 Oct 1998: - bug fix with units and scale - improved formatting for large numbers (allows display of chem1d output files) bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10 - Updated comments
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/format_inp.pro)
NAME: GET_RANGE PURPOSE: Enter the data range into a variable descriptor array CATEGORY: Atmospheric Sciences CALLING SEQUENCE: GET_RANGE,data,vardesc [,minvalid] INPUTS: DATA -> The data array (NLINES, NVARS) VARDESC -> The variable descriptor array (see GTE_VARDESC). Must contain NVARS elements, and a 2-element vector tagged RANGE. These values will be changed. MINVALID -> minimum valid data value to discriminate against missing values etc. Default is -1.0E30. KEYWORD PARAMETERS: none OUTPUTS: None SUBROUTINES: External Subroutines Required =============================== GTE_VARDESC (function) REQUIREMENTS: None NOTES: None EXAMPLE: ; read binary data and retrieve range READ_BDT0001, '~/tmp/*.bdt', DATA, VARDESC GET_RANGE, DATA, VARDESC MODIFICATION HISTORY: mgs, 24 Aug 1998: VERSION 1.00 bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/get_range.pro)
NAME: HYSTAT (function) PURPOSE: Compute atmospheric pressures in hydrostatic equilibrium. This function is adapted from the Harvard photochemical point model (CHEM1D). CATEGORY: Atmospheric Sciences CALLING SEQUENCE: pressure = HYSTAT,alt,temp,psurf,g0,rearth INPUTS: ALT -> Altitude in km. This can be a single value or an array. TEMP -> Temperatures corresponding to the altitudes in ALT PSURF -> A surface pressure value in mbar. Default is 1013.25 mbar. G0 -> acceleration du eto gravity in m/s2. Default is 9.80665 m/s2 . REARTH -> Radius of the earth in km. Default is 6356.77 km. KEYWORD PARAMETERS: none OUTPUTS: None SUBROUTINES: None REQUIREMENTS: None NOTES: None EXAMPLE: ALT = FINDGEN(20) ; create altitude array 0..19 km TEMP = TEMP = 205.+(19-ALT)*4. ; a semi-realistic temperature ; profile PRESS = HYSTAT(ALT,TEMP) ; compute pressures PRINT, PRESS 1013.25 896.496 791.815 698.104 614.349 539.613 473.041 413.843 361.298 314.745 273.581 237.254 205.261 177.146 152.492 130.924 112.098 95.7080 81.4736 69.1443 MODIFICATION HISTORY: mgs, 21 Aug 1998: VERSION 1.00 bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10 - Updated comments
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/hystat.pro)
NAME: KNMHC PURPOSE: Returns an array of reaction rates for various non-methane hydrocarbon reactions as a function of temperature and pressure. NOTE: Reaction rates may need updating to the latest JPL dataset. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = KNMHC( T, P [, Keywords ] ) INPUTS: T -> Temperature in [K]. P -> Pressure in [hPa]. KEYWORD PARAMETERS: NAMES -> Returns to the calling program a list of the names for the various chemical species OUTPUTS: RESULT -> An array of rate constants corresponding to the species contained in NAMES. SUBROUTINES: External Subroutines Required: ================================ KTROE (function) REQUIREMENTS: None NOTES: (1) This should probably be rewritten to return a structure. (2) Definitely needs updating of rate constants. EXAMPLE: RESULT = KNMHC( 300, 1000, NAMES=NAMES ) PRINT, NAMES CO CH4 C2H2 C2H4 C2H6 C3H6 C3H8 i-BUT CH3CL PRINT, RESULT 2.40000e-13 6.60071e-15 7.55980e-13 8.14644e-12 2.45774e-13 5.08118e-11 1.10803e-12 2.34511e-12 3.76143e-14 ; Compute rate constants for 300K and 1000hPa pressure MODIFICATION HISTORY: mgs, 1998? INITIAL VERSION bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10 - added std doc header - updated comments, cosmetic changes
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/knmhc.pro)
NAME: KTROE PURPOSE: compute reaction rate coefficient for a 3rd order reaction using Troe's formula as given in JPL97-4 CATEGORY: Atmospheric Sciences CALLING SEQUENCE: k=KTROE(T,p,k0300,n,kinf300,m [,keywords]) INPUTS: T --> temperature in K p --> pressure in mbars k0300, n --> constants to get k0(T) { see JPL97,table 2 } kinf300, m --> constants to get kinf(T) { see JPL97,table 2 } KEYWORD PARAMETERS: k0, kinf, fc --> will return individual terms of the Troe expression OUTPUTS: K -> a rate coefficient SUBROUTINES: None REQUIREMENTS: None NOTES: no error checking is done except for the correct number of arguments EXAMPLE: MODIFICATION HISTORY: mgs, 20 Mar 1998: VERSION 1.00 bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/ktroe.pro)
NAME: MODEL2AIRNUMDENS PURPOSE: Returns the monthly averaged Air Number Density in each grid box for one GEOS-Chem model. This let you get the Number Density from the average monthly pressure of the model. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: airNumDens = Model2AirNumDens( Model [, tau] ) INPUTS: Model : string for model name ("GEOS4_30L", "GEOS5_47L", ...) OPTIONAL INPUTS: Tau : tau0 for which Air Numb density is look for. The year does not matter, the month value is extracted. Default is 0D0, which selects January. OUTPUTS: A 3D array (same size as the model 3D grid) with Air Density Number in [molec/cm3]. PROCEDURE: GetModelAndGridInfo, DataInfo, Model, Grid airnumden = Model2AirNumDens( CTM_NamExt( Model ), DataInfo.tau0 ) MODIFICATION HISTORY: Wed Sep 2 10:54:41 2009, Philippe Le SagerGamap v2.13 - Init version bmy, 30 Nov 2010: GAMAP VERSION 2.15 - Updated comments and category in header
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/model2airnumdens.pro)
NAME: NUMDEN PURPOSE: Calculates the number density of air for a given temperature and pressure. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = NUMDEN( T, P, /DOUBLE ) INPUTS: T -> Temperature (or vector of temperatures) in K. P -> Pressure (or vector of pressures) in hPa. Default is 1000 hPa. KEYWORD PARAMETERS: /DOUBLE -> Set this switch to return the number density in double precision. Default is to return the number density in single precision. OUTPUTS: RESULT -> Number density of air in molec/cm3. If T and P are vectors, then RESULT will be a vector of number densities SUBROUTINES: None REQUIREMENTS: None NOTES: None EXAMPLES: (1) PRINT, NUMDEN( 298.0, 1013.0 ) 2.46206e+19 ; Prints the number density of air ; at 298K and 1013 hPa. (2) PRINT, NUMDEN( 298.0, 1013.0, /DOUBLE ) 2.4620635e+19 ; Prints the number density of air ; at 298K and ; 1013 hPa. Computation is done in double precision. MODIFICATION HISTORY: dbm, 30 Jul 2007: GAMAP VERSION 2.10 phs, 1 Sep 2009: GAMAP VERSION 2.13 - let you pass array
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/numden.pro)
NAME: PEDGE (function) PURPOSE: Given the pressures at the centers of a model grid, returns the pressures at the edges of the grid. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = PEDGE( MID, PSURF ) INPUTS: MID -> Vector of pressure centers that defines the grid. MID will be sorted in descending order. PSURF -> Surface pressure (which also corresponds to the lowest pressure edge). Default is 1000.0 (mb). KEYWORD PARAMETERS: None OUTPUTS: RESULT -> The vector of pressures at level edges [hPa] SUBROUTINES: None REQUIREMENTS: None NOTES: The relationship between sigma centers and sigma edges is as follows: MID[N] = ( EDGE[N] + EDGE[N+1] ) / 2 or conversely: EDGE[N+1] = ( 2 * MID[N] ) - EDGE[N] where EDGE[N] is the lower pressure edge, and EDGE[N+1] is the upper sigma edge of the box with center MID[N]. The boundary condition PE[0] = PSURF is necessary to start the iteration. EXAMPLE: RESULT = PEDGE( [ 900, 700, 500 ], 1000.0 ) PRINT, RESULT 1000.00 800.000 600.000 400.000 ; Prints edges between levels 900, 700, 500 hPa ; with the surface pressure being 1000 hPa. MODIFICATION HISTORY: bmy, 17 Jun 1999: VERSION 1.00 bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/pedge.pro)
NAME: PHYSCONST PURPOSE: Creates a system variable named !PHYSCONST which contains various physical constants. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: PHYSCONST INPUTS: None KEYWORD PARAMETERS: None OUTPUTS: None SUBROUTINES: None REQUIREMENTS: NOTES: The !PHYSCONST system variable contains both the short names (e.g. C) and long names (e.g. SPEED_OF_LIGHT) for the various physical constatnts. EXAMPLE: PHYSCONST HELP, !PHYSCONST, /STRU ** Structure <108c0378>, 18 tags, length=144, data length=144, refs=2: C DOUBLE 2.9979000e+08 SPEED_OF_LIGHT DOUBLE 2.9979000e+08 H DOUBLE 6.6260000e-34 PLANCK DOUBLE 6.6260000e-34 E DOUBLE 1.6020000e-19 ELEMENTARY_CHARGE DOUBLE 1.6020000e-19 ME DOUBLE 9.1090000e-31 ELECTRON_MASS DOUBLE 9.1090000e-31 NA DOUBLE 6.0220000e+23 AVOGADRO DOUBLE 6.0220000e+23 R DOUBLE 8.3140000 MOLAR_GAS DOUBLE 8.3140000 K DOUBLE 1.3810000e-23 BOLTZMANN DOUBLE 1.3810000e-23 SIGMA DOUBLE 5.6710000e-08 STEFAN_BOLTZMANN DOUBLE 5.6710000e-08 G DOUBLE 9.8066500 ACCELERATION_DUE_TO_GRAVITY DOUBLE 9.8066500 MODIFICATION HISTORY: bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10 - Updated comments, cosmetic changes
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/physconst.pro)
NAME: PMID (function) PURPOSE: Given the pressures at the vertical edges of a model grid, return the pressures at the centers of the grid. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = PMID( EDGE ) INPUTS: EDGE -> Vector of pressures or pressure-altitudes at the edges of the model grid [hPa] KEYWORD PARAMETERS: OUTPUTS: RESULT -> The vector of pressures at the grid centers [hPa] SUBROUTINES: None REQUIREMENTS: None NOTES: The relationship between sigma centers and sigma edges is as follows: MID[N] = ( EDGE[N] + EDGE[N+1] ) / 2.0 where EDGE[N] is the lower sigma edge, and EDGE[N+1] is the upper sigma edge of the box with center MID[N]. EXAMPLE: Result = PMID( [ 1000.0, 800.0, 600.0, 400.0 ] ) print, Result 900.000 700.000 500.000 MODIFICATION HISTORY: bmy, 17 Jun 1999: VERSION 1.00 bmy, 22 Oct 1999: VERSION 1.44 - Now use SHIFT to compute the average between successive edges bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/pmid.pro)
NAME: READ_SONDE PURPOSE: Read climatological ozone sonde data as compiled by Jennifer A. Logan at Harvard University. If successful, the procedure returns a structure with all information from a sondeXXX.* file. Ozone concentrations are automatically converted to ppbv. The data can be downloaded via ftp from io.harvard.edu path= pub/exchange/sonde. Please read the README files! CATEGORY: Atmospheric Sciences, File & I/O CALLING SEQUENCE: READ_SONDE,filename,data INPUTS: filename -> Name of the file containing the sonde data. This parameter can contain wildcards (*,?) in which case a file selection dialog will be displayed. If filename is a variable, it will be replaced by the actual filename that was opened. KEYWORD PARAMETERS: MBAR -> return ozone concentrations in mbar rather than ppbv STATIONS -> Can be used either as input or output for a list of station codes, locations and names as retrieved with procedure read_sondestations. STATIONS must be specified (or is returned) as an array of structures. OUTPUTS: DATA -> A structure containing the following fields: TITLE STRING 'Ozone sonde data' STATION STRINGSTATIONCODE INT TIMERANGE STRING
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/read_sonde.pro)
NAME: READ_SONDESTATIONS PURPOSE: Retrieve station codes and geographical locations for ozone sonding stations as listed in file station.codes from Jennifer A. Logan's ozone sonde climatology. This routine is called from procedure READ_SONDE, and only needs to be called explicitely if the station.codes file resides neither in the current directory nor the directory of the sonde data files. The procedure will read the file station.codes once then store the information in a common block for later use. CATEGORY: Atmospheric Sciences, File & I/O CALLING SEQUENCE: READ_SONDESTATIONS,stations [,filename] INPUTS: FILENAME (optional) -> if given, it specifies the path and filename of the file that is normally called station.codes. FILENAME may contain wildcards (*,?) in which case a file selector dialog is displayed. KEYWORD PARAMETERS: None OUTPUTS: STATIONS -> An array with structures containing the stations codes (integer), latitude, longitude, altitude (float), amd name (string). SUBROUTINES: Uses OPEN_FILE and EXTRACT_FILENAME (used in OPEN_FILE) REQUIREMENTS: None NOTES: None EXAMPLE: read_sondestations,stations,'station.codes' ; if called for the first time, reads file station.codes ; and returns information for all stations in stations. ; NOTE: In this case, the filename argument could have been ; omitted. MODIFICATION HISTORY: mgs, 02 Nov 1998: VERSION 1.00 bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/read_sondestations.pro)
NAME: RH PURPOSE: Calculates relative humidity from temperature and dew/frostpoint CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = RH( DEWPOINT, TEMPERATURE [,/WATER] [,/ICE] ) INPUTS: DEWPOINT --> dewpoint (or frostpoint) temperature [K] TEMPERATURE --> dry (or static) air temperature [K] KEYWORD PARAMETERS: /WATER --> always calculate dewpoint temperature /ICE --> always calculate frostpoint temperature OUTPUTS: RESULT -> Relative humidity [%] SUBROUTINES: External Subroutines Required: =============================== E_H2O (function) REQUIREMENTS: None NOTES: None EXAMPLE: PRINT, RH( 266., 278. ) 41.4736 ; Prints the RH for dewpoint=266K and temp=278K. MODIFICATION HISTORY: mgs, 23 Feb 1997: VERSION 1.00 mgs, 03 Aug 1997: split e_h2o and rh, renamed, added template bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/rh.pro)
NAME: SCHMIDT PURPOSE: Computes the SCHMIDT number for a given species. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = SCHMIDT( TEMPERATURE, XMV, SEAWATER ) INPUTS: TEMPERATURE -> Temperature in Kelvin. XMV -> Molar volume of species SEAWATER -> set =1 if it is seawater, set =0 otherwise KEYWORD PARAMETERS: None OUTPUTS: RESULT -> The Schmidt number SUBROUTINES: None REQUIREMENTS: None NOTES: None EXAMPLE: PRINT, SCHMIDT( 278, 0.75, 1 ) 165.55126 ; Compute Schmidt # for seawater MODIFICATION HISTORY: pip & bmy, 27 Jun 2003: VERSION 1.00 - Written by Paul Palmer bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/schmidt.pro)
NAME: USSA_ALT (function) PURPOSE: Return the altitude for a given pressure corresponding to the US Standard Atmosphere. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: ALT = USSA_ALT( PRESSURE ) INPUTS: PRESSURE -> a floating point value, variable or vector for which temperatures shall be returned. Pressure must correspond to an altitude of less than 100 km. KEYWORD PARAMETERS: OUTPUTS: ALT -> An altitude value or vector [in km] SUBROUTINES: External Subroutines Required: =============================== USSA_PRESS (function) REQUIREMENTS: None NOTES: Computes approx. altitudes (logp fit to US Standard Atmosphere) tested vs. interpolated values, 5th degree polynomial gives good results (ca. 1% for 0-100 km, ca. 0.5% below 30 km) EXAMPLE: PRINT, USSA_ALT( [ 1000, 800, 600, 400, 200] ) 0.106510 1.95628 4.20607 7.16799 11.8405 ; Prints altitudes corresponding to 1000, 800, ; 600, 400, 200 hPa based on the US Std Atmosphere. MODIFICATION HISTORY: bmy, 17 Jun 1998: VERSION 1.00 - removed section of code from CTM_GRID.PRO by mgs bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/ussa_alt.pro)
NAME: USSA_PRESS (function) PURPOSE: Return the pressure for a given altitude corresponding to the US Standard Atmosphere CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = USSA_PRESS( ALTITUDE ) INPUTS: ALTITUDE -> a floating point value, variable or vector for which temperatures shall be returned. Altitude must lie in the range of 0-50 km. KEYWORD PARAMETERS: None OUTPUTS: RESULT -> A pressure value or vector [in mbar] SUBROUTINES: None REQUIREMENTS: None NOTES: The function evaluates a 5th order polynomial which had been fitted to USSA data from 0-100 km. Accuracy is on the order of 0.5% below 30 km, and 1% above. EXAMPLE: PRINT, USSA_PRESS( [ 0, 10, 20, 30 ] ) 998.965 264.659 55.2812 11.9484 ; Returns pressures corresponding to 0, 10, 20, ; and 30 km, as based on the US Std Atmosphere MODIFICATION HISTORY: mgs, 23 May 1998: VERSION 1.00 (designed from USSA_TEMP.PRO) bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/ussa_press.pro)
NAME: USSA_TEMP (function) PURPOSE: Return the temperature for a given altitude corresponding to the US Standard Atmosphere CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = USSA_TEMP( ALTITUDE ) INPUTS: ALTITUDE -> a floating point value, variable or vector for which temperatures shall be returned. Altitude must lie in the range of 0-50 km. KEYWORD PARAMETERS: OUTPUTS: RESULT -> A temperature value or vector [in K] SUBROUTINES: None REQUIREMENTS: None NOTES: The function evaluates a 6th order polynomial which had been fitted to USSA data from 0-50 km. Accuracy is on the order of 2 K below 8 km, and 5 K from 8-50 km. Note that this is less than the actual variation in atmospheric temperatures. USSA_TEMP was designed to assign a temperature value to CTM grid boxes in order to allow conversion from mixing ratios to concentrations and vice versa. EXAMPLE: PRINT, USSA_TEMP( [ 0, 10, 20, 30 ] ) 288.283 226.094 216.860 229.344 ; Returns the temperature [K] at 0, 10, 20, 30 km ; corresponding to the US Standard Atmosphere MODIFICATION HISTORY: mgs, 16 May 1998: VERSION 1.00 bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/ussa_temp.pro)
NAME: ZMID (function) PURPOSE: Given a vector of altitudes at vertical edges of a model grid computes the altitudes at the grid centers. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = ZMID( EDGE ) INPUTS: EDGE -> Vector of altitude edges that defines the grid. EDGE will be sorted in ascending order. KEYWORD PARAMETERS: None OUTPUTS: RESULT -> Altitudes at grid centers [m, km, etc] SUBROUTINES: None REQUIREMENTS: None NOTES: The relationship between altitude centers and edges is: ZMID[N] = ( ZEDGE[N] + ZEDGE[N+1] ) / 2.0 EXAMPLE: PRINT, ZMID( [ 0.0, 2.0, 4.0, 6.0, 8.0 ] ) 1.00000 3.00000 5.00000 7.00000 ; Given the altitude at grid edges at 0, 2, 4, 6, 8 km ; returns the altitude at grid centers. ; MODIFICATION HISTORY: bmy, 21 Jun 1999: VERSION 1.00 bmy, 22 Oct 1999: VERSION 1.44 - Now use SHIFT to compute the average between successive edges bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/zmid.pro)
NAME: ZSTAR (function) PURPOSE: Computes pressure-altitudes from pressures. CATEGORY: Atmospheric Sciences CALLING SEQUENCE: RESULT = ZSTAR( PRESS ) INPUTS: PRESS -> The input pressure value, in [hPa]. PRESS can be either a scalar or a vector. KEYWORD PARAMETERS: None OUTPUTS: RESULT -> Computed pressure altitude(s) [km] SUBROUTINES: None REQUIREMENTS: None NOTES: Pressure-altitude is defined as: Z* = 16 * log10[ 1000 / P(mb) ] which, by the Laws of Logarithms, is equivalent to Z* = 48 - ( 16 * log10[ P(mb) ] ). EXAMPLE: PRINT, ZSTAR( [ 900, 700, 500 ] ) 0.732121 2.47843 4.81648 ; Returns pressure-altitudes at 900, 700, 500 hPa MODIFICATION HISTORY: bmy, 21 Jun 1999: VERSION 1.00 bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
(See /n/home09/ryantosca/IDL/gamap2/atm_sci/zstar.pro)