Difference between revisions of "Planeflight diagnostic"

From Geos-chem
Jump to: navigation, search
(Planeflight.dat file)
 
Line 8: Line 8:
  
  
== Overview ==
+
This content has been migrated to the [https://geos-chem.readthedocs.io/en/latest/gcc-guide/07-diagnostics/planeflight.html '''Planeflight diagnostic''' chapter of <tt>geos-chem.readthedocs.io</tt>].
 
+
On this page we provide information about the GEOS-Chem planeflight diagnostic, which saves data to text format.  Please also see [[ObsPack diagnostic|our ''ObsPack diagnostic'' wiki page]] to learn more about a similar diagnostic that archives data to netCDF format.
+
 
+
Sometimes it is necessary to compare GEOS-Chem output against aircraft observations. The plane flight following diagnostic (a.k.a. ND40 diagnostic) allows you to save out GEOS-Chem diagnostic quantities for grid boxes corresponding to aircraft flight tracks. This prevents you from having to save out huge 3-D bpch or netCDF files with lots of species.
+
 
+
== Planeflight.dat file ==
+
 
+
The <tt>Planeflight.dat.YYYYMMDD</tt> files allow you to specify the diagnostic quantities (species, reaction rates, met fields) that you want to print out for a specific longitude, latitude, altitude, and time. A sample <tt>Planeflight.dat.YYYYMMDD</tt> file is given below. Of course if you have lots of flight track data points, your file will be much longer.
+
 
+
If the plane flight following diagnostic is switched on, then it will look for a new <tt>Planeflight.dat.YYYYMMDD</tt> file each day. If a <tt>Planeflight.dat.YYYYMMDD</tt> file is found for a given day, then GEOS-Chem will save out diagnostic quantities along the flight track(s) to the <tt>plane.log.YYYYMMDD</tt> file.
+
 
+
Line numbers are not part of the <tt>Planeflight.dat</tt> file, but are provided for reference.
+
 
+
01: Planeflight.dat -- Input file for planeflight diagnostic
+
02: GCST
+
03: July 2018
+
04: -----------------------------------------------------------
+
05: 9    <-- # of variables to be output (listed below)
+
06: -----------------------------------------------------------
+
07: TRA_001
+
08: TRA_002
+
09: TRA_003
+
11: GMAO_TEMP
+
12: GMAO_ABSH
+
13: GMAO_RELH
+
14: GMAO_IIEV
+
15: GMAO_JJEV
+
16: GMAO_LLEV
+
17: -----------------------------------------------------------
+
18:  Now give the times and locations of the flight
+
19: -----------------------------------------------------------
+
20: Point  Type DD-MM-YYYY HH:MM    LAT    LON ALT/PRE        OBS
+
21:    1  Scrz 30-06-2012 13:53  -46.43  51.85  202.00  1765.030
+
22:    2  Scrz 30-06-2012 13:53  -46.43  51.85  202.00  1765.060
+
23:    3  Sush 30-06-2012 16:25  -54.85  -68.31  32.00  1764.750
+
24:    4  Sush 30-06-2012 16:25  -54.85  -68.31  32.00  1765.610
+
25:    5  Sllb 30-06-2012 17:13  54.95 -112.45  588.00  1891.200
+
26:    6  Sllb 30-06-2012 17:13  54.95 -112.45  588.00  1891.310
+
27: 99999  END  00-00-0000 00:00    0.00    0.00    0.00      0.000
+
 
+
{| border=1 cellspacing=0 cellpadding=5
+
|-bgcolor="#CCCCCC"
+
!bgcolor="#CCCCCC" width="50px"|Line
+
!bgcolor="#CCCCCC" width="950px"|Description
+
 
+
|-valign="top"
+
|1-4
+
|Header lines with comments
+
 
+
|-valign="top"
+
|5
+
|Number of diagnostic quantities to print out.
+
 
+
|-valign="top"
+
|6
+
|Separator line
+
 
+
|-valign="top"
+
|7-16
+
|Here we list the diagnostic quantities that we want to print out at each flight track location. For a description of diagnostic quantities currently supported, please see [[#Diagnostic quantities|the section below]].
+
 
+
|-valign="top"
+
|17-19
+
|Separator Lines
+
 
+
|-valign="top"
+
|20
+
|Comment line which shows you where to line up each column field of the flight track points.
+
 
+
|-valign="top"
+
|21-26
+
|Here we list quantities which define each flight track point. Make sure that each field lines up with the guides in the line above.
+
 
+
{| border=1 cellspacing=0 cellpadding=5
+
|-valign="top" bgcolor="#CCCCCC"
+
!width=100 bgcolor="#CCCCCC"|Column name
+
!bgcolor="#CCCCCC"|Description
+
|-valign="top"
+
|<tt>POINT</tt> || Flight track data point number (used internally for reference)
+
|-valign="top"
+
|<tt>TYPE</tt> || A short string that denotes the aircraft type and flight number
+
 
+
<span style="color:red">'''''IMPORTANT: The planeflight diagnostic will automatically set L=1 if it does not recognize the <tt>TYPE</tt>. Please see [[#Planeflight type|the section below]] for more details.'''''</span>
+
|-valign="top"
+
|<tt>DD-MM-YYYY</tt> || Day, month, and year (GMT date) for each flight track point
+
|-valign="top"
+
|<tt>HH:MM</tt> || Hour and minute (GMT time) for each flight track point
+
|-valign="top"
+
|<tt>LAT</tt> || Latitude (-90 to 90 degrees) for each flight track point
+
|-valign="top"
+
|<tt>LON</tt> || Longitude (-180 to 180 degrees) for each flight track point
+
|-valign="top"
+
|<tt>ALT/PRE</tt> || Pressure in hPa for each flight track point.
+
 
+
<span style="color:green">'''''The planeflight diagnostic allows for altitude [m] in this column to accommodate saving out data for NOAA surface stations, aircraft, and towers. The code in <tt>planeflight_mod.F</tt> checks the <tt>TYPE</tt> string to determine if the values in this column represent altitude or pressure. If the values are altitude they will be converted to pressure.'''''</span>
+
|-valign="top"
+
|<tt>OBS</tt> || Observation value from the flight campaign (OPTIONAL).
+
|}
+
 
+
GEOS-Chem will loop through each of the flight track points listed in <tt>Planeflight.dat.YYYYMMDD</tt> and print out each of the diagnostic quantities. GEOS-Chem will pick the nearest model box to each flight track point for comparison.
+
 
+
Note that it is OK to list flight track points from more than one aircraft in the same <tt>Planeflight.dat.YYYYMMDD</tt> file (as is shown above). However, all flight track points must be listed in increasing order of GMT time or else they will not be interpreted correctly by GEOS-Chem. The maximum number of flight track points allowed is currently set to <tt>MAXPOINTS=100000</tt> in <tt>GeosCore/planeflight_mod.F</tt>.
+
 
+
|-valign="top"
+
|27
+
|Ending line
+
 
+
|}
+
 
+
== Plane.log file ==
+
 
+
Diagnostic output file in ASCII format containing planeflight information scheduled via the [[#Planeflight.dat file|<tt>Planeflight.dat</tt>]] file. This diagnostic is turned on in the [[GEOS-Chem_Input_Files#Planeflight_Menu|Planeflight Menu]] of <tt>input.geos</tt>.
+
 
+
The data in this text file can be read and plotted using GAMAP routines [http://acmg.seas.harvard.edu/gamap/doc/by_alphabet/gamap_c.html#CTM_READ_PLANEFLIGHT <tt>CTM_READ_PLANEFLIGHT</tt>] and [http://acmg.seas.harvard.edu/gamap/doc/by_alphabet/gamap_p.html#PLANE_PLOT <tt>PLANE_PLOT</tt>].
+
 
+
The <tt>plane.log.YYYYMMDD</tt> file is saved out in the format:
+
 
+
POINT    TYPE YYYYMMDD HHMM    LAT    LON  PRESS        OBS    T-IND P-I I-IND J-IND  TRA_001    GMAO_TEMP  ...
+
    1    Scrz 20120630 1353  -46.43  51.85  981.74  1765.030 000061277 002 00047 00012  1.785E-006  2.780E+002  ...
+
    2    Scrz 20120630 1353  -46.43  51.85  981.74  1765.060 000061277 002 00047 00012  1.785E-006  2.780E+002  ...
+
    3    Sush 20120630 1625  -54.85  -68.31  949.77  1764.750 000061281 002 00023 00010  1.784E-006  2.746E+002  ...
+
    4    Sush 20120630 1625  -54.85  -68.31  949.77  1765.610 000061281 002 00023 00010  1.784E-006  2.746E+002  ...
+
    5    Sllb 20120630 1713  54.95 -112.45  876.13  1891.200 000061283 005 00015 00037  1.906E-006  2.942E+002  ...
+
    6    Sllb 20120630 1713  54.95 -112.45  876.13  1891.310 000061283 005 00015 00037  1.906E-006  2.942E+002  ...
+
 
+
{| border=1 cellspacing=0 cellpadding=5
+
|-bgcolor="#CCCCCC"
+
!bgcolor="#CCCCCC"|Column name
+
!bgcolor="#CCCCCC"|Description
+
|-
+
|<tt>POINT</tt> || Flight track data point number (used internally for reference)
+
|-
+
|<tt>TYPE</tt> || A short string that denotes the aircraft type and flight number
+
|-
+
|<tt>YYYYMMDD</tt> || Year, month, and day (GMT date) for each flight track point
+
|-
+
|<tt>HHMM</tt> || Hour and minute (GMT time) for each flight track point
+
|-
+
|<tt>LAT</tt> || Latitude (-90 to 90 degrees) for each flight track point
+
|-
+
|<tt>LON</tt> || Longitude (-180 to 180 degrees) for each flight track point
+
|-
+
|<tt>PRESS</tt> || Pressure in hPa for each flight track point
+
|-
+
|<tt>OBS</tt> || Observation value from the flight campaign
+
|-
+
|<tt>T-IND</tt> || Time index
+
|-
+
|<tt>P-IND</tt> || GEOS-CHEM level index
+
|-
+
|<tt>I-IND</tt> || GEOS-Chem longitude index
+
|-
+
|<tt>J-IND</tt> || GEOS-Chem latitude index
+
|-
+
|<tt>TRA_001 GMAO_TEMP ...</tt> || The remaining columns contain the [[#Diagnostic quantities|diagnostic quantities]] specified in the <tt>Planeflight.dat.YYYYMMDD</tt> file
+
 
+
|}
+
 
+
== Diagnostic quantities ==
+
 
+
{| border=1 cellspacing=0 cellpadding=5
+
|-valign="top"bgcolor="#CCCCCC"
+
!width="125px" bgcolor="#CCCCCC"|Variable name
+
!width="650px" bgcolor="#CCCCCC"|Description
+
!width="125px" bgcolor="#CCCCCC"|Units
+
 
+
|-valign="top"
+
|TRA_nnn || Species concentration (where nnn is the tracer number from <tt>input.geos</tt>) || v/v
+
|-valign="top"
+
|OH, HO2, etc. || Chemical species (use the same names as in the species database) || molec/cm3
+
|-valign="top"
+
|RO2 || Concentration of RO2 family<br>(HO2 + MO2 + A3O2 + ATO2 + B3O2 + ETO2 + GCO3 + IAO2 + KO2 + MAO3 + MCO3 + MRO2 + PO2 + RIO2 + VRO2 + ACO3 + EO2 + ENCO3 + ENO2 + GLCO3 + IACO3 + INO2 + MACO3 + NICO3 + NIO2 + VOHRO2 + RIO1 + C59O2 + MAPO2 + + BRO2 + TRO2 + XRO2 + NRO2 + MOBAOO + ISOPNBO2 + ISOPNDO2 + IEPOXOO + PYPO2 + MACRNO2 + PMNO2 + HC5OO + RCO3) || v/v
+
|-valign="top"
+
|AN || Concentration of AN family<br>(ISOPNB + ISOPND + MVKN + MACRN + R4N2 + ISN1 + PROPNN + ETHLN + DHDN + HONIT + MONIT + MONITS + INPN) || v/v
+
|-valign="top"
+
|NOy || Concentration of NOy family<br>(NO + NO2 + NO3 + HNO2 + HNO4 + HNO3 + PAN + PYPAN + IPMN + NPMN + PPN) || v/v
+
|-valign="top"
+
|GMAO_TEMP || Temperature || K
+
|-valign="top"
+
|GMAO_ABSH || Absolute humidity || unitless
+
|-valign="top"
+
|GMAO_SURF || Aerosol surface area || cm2/cm3
+
|-valign="top"
+
|GMAO_PSFC || Surface pressure || hPa
+
|-valign="top"
+
|GMAO_UWND || Zonal winds || m/s
+
|-valign="top"
+
|GMAO_VWND || Meridional winds || m/s
+
|-valign="top"
+
|GMAO_IIEV || GEOS-Chem grid box index, longitude || unitless
+
|-valign="top"
+
|GMAO_JJEV || GEOS-Chem grid box index, latitude || unitless
+
|-valign="top"
+
|GMAO_LLEV || GEOS-Chem grid box index, altitude || unitless
+
|-valign="top"
+
|GMAO_RELH || Relative humidity || %
+
|-valign="top"
+
|GMAO_PVRT || Ertel's potential vorticity&mdash;<span style="color:red">'''''Currently disabled.'''''</span> || kg*m2/kg/s
+
|-valign="top"
+
|GMAO_PSLV || Sea level pressure || hPa
+
|-valign="top"
+
|GMAO_AVGW || Water vapor mixing ratio || v/v
+
|-valign="top"
+
|GMAO_THTA || Potential temperature || K
+
|-valign="top"
+
|GMAO_PRES || Pressure at center of grid box || hPa
+
|-valign="top"
+
|GMAO_ICEnn || SEAICEnn fields (i.e. the fraction of each grid box that has nn% to nn+10% of sea ice coverage) || unitless
+
|-valign="top"
+
|AODC_SULF || Column aerosol optical depth for sulfate || unitless
+
|-valign="top"
+
|AODC_BLKC || Column aerosol optical depth for black carbon || unitless
+
|-valign="top"
+
|AODC_ORGC || Column aerosol optical depth for organic carbon || unitless
+
|-valign="top"
+
|AODC_SALA || Column aerosol optical depth for accumulation mode sea salt || unitless
+
|-valign="top"
+
|AODC_SALC || Column aerosol optical depth for coarse mode sea salt || unitless
+
|-valign="top"
+
|AODC_DUST || Column aerosol optical depth for dust || unitless
+
|-valign="top"
+
|AODB_SULF || Column aerosol optical depth for sulfate below the aircraft || unitless
+
|-valign="top"
+
|AODB_BLKC || Column aerosol optical depth for black carbon below the aircraft || unitless
+
|-valign="top"
+
|AODB_ORGC || Column aerosol optical depth for organic carbon below the aircraft || unitless
+
|-valign="top"
+
|AODB_SALA || Column aerosol optical depth for accumulation mode sea salt below the aircraft || unitless
+
|-valign="top"
+
|AODB_SALC || Column aerosol optical depth for coarse mode sea salt below the aircraft || unitless
+
|-valign="top"
+
|AODB_DUST || Column aerosol optical depth for dust below the aircraft || unitless
+
|-valign="top"
+
|TMS_nnn || Instantaneous nucleation rates for simulations using [[TOMAS aerosol microphysics]]
+
|-valign="top"
+
|HG2_FRACG || Fraction of Hg(II) in the gas phase || unitless
+
|-valign="top"
+
|HG2_FRACP || Fraction of Hg(II) in the particle phase || unitless
+
|-valign="top"
+
|ISOR_HPLUS || ISORROPIA H+ || M
+
|-valign="top"
+
|ISOR_PH || ISORROPIA pH (non-ideal system, so pH can be negative) || unitless
+
|-valign="top"
+
|ISOR_AH2O || ISORROPIA aerosol water || ug/m3 air
+
|-valign="top"
+
|ISOR_HSO4 || ISORROPIA bifulfate || M
+
|-valign="top"
+
|TIME_LT || Local time || hours
+
|-valign="top"
+
|GAMM_EPOX || Uptake coefficient for EPOX&mdash;<span style="color:red">'''''Currently disabled.'''''</span> || molec/cm3/s
+
|-valign="top"
+
|GAMM_IMAE || Uptake coefficient for IMAE&mdash;<span style="color:red">'''''Currently disabled.'''''</span> || molec/cm3/s
+
|-valign="top"
+
|GAMM_ISOPN || Uptake coefficient for ISOPN&mdash;<span style="color:red">'''''Currently disabled.'''''</span> || molec/cm3/s
+
|-valign="top"
+
|GAMM_DHDN || Uptake coefficient for DHDN&mdash;<span style="color:red">'''''Currently disabled.'''''</span> || molec/cm3/s
+
|-valign="top"
+
|GAMM_GLYX || Uptake coefficient for GLYX&mdash;<span style="color:red">'''''Currently disabled.'''''</span> || molec/cm3/s
+
|-valign="top"
+
|AQAER_RAD || Aqueous aerosol radius || cm
+
|-valign="top"
+
|AQAER_SURF || Aqueous aerosol surface area || cm2/cm3
+
|-valign="top"
+
|PROD_xxxx
+
|Production rates&mdash;<span style="color:red">'''''Currently disabled.'''''</span>
+
*See [[#Saving_out_reaction_rates_with_FlexChem|this post]] for a possible workaround.
+
|molec/cm3/s
+
|-valign="top"valign="top"
+
|REA_nnn
+
|Reaction rates&mdash;<span style="color:red">'''''Currently disabled.'''''</span>
+
*See [[#Saving_out_reaction_rates_with_FlexChem|this post]] for a possible workaround.
+
|molec/cm3/s
+
|-valign="top"valign="top"
+
|JVL_nnn || Photolysis reaction rate for species nnn, where nnn matches the number in <tt>FJX_j2j.dat</tt> || 1/s
+
*NOTE: To use this option, you must also turn on [[History_collections_for_chemistry_and_photolysis#The_JValues_collection|the <tt>JValues</tt> History collection]].
+
 
+
|}
+
 
+
== Planeflight type ==
+
 
+
The <tt>TYPE</tt> column in the [[#Planeflight.dat file|Planeflight.dat file]] can be used to specify the aircraft type and flight number to distinguish between multiple plane flight tracks.
+
 
+
<span style="color:red">'''''IMPORTANT: The planeflight diagnostic will automatically set L=1 if it does not recognize the <tt>TYPE</tt>. When using a new flight track, make sure to add your new <tt>TYPE</tt> string to the IF statement below (found in subroutine <tt>PLANEFLIGHT</tt> in <tt>planeflight_mod.F</tt>) if you do not want to use L=1 for those points.'''''</span>
+
 
+
            !kjw. if not INTEX-A observation, set L=1
+
            ! Add calnx (mpayer, 1/8/13)
+
            ! Add HIPPO (ajt, 5/23/13)
+
            ! Add CCGG (ajt, 7/5/13)
+
            ! Add NOAA towers (ajt, 4/2/15)
+
            IF ( TRIM(ADJUSTL(PTYPE(M))) .NE. 'DC-8'  .AND.
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'ER2'  .AND.
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'calnx' .AND. ! Calnex
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'calne' .AND. ! Calnex
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Aacg'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Abne'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Acar'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Acrv'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Acma'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Adnd'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Aesp'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Aetl'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Ahil'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Ahip'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Alef'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Anha'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Apfa'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Arta'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Asca'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Asgp'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Atgc'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Athd'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Awbi'  .AND. ! NOAA Aircraft
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tamt'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tbao'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tcrv'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tlef'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tlew'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tmbo'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tmvy'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tmwo'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tnwr'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tsct'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tsgp'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Tstr'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Twbi'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Twgc'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'Twkt'  .AND. ! NOAA TOWER
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'hipp1' .AND. ! HIPPO
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'hipp2' .AND. ! HIPPO
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'hipp3' .AND. ! HIPPO
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'hipp4' .AND. ! HIPPO
+
    &          TRIM(ADJUSTL(PTYPE(M))) .NE. 'hipp5' ) THEN
+
              print*,'WARNING: GMD Observation. forcing L=1'
+
              L = 1
+
            ENDIF
+
 
+
== Unresolved issues ==
+
 
+
=== Saving out reaction rates with FlexChem ===
+
 
+
'''''Tomas Sherwen wrote:'''''
+
 
+
<blockquote>Please could I ask if there is s position on/plan for restoring the chemical rate tracking (<tt>REA_??</tt>) functionality  of the planeflight diagnostic?
+
 
+
In v11-01/ v11-02d <tt>REA_??</tt> has been deactivated due to [[FlexChem]].
+
 
+
I use this functionality (and I suspect many others do) for tracking rates (e.g. JNO2) along plane/ship/station tracks/timeseries at instrument resolution.</blockquote>
+
 
+
'''''[[User:Melissa Payer|Melissa Sulprizio]] replied:'''''
+
 
+
<blockquote>Yes, we will eventually restore the chemical rates in the planeflight diagnostic. One issue is that we're currently developing netCDF diagnostics and that will mess up the planeflight diagnostics even more. Bob wrote to the GCSC:
+
 
+
<blockquote>For the “planeflight” diagnostic, we will investigate using a separate package (such as NOAA ObsPack, as recommended by Andy Jacobsen at IGC8) that can more efficiently store point data.  Then new diagnostic package we are developing works well for array data but not as well for point data.</blockquote>
+
 
+
Once the netCDF diagnostics are in place, we will reconsider how to fix/update planeflight_mod.F.
+
 
+
If you need these diagnostics in the meantime, you should be able to hack it into the chemical mechanism by adding dummy species to the reactions you want to track and then rebuilding the mechanism based on these instructions. In flexchem_mod.F90, you can then obtain the rate from KPP using the C array (e.g. <tt>Rate = C(ind_NEWSPC) / DT</tt> to get molec/cm3/s).</blockquote>
+
 
+
'''''[[User:Mje|Mat Evans]] replied:'''''
+
 
+
<blockquote>I’ve had a quick look at obspack. I’m not sure its well suited to our needs.</blockquote>
+
 
+
<blockquote>I personally don’t see much need to update the plane flight files. They are easy to understand at the moment and easy to manipulate being in ascii. The biggest problem at the moment is that the rate constants have fallen out of them because of the move to FlexChem. If we can get that sorted I don’t think there is a pressing need to update the format.</blockquote>
+
+
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:20, 15 November 2017 (UTC)
+
 
+
== Previous issues that are now resolved ==
+
 
+
=== Planeflight diagnostic now writes out data for the last timestep of the day ===
+
 
+
<span style="color:green">'''''This update (Git ID: [https://github.com/geoschem/geos-chem/commit/04da94cdbe01c9032904a9f7d14ec3a5aded5aee 04da94cd]) was included in [[GEOS-Chem_12#12.3.1|GEOS-Chem 12.3.1]], which was released on 08 Apr 2019.'''''</span>
+
 
+
'''''Luke Schiferl (LDEO/Columbia) wrote:'''''
+
 
+
<blockquote>The planeflight diagnostic in v12.2.0 fails to read out points in the final dynamic timestep of the day. It seems that this is due to a remnant from before the transition from minutes to seconds used to describe timesteps.</blockquote>
+
 
+
This has now been fixed.  The line of code in <tt>GeosCore/planeflight_mod.F90</tt>:
+
 
+
            IF (MOD(GET_ELAPSED_SEC(), <span style="color:red">(GET_TS_DIAG()*1440)</span>) == 0) THEN
+
 
+
was changed to
+
 
+
            IF (MOD(GET_ELAPSED_SEC(), <span style="color:green">86400</span>) == 0) THEN
+
 
+
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:46, 8 April 2019 (UTC)
+
 
+
=== Do not force L=1 by default in planeflight_mod.F ===
+
 
+
<span style="color:green">'''''This fix was included in [[GEOS-Chem 12#12.0.0|GEOS-Chem 12.0.0]].'''''</span>
+
 
+
In the updates to the CH4 simulation added in [[GEOS-Chem v11-02#v11-02f|v11-02f]], code for forcing L=1 was added to routine PLANEFLIGHT when a PTYPE string was not recognized. This meant users would always have to add new plane type strings to this code to avoid setting the level to 1. Most users will use the planeflight diagnostic for planeflight tracks, not surface observations, so we have modified this code to only set L=1 when a string for surface observation is recognized and not the other way around. In addition, the code will stop with a warning that level will be set to 1. If that is the users intention, then they can comment out the call to GEOS_CHEM_STOP and rerun.
+
 
+
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 13:21, 31 July 2018 (UTC)
+
 
+
=== ND40 planeflight diagnostic not always written out when turned on ===
+
 
+
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02b|v11-02b]] and approved on 16 Jun 2017.'''''</span>
+
 
+
'''''Lee Murray (University of Rochester) wrote:'''''
+
 
+
<blockquote>I think the FlexChem implementation accidentally disabled the planeflight diagnostic for the full chemistry simulation. We used to initialize the planeflight diagnostic in chemdr.F for full chemistry simulations (now no more) and all the other versions in main.F. We should change main.F to always call <tt>SETUP_PLANEFLIGHT</tt> whenever the diagnostic is turned on (remove code in <span style="color:red">RED</span>, add code in <span style="color:green">GREEN</span>).</blockquote>
+
 
+
        ! Plane following diagnostic
+
        IF ( ND40 > 0 .and. DO_DIAG_WRITE ) THEN
+
       
+
            ! Call SETUP_PLANEFLIGHT routine if necessary
+
            IF ( ITS_A_NEW_DAY() ) THEN
+
             
+
<span style="color:red">!              ! If it's a full-chemistry simulation but LCHEM=F,
+
!              ! or if it's an offline simulation, call setup routine
+
!              IF ( ITS_A_FULLCHEM_SIM ) THEN
+
!                  IF ( .not. LCHEM ) THEN
+
!                    CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt,
+
!    &                                      State_Chm, RC )
+
!                  ENDIF
+
!              ELSE
+
!                  CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt,
+
!    &                                    State_Chm, RC )
+
!              ENDIF</span>
+
+
<span style="color:green">              CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt, State_Chm, RC )</span>
+
+
            ENDIF
+
        ENDIF
+
 
+
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 19:44, 10 May 2017 (UTC)
+
  
  
 
----
 
----
 
'''''[[ObsPack diagnostic|Previous]] | [[Guide to GEOS-Chem diagnostics|Next]] | [[Guide to GEOS-Chem diagnostics]]'''''
 
'''''[[ObsPack diagnostic|Previous]] | [[Guide to GEOS-Chem diagnostics|Next]] | [[Guide to GEOS-Chem diagnostics]]'''''

Latest revision as of 22:23, 9 August 2022

Previous | Next | Guide to GEOS-Chem diagnostics

  1. Diagnostics overview
  2. Guide to GEOS-Chem History diagnostics
  3. Guide to HEMCO emissions diagnostics
  4. ObsPack diagnostic
  5. Planeflight diagnostic


This content has been migrated to the Planeflight diagnostic chapter of geos-chem.readthedocs.io.



Previous | Next | Guide to GEOS-Chem diagnostics