|
|
Line 12: |
Line 12: |
| | | |
| --[[User:Bmy|Bob Y.]] 11:58, 13 February 2015 (EST) | | --[[User:Bmy|Bob Y.]] 11:58, 13 February 2015 (EST) |
− |
| |
− | == Previous issues that are now resolved ==
| |
− |
| |
− | === Potential bug in EDGAR ship emissions code ===
| |
− |
| |
− | <div style="color: #aa0000; background: #eeeeee;border: 3px solid red; padding: 1em; margin: auto; width: 90%; ">'''<p>This code was removed from [[GEOS-Chem v10-01]] and newer versions. EDGAR emissions are now implemented through the [[HEMCO|HEMCO emissions component]].</p><p>— Bob Yantosca, 13 February 2015</p>'''</div>
| |
− |
| |
− | '''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem_v9-01-02_benchmark_history#v9-01-02s|v9-01-02s]] and approved on 5 Nov 2011.'''''
| |
− |
| |
− | Michael Long discovered this potential bug in the EDGAR emissions code.
| |
− |
| |
− | The current GEOS-Chem default configuration uses the ICOADS ship emissions instead of the EDGAR ship emissions. In routine <tt>READ_EMISSIONS_MENU</tt> in <tt>input_mod.f</tt>, we have a safety check...we turn off the logical switch <tt>LEDGARSHIP</tt> if switch <tt>LICOADS</tt> is turned on:
| |
− |
| |
− | !=================================================================
| |
− | ! Check global ship emissions options
| |
− | !=================================================================
| |
− | ! Add an ship emissions options (cklee, 6/30/09)
| |
− | ! Replace with ICOADS ship emissions
| |
− | ! User can still use regional EMEP, and ARCTAS-SO2 if he wants (phs)
| |
− | IF ( LICOADSSHIP ) THEN
| |
− | LEDGARSHIP = .FALSE. ! ICOADS precedes EDGAR
| |
− | LSHIPSO2 = .FALSE. ! SO2-ICOADS precedes SO2-Corbett
| |
− | ENDIF
| |
− |
| |
− | In <tt>edgar_mod.F</tt>, the EDGAR ship emissions arrays are not allocated if the switch <tt>LEDGARSHIP == .FALSE.</tt>:
| |
− |
| |
− | IF ( LEDGARSHIP ) THEN
| |
− |
| |
− | ALLOCATE( EDGAR_SO2_SHIP( IIPAR, JJPAR ), STAT=AS )
| |
− | IF ( AS /= 0 ) CALL ALLOC_ERR( 'EDGAR_SO2_SHIP' )
| |
− | EDGAR_SO2_SHIP = 0d0
| |
− |
| |
− | ALLOCATE( EDGAR_NOx_SHIP( IIPAR, JJPAR ), STAT=AS )
| |
− | IF ( AS /= 0 ) CALL ALLOC_ERR( 'EDGAR_NOx_SHIP' )
| |
− | EDGAR_NOx_SHIP = 0d0
| |
− |
| |
− | ALLOCATE( EDGAR_CO_SHIP( IIPAR, JJPAR ), STAT=AS )
| |
− | IF ( AS /= 0 ) CALL ALLOC_ERR( 'EDGAR_CO_SHIP' )
| |
− | EDGAR_CO_SHIP = 0d0
| |
− |
| |
− | ENDIF
| |
− |
| |
− | However, we still pass <tt>EDGAR_CO_SHIP</tt> to routine <tt>COMPUTE_EDGAR_CO</tt> even if it is not allocated:
| |
− |
| |
− | IF ( LEDGARCO ) THEN
| |
− | CALL COMPUTE_EDGAR_CO( YEAR, EDGAR_CO, EDGAR_CO_SHIP )
| |
− | ENDIF
| |
− |
| |
− | Here, <tt>EDGAR_CO_SHIP</tt> is an output variable, which is supposed to return the EDGAR ship emissions at the current model resolution. This may produce undefined behavior. This may trigger an error when compiling with the check-array-bounds option (<tt>BOUNDS=yes</tt>).
| |
− |
| |
− | Some of the more forgiving compilers may "fix" this on-the-fly and thus, you might not see any errors. However, for the sake of good programming practice, this should be fixed.
| |
− |
| |
− | --[[User:Bmy|Bob Y.]] 12:30, 20 December 2012 (EST)
| |
− |
| |
− | === Typos in edgar_mod.f ===
| |
− |
| |
− | <div style="color: #aa0000; background: #eeeeee;border: 3px solid red; padding: 1em; margin: auto; width: 90%; ">'''<p>This code was removed from [[GEOS-Chem v10-01]] and newer versions. EDGAR emissions are now implemented through the [[HEMCO|HEMCO emissions component]].</p><p>— Bob Yantosca, 13 February 2015</p>'''</div>
| |
− |
| |
− | '''''NOTE: This issue was resolved in [[GEOS-Chem v9-01-01]].'''''
| |
− |
| |
− | In routines <tt>READ_C2H2</tt> and <tt>READ_C2H4</tt> of <tt>edgar_mod.f</tt>, the data directory was wrongly listed as <tt>EDGAR200607</tt> instead of <tt>EDGAR_200607</tt>. We have now fixed these typos in v9-01-01.
| |
− |
| |
− | --[[User:Bmy|Bob Y.]] 12:35, 20 December 2012 (EST)
| |