Sandbox: Difference between revisions

From Geos-chem
Jump to navigation Jump to search
No edit summary
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==feel free to experiment here ==
=== Species added ===


{| border=1 bordercolor="#000000" cellpadding="5" cellspacing="0"
Species added between versions 14.5.0-alpha.5 and 14.5.0-alpha.9:
|-valign="top"
|Yuan_XLAI
|DEFAULT
|[[Leaf area indices in GEOS-Chem#Yuan processed MODIS LAI|Yuan processed MODIS LAI data]]
*cf Yuan et al 2011, doi:10.1016/j.rse.2011.01.001


This data has been processed into 73 netCDF variables (one corresponding to each Olson land type), which facilitates regridding by HEMCO.
{| border=1 cellspacing=0 cellpadding=5
|[ftp://ftp.as.harvard.edu/gcgrid/data/ExtData/HEMCO/Yuan_XLAI/v2019-03/ <tt>HEMCO/Yuan_XLAI/v2019-03</tt>]
!width='100px' bgcolor='#CCCCCC'|Name
!width='100px' bgcolor='#CCCCCC'|Formula
!width='200px' bgcolor='#CCCCCC'|Fullname
!width='30px' bgcolor='#CCCCCC'|Advected
!width='30px' bgcolor='#CCCCCC'|Dry deposited
!width='30px' bgcolor='#CCCCCC'|Gas
!width='30px' bgcolor='#CCCCCC'|Photolyzed
!width='30px' bgcolor='#CCCCCC'|Wet deposited


|-valign='top'
|ACO3
|C3H3O3
|Peroxyacetyl radical for APAN
|
|
|X
|
|
|-valign='top'
|ACR
|C3H4O
|Acrolein
|X
|X
|X
|X
|
|-valign='top'
|ACRO2
|C3H5O4
|Peroxy radical from ACR
|
|
|X
|
|
|-valign='top'
|ALK7
|C7H16
|Lumped >= C6 Alkanes
|X
|
|X
|
|
|-valign='top'
|APAN
|C3H3NO5
|Peroxyacryloyl nitrate
|X
|X
|X
|X
|X
|-valign='top'
|APINN
|C10H17NO4
|1st gen organic nitrate from APIN
|X
|X
|X
|X
|X
|-valign='top'
|APINO2
|C10H17O3
|Peroxy radical from APIN
|
|
|X
|
|
|-valign='top'
|APINP
|C10H18O3
|Hydroperoxide from APIN
|X
|X
|X
|
|X
|-valign='top'
|AROMCHO
|C5H6O4
|ACCOMECHO from MCM
|X
|X
|X
|
|X
|-valign='top'
|AROMCO3
|C5H5O6
|Lumped aromatic peroxyacetyl radical
|
|
|X
|
|
|-valign='top'
|AROMPN
|C5H5NO8
|Lumped PN from aromatics
|X
|X
|X
|X
|X
|-valign='top'
|BPINN
|C10H17NO4
|Saturated 1st gen BPIN organic nitrate
|X
|X
|X
|X
|X
|-valign='top'
|BPINO
|C9H14O
|Ketone from BPIN
|X
|X
|X
|
|X
|-valign='top'
|BPINO2
|C10H17O3
|Peroxy radical from BPIN
|
|
|X
|
|
|-valign='top'
|BPINON
|C9H13NO4
|Saturated 2nd gen BPIN organic nitrate
|X
|X
|X
|X
|X
|-valign='top'
|BPINOO2
|C10H17O3
|2nd-gen peroxy radical from BPIN
|
|
|X
|
|
|-valign='top'
|BPINOOH
|C9H14O3
|2nd-gen peroxide from BPIN
|X
|X
|X
|
|X
|-valign='top'
|BPINP
|C10H18O3
|Peroxide from BPIN
|X
|X
|X
|
|X
|-valign='top'
|BUTN
|C4H7NO4
|C4H6 alkyl nitrate
|X
|X
|X
|
|X
|-valign='top'
|BUTO2
|C4H7O3
|peroxy radical from C4H6
|
|
|X
|
|
|-valign='top'
|C4H6
|C4H6
|1,3-butadiene
|X
|
|X
|
|
|-valign='top'
|C96N
|C9H15NO4
|Saturated 2nd gen monoterpene organic nitrate
|X
|X
|X
|X
|X
|-valign='top'
|C96O2
|C10H17O3
|2nd-gen peroxy radical from APIN
|
|
|X
|
|
|-valign='top'
|C96O2H
|C9H16O3
|Peroxide from APIN 2nd gen
|X
|X
|X
|
|X
|-valign='top'
|EBZ
|C8H10
|Ethylbenzene
|X
|
|X
|
|
|-valign='top'
|GCO3
|HOCH2CO3
|Peroxyacetyl radical for PHAN
|
|
|X
|
|
|-valign='top'
|HACTA
|HOCH2CO2H
|Hydroxyacetic/glycolic acid
|X
|X
|X
|
|X
|-valign='top'
|LIMAL
|C10H16O2
|Aldehyde from limonene
|X
|X
|X
|
|X
|-valign='top'
|LIMKB
|C10H16O3
|2nd gen ketone from limonene
|X
|X
|X
|
|X
|-valign='top'
|LIMKET
|C10H16O2
|Ketone from limonene
|X
|X
|X
|
|X
|-valign='top'
|LIMKO2
|C10H17O3
|2nd-gen peroxy radical from LIMO
|
|
|X
|
|
|-valign='top'
|LIMN
|C10H17NO4
|Saturated 1st gen limonene organic nitrate
|X
|X
|X
|X
|X
|-valign='top'
|LIMNB
|C10H15NO4
|Saturated 1st gen LIMO organic nitrate
|X
|X
|X
|X
|X
|-valign='top'
|LIMO2H
|C10H18O3
|Acid from LIMO
|X
|X
|X
|
|X
|-valign='top'
|LIMO3
|C10H17O3
|Acylperoxy radical from LIMO
|
|
|X
|
|
|-valign='top'
|LIMO3H
|C10H18O4
|Peracid from LIMO
|X
|X
|X
|
|X
|-valign='top'
|LIMPAN
|C10H17NO4
|PAN from LIMO
|X
|X
|X
|X
|X
|-valign='top'
|MEKCO3
|C3H5O4
|False
|
|
|X
|
|
|-valign='top'
|MEKPN
|C3H5NO6
|MEK peroxyacetyl nitrate
|X
|X
|X
|X
|X
|-valign='top'
|MYRCO
|C10H18O3
|Aldehyde or ketone from myrcene
|X
|X
|X
|
|X
|-valign='top'
|PHAN
|C2H3NO6
|Peroxyhydroxyacetic nitric anhydride
|X
|X
|X
|X
|X
|-valign='top'
|PIN
|C10H17NO4
|Saturated 1st gen monoterpene organic nitrate
|X
|X
|X
|X
|X
|-valign='top'
|PINAL
|C10H16O2
|Pinonaldehyde
|X
|X
|X
|
|X
|-valign='top'
|PINO3
|C10H17O3
|Acylperoxy radical from APIN
|
|
|X
|
|
|-valign='top'
|PINO3H
|C10H18O4
|Pinonic peracid
|X
|X
|X
|
|X
|-valign='top'
|PINONIC
|C10H18O3
|Pinonic acid
|X
|X
|X
|
|X
|-valign='top'
|PINPAN
|C10H17NO4
|PAN from pinonaldehyde
|X
|X
|X
|X
|X
|-valign='top'
|R7N1
|C7H15NO5
|Peroxy radical from R7N2
|
|
|X
|
|
|-valign='top'
|R7N2
|RO2NO
|C7 Lumped alkyl nitrate
|X
|X
|X
|X
|X
|-valign='top'
|R7O2
|C7H15O2
|Peroxy radical from ALK7
|
|
|X
|
|
|-valign='top'
|R7P
|C7H16O2
|Peroxide from R7O2
|X
|X
|X
|X
|X
|-valign='top'
|RNO3
|RO2NO
|Lumped aromatic nitrate
|X
|X
|X
|X
|X
|-valign='top'
|STYR
|C8H8
|Styrene
|X
|
|X
|
|
|-valign='top'
|TLFUO2
|C5H7O5
|False
|
|
|X
|
|
|-valign='top'
|TLFUONE
|C5H6O2
|Aromatic furanones
|X
|X
|X
|
|X
|-valign='top'
|TMB
|C8H10
|Trimethylbenzenes
|
|
|X
|
|
|-valign='top'
|ZRO2
|C7H9O5
|RO2 for making lumped aromatic nitrate
|
|
|X
|
|
|}
|}


=== Species removed===


Species removed between versions 14.5.0-alpha.5 and 14.5.0-alpha.9:


=== Quick fix to use Yuan-processed MODIS LAI in GEOS-Chem Classic ===
{| border=1 cellspacing=0 cellpadding=5
!width='100px' bgcolor='#CCCCCC'|Name
!width='100px' bgcolor='#CCCCCC'|Formula
!width='200px' bgcolor='#CCCCCC'|Fullname
!width='30px' bgcolor='#CCCCCC'|Advected
!width='30px' bgcolor='#CCCCCC'|Dry deposited
!width='30px' bgcolor='#CCCCCC'|Gas
!width='30px' bgcolor='#CCCCCC'|Photolyzed
!width='30px' bgcolor='#CCCCCC'|Wet deposited


Bob Yantosca discovered an error when using the Yuan-processed MODIS LAI data in GEOS-Chem "Classic" simulations.  HEMCO cannot locate the proper bounding timestamps for the interpolation.
|}
 
<blockquote>Example: HEMCO should have detected that simulation date '''20160701''' was bounded by data timestamps '''20160624''' and '''20160704''', and should have interpolated accordingly.  Instead, HEMCO was detecting that simulation data '''20160701''' was bounded by data timestamps '''20160602''' and '''20160610'''.  This is clearly wrong.</blockquote>
 
Christoph Keller traced this error to routine <tt>GET_TIMEIDX</tt> in module <tt>HEMCO/Core/hcoio_read_std_mod.F90</tt>, which is only used for GEOS-Chem "Classic" simulations.  The search algorithm was continuing to look for timestamps further back in time than was necessary.
 
If you need to run GEOS-Chem simulations with the Yuan-processed MODIS LAI data, Christoph Keller has submitted a quick fix.  Add the IF statement in  <span style="color:green">GREEN</span> to this code in <tt>hcoio_read_std_mod.F90</tt>.  This will force the timestamp search algorithm to terminate before it goes too far back in time.
 
        ! -------------------------------------------------------------
        ! Check if we need to continue search. Even if the call above
        ! returned a time slice, it may be possible to continue looking
        ! for a better suited time stamp. This is only the case if
        ! there are discontinuities in the time stamps, e.g. if a file
        ! contains monthly data for 2005 and 2020. In that case, the
        ! call above would return the index for Dec 2005 for any
        ! simulation date between 2005 and 2010 (e.g. July 2010),
        ! whereas it makes more sense to use July 2005 (and eventually
        ! interpolate between the July 2005 and July 2020 data).
        ! The IsClosest command checks if there are any netCDF time
        ! stamps (prior to the selected one) that are closer to each
        ! other than the difference between the preferred time stamp
        ! prefYMDhm and the currently selected time stamp
        ! availYMDhm(tidx1a). In that case, it continues the search by
        ! updating prefYMDhm so that it falls within the range of the
        ! 'high-frequency' interval.
        ! -------------------------------------------------------------
        ExitSearch = .FALSE.
        IF ( Lct%Dct%Dta%CycleFlag == HCO_CFLAG_EXACT ) THEN
          ExitSearch = .TRUE.
        ELSE IF ( tidx1a > 0 ) THEN
          ExitSearch = IsClosest( prefYMDhm, availYMDhm, nTime, tidx1a )
        ENDIF
        <span style="color:green">!### for testing, only apply to containers with “XLAI” in the name
        IF ( INDEX( Lct%Dct%Cname, 'XLAI' ) > 0 ) THEN
          ExitSearch = .true.
        ENDIF</span>
 
We will try to add a more robust fix for this issue in the near future.  We did not want to add a fix that was contingent on a HEMCO container name to the standard code.
 
NOTE: GCHP is unaffected by this issue, as it uses the MAPL ExtData functionality to read data from disk.  We have verified that GCHP reads in the Yuan-processed MODIS LAI data properly.
 
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:23, 7 June 2019 (UTC)

Latest revision as of 19:10, 3 October 2024

Species added

Species added between versions 14.5.0-alpha.5 and 14.5.0-alpha.9:

Name Formula Fullname Advected Dry deposited Gas Photolyzed Wet deposited
ACO3 C3H3O3 Peroxyacetyl radical for APAN X
ACR C3H4O Acrolein X X X X
ACRO2 C3H5O4 Peroxy radical from ACR X
ALK7 C7H16 Lumped >= C6 Alkanes X X
APAN C3H3NO5 Peroxyacryloyl nitrate X X X X X
APINN C10H17NO4 1st gen organic nitrate from APIN X X X X X
APINO2 C10H17O3 Peroxy radical from APIN X
APINP C10H18O3 Hydroperoxide from APIN X X X X
AROMCHO C5H6O4 ACCOMECHO from MCM X X X X
AROMCO3 C5H5O6 Lumped aromatic peroxyacetyl radical X
AROMPN C5H5NO8 Lumped PN from aromatics X X X X X
BPINN C10H17NO4 Saturated 1st gen BPIN organic nitrate X X X X X
BPINO C9H14O Ketone from BPIN X X X X
BPINO2 C10H17O3 Peroxy radical from BPIN X
BPINON C9H13NO4 Saturated 2nd gen BPIN organic nitrate X X X X X
BPINOO2 C10H17O3 2nd-gen peroxy radical from BPIN X
BPINOOH C9H14O3 2nd-gen peroxide from BPIN X X X X
BPINP C10H18O3 Peroxide from BPIN X X X X
BUTN C4H7NO4 C4H6 alkyl nitrate X X X X
BUTO2 C4H7O3 peroxy radical from C4H6 X
C4H6 C4H6 1,3-butadiene X X
C96N C9H15NO4 Saturated 2nd gen monoterpene organic nitrate X X X X X
C96O2 C10H17O3 2nd-gen peroxy radical from APIN X
C96O2H C9H16O3 Peroxide from APIN 2nd gen X X X X
EBZ C8H10 Ethylbenzene X X
GCO3 HOCH2CO3 Peroxyacetyl radical for PHAN X
HACTA HOCH2CO2H Hydroxyacetic/glycolic acid X X X X
LIMAL C10H16O2 Aldehyde from limonene X X X X
LIMKB C10H16O3 2nd gen ketone from limonene X X X X
LIMKET C10H16O2 Ketone from limonene X X X X
LIMKO2 C10H17O3 2nd-gen peroxy radical from LIMO X
LIMN C10H17NO4 Saturated 1st gen limonene organic nitrate X X X X X
LIMNB C10H15NO4 Saturated 1st gen LIMO organic nitrate X X X X X
LIMO2H C10H18O3 Acid from LIMO X X X X
LIMO3 C10H17O3 Acylperoxy radical from LIMO X
LIMO3H C10H18O4 Peracid from LIMO X X X X
LIMPAN C10H17NO4 PAN from LIMO X X X X X
MEKCO3 C3H5O4 False X
MEKPN C3H5NO6 MEK peroxyacetyl nitrate X X X X X
MYRCO C10H18O3 Aldehyde or ketone from myrcene X X X X
PHAN C2H3NO6 Peroxyhydroxyacetic nitric anhydride X X X X X
PIN C10H17NO4 Saturated 1st gen monoterpene organic nitrate X X X X X
PINAL C10H16O2 Pinonaldehyde X X X X
PINO3 C10H17O3 Acylperoxy radical from APIN X
PINO3H C10H18O4 Pinonic peracid X X X X
PINONIC C10H18O3 Pinonic acid X X X X
PINPAN C10H17NO4 PAN from pinonaldehyde X X X X X
R7N1 C7H15NO5 Peroxy radical from R7N2 X
R7N2 RO2NO C7 Lumped alkyl nitrate X X X X X
R7O2 C7H15O2 Peroxy radical from ALK7 X
R7P C7H16O2 Peroxide from R7O2 X X X X X
RNO3 RO2NO Lumped aromatic nitrate X X X X X
STYR C8H8 Styrene X X
TLFUO2 C5H7O5 False X
TLFUONE C5H6O2 Aromatic furanones X X X X
TMB C8H10 Trimethylbenzenes X
ZRO2 C7H9O5 RO2 for making lumped aromatic nitrate X


Species removed

Species removed between versions 14.5.0-alpha.5 and 14.5.0-alpha.9:

Name Formula Fullname Advected Dry deposited Gas Photolyzed Wet deposited