Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How standalone HEMCO handle MEGAN with YUAN_MODIS_LAI #270

Open
4 tasks
yuanjianz opened this issue Mar 28, 2024 · 8 comments
Open
4 tasks

How standalone HEMCO handle MEGAN with YUAN_MODIS_LAI #270

yuanjianz opened this issue Mar 28, 2024 · 8 comments
Labels
category: Question Further information is requested stale No recent activity on this issue topic: HEMCO Standalone Model Pertaining to the HEMCO standalone topic: Input Data Related to input/emissions data, or disk read/write operations

Comments

@yuanjianz
Copy link

Name and Institution (Required)

Name: Yuanjian Zhang
Institution: WashU

Confirm you have reviewed the following documentation

Description of your issue or question

I am generating biogenic VOC emission using MEGAN in standalone HEMCO with YUAN_MODIS_LAI option. But it seems that HEMCO is trying to use LAI provided by meteorology fields instead.

I search through the source code and find that XLAI is only calculated combined with external atmospheric models through GeosCore/modis_lai_mod.F90.
Also in HEMCO_sa_Config.rc, OLSON_LANDTYPE and YUAN_MODIS_LAI are disabled by default and labeled needing input from geos-chem.

My question is, does it mean that I need to run a full GEOS-Chem simulation instead of standalone HEMCO to get the Yuan_MODIS_LAI driven biogenic voc emission or did I miss anything?

@yantosca yantosca reopened this Mar 28, 2024
@yantosca yantosca added category: Question Further information is requested HEMCO topic: HEMCO Standalone Model Pertaining to the HEMCO standalone topic: Input Data Related to input/emissions data, or disk read/write operations and removed HEMCO labels Mar 28, 2024
@yantosca
Copy link
Contributor

Tagging @YanshunLi-washu and @yidant

@YanshunLi-washu
Copy link

Hi @yuanjianz I checked the HEMCO_sa_Config.rc file and found there is a YUAN_MODIS_LAI item under the "NON-EMISSIONS DATA" category. If you put YUAN_MODIS_LAI as true, it should work. Would you mind uploading your HEMCO_sa_Config.rc? I'm happy to take a look.

@yuanjianz
Copy link
Author

yuanjianz commented Apr 1, 2024

Sure! Using the GCST offline emission maintainence HEMCO you provided. I ran tests for 201607 w/ and w/o Yuan's MODIS LAI. Also confirmed in HEMCO log w/ and w/o that whether Yuan's LAI is read or not. (Check the hyperlink)

The results show that emissions for 201607 make no difference:

monthly_emis=0
DAYSINMONTH=[31,29,31,30,31,30,31,31,30,31,30,31]
for mon in range(7,8):
    for day in range(1,DAYSINMONTH[mon-1]+1):
        for time in range(24):
            filename='./OutputDir/merra2_05x0625_no_yuanlai.2016'+ \
                '{mon:02d}{day:02d}{time:02d}00.nc'.format(mon=mon,day=day,time=time)
            ds=xr.open_dataset(filename)
            area=ds['AREA'].values
            emis_rate=ds['ISOP_MEGAN'].values
            secs=3600
            daily_emis=np.sum(np.sum(emis_rate,0)*area*secs)
            monthly_emis+=daily_emis
            ds.close()
print(monthly_emis/1e9)
---
40.37151861971345
monthly_emis=0
DAYSINMONTH=[31,29,31,30,31,30,31,31,30,31,30,31]
for mon in range(7,8):
    for day in range(1,DAYSINMONTH[mon-1]+1):
        for time in range(24):
            filename='./OutputDir/merra2_05x0625.2016'+ \
                '{mon:02d}{day:02d}{time:02d}00.nc'.format(mon=mon,day=day,time=time)
            ds=xr.open_dataset(filename)
            area=ds['AREA'].values
            emis_rate=ds['ISOP_MEGAN'].values
            secs=3600
            daily_emis=np.sum(np.sum(emis_rate,0)*area*secs)
            monthly_emis+=daily_emis
            ds.close()
print(monthly_emis/1e9)
---
40.37151861971345

I am not sure how much difference Yuan’s LAI would cause, but I think HEMCO standalone here takes LAI in the met field directly and ignore Yuan's LAI even though being read. The reason is that MODIS LAI processing code would only be found in geos-chem.

@YanshunLi-washu
Copy link

Hi @yuanjianz Since you mentioned HEMCO kept using LAI in metfields, I noticed there is a line in the configuration file:

  • LAI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.nc4 LAI 1980-2021/1-12/1-31/*/+30minute EFY xy 1 * - 1 1

I guess if you replace $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.nc4 with files listed in the YUAN_MODIS_LAI data collection, there should be differences in your stand-alone simulations.

But not sure whether this is the right way to use YUAN LAI. @yantosca Do you have any suggestions?

@yantosca
Copy link
Contributor

yantosca commented Apr 2, 2024

@YanshunLi-washu: I believe the metfield LAI does not have an interannual variability, which is why we prefer using the XLAI in GEOS-Chem.

Maybe this is something we haven't paid too much attention to. HEMCO standalone might be able to interpolate the Yuan LAI but we might need to add another set of entries in the HEMCO_sa_Config.rc file to do that.

@yuanjianz
Copy link
Author

Hi @yantosca @YanshunLi-washu, to confirm my guess. I turned off all operations in GCClassics and ran only for emissions with Yuan's LAI turned on, and compared with results from HEMCO standalone with Yuan's LAI turned on. For 201907, HEMCO standalone produces 38.4Tg and GCClassics produces 37.9Tg for isoprene. Both are under MERRA2 0.5x0.625 and I manually changed GCClassics emission timestep to 3600s to match HEMCO standalone.

Here is what I found, both of them will read LAI from met field at initialization, but in GCClassics' main program and GCHP's geoschem chunk, the modis_lai_mod from GeosCore is used to update XLAI for dry deposition and MODISLAI for SoilNOx and MEGAN. (I did not find a way to run GCClassics without Yuan's LAI either).

@yuanjianz
Copy link
Author

yuanjianz commented Jun 3, 2024

Hi @lizziel, I am generating a Yuan's MODIS LAI product that can be used in HEMCO standalone for offline emission. But I found something on the WiKi page

Lizzie Lundgren wrote:
I believe the hard-coded regridding of MODIS LAI from fine to coarse resolution within GEOS-Chem Classic is due to the dependence on the Olson land map for regridding. I don’t think HEMCO currently has the capacity to do this, but Christoph please correct me if I am wrong. We actually bypass the hard-coded regridding entirely in GCHP and use MAPL ExtData instead. However, this required GMAO to implement a fractional regridding algorithm within ExtData which GMAO graciously did for us. I wonder if we could do something similar in HEMCO?

I am confused here. It seems to me that LAI in m2/m2 should be correctly regridded by conservative regridding method. Or judging from the following comment, is it the correspondent Olson land type that needs to be treated differently?

Christoph Keller wrote:
What I did in GEOS-5 (prior to the ExtData update) was to create a separate mask for every Olson land type, which can then be regridded using the regular regridding routines. This could be a workaround for GC classic.

@yantosca To my understanding, there are two XLAI in geos-chem/GeosCore/modis_lai_mod.F90. XLAI for dry deposition and MODISLAI for MEGAN and soilNOx. It seems to me the MODISLAI should be irrelevant to olson land type. Based on here, can I can just use the summation of XLAI00-73 for MEGAN and soilNOx calculation?

Copy link

This issue has been automatically marked as stale because it has not had recent activity. If there are no updates within 7 days it will be closed. You can add the "never stale" tag to prevent the issue from closing this issue.

@github-actions github-actions bot added the stale No recent activity on this issue label Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: Question Further information is requested stale No recent activity on this issue topic: HEMCO Standalone Model Pertaining to the HEMCO standalone topic: Input Data Related to input/emissions data, or disk read/write operations
Projects
None yet
Development

No branches or pull requests

3 participants