.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/geoscf_example.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_geoscf_example.py: GEOS-CF LBC for CMAQ ================================ This example shows how to use aqmbc with GEOS-CF's publicly available OpenDAP. * Download from NASA GMAO (if not available in %Y/%m/%d folder). * Define translation. * Extract and translate. * Display figures and statistics. .. GENERATED FROM PYTHON SOURCE LINES 11-19 .. code-block:: default from os.path import basename import aqmbc import matplotlib.pyplot as plt import glob gdnam = '12US1' .. GENERATED FROM PYTHON SOURCE LINES 20-22 Download from GMAO OpenDAP -------------------------- .. GENERATED FROM PYTHON SOURCE LINES 22-31 .. code-block:: default dates = ['2023-04-15T12:30', '2023-07-15T12:30'] # Typical downloading takes ~4 minutes per hour of source data # For the tutorial, we only download 'o3' and 'so4' to make it fast. aqmbc.models.geoscf.download_window( gdnam, dates, chmvars=['o3', 'so4'], xgcvars=[] # for full run, comment out this line ) .. GENERATED FROM PYTHON SOURCE LINES 32-34 Define Translation Expressions ------------------------------ .. GENERATED FROM PYTHON SOURCE LINES 34-38 .. code-block:: default # In Notebooks, display available expressions aqmbc.exprlib.avail('cf') .. GENERATED FROM PYTHON SOURCE LINES 39-48 .. code-block:: default # A real run will use geoscf_met.expr, geoscf_cb6.expr and geoscf_ae7.expr # For simplicity, we use just a simple ozone exmaple exprpaths = aqmbc.exprlib.exprpaths([ 'geoscf_o3so4.expr' # for full run, comment # 'geoscf_met.expr', 'geoscf_cb6.expr', # for full run, uncomment # 'geoscf_ae7.expr' # for full run, uncomment ], prefix='cf') .. GENERATED FROM PYTHON SOURCE LINES 49-51 Translate GEOS-CF for use by CMAQ --------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 51-71 .. code-block:: default # For "real" VGLVLS use # METBDYD_PATH = '...' # metaf = pnc.pncopen(METBDY3D_PATH, format='ioapi') metaf = aqmbc.options.getmetaf(bctype='bcon', gdnam=gdnam, vgnam='EPA_35L') inpaths = sorted(glob.glob(f'GEOSCF/{gdnam}/????/??/??/geoscf_*.nc')) bcpaths = [] suffix = f'_{gdnam}_BCON.nc' gcdims = aqmbc.options.dims['gc'] for inpath in inpaths: print(inpath, flush=True) outpath = basename(inpath).replace('.nc', suffix) history = f'From {outpath}' outf = aqmbc.bc( inpath, outpath, metaf, vmethod='linear', exprpaths=exprpaths, dimkeys=gcdims, format_kw={'format': 'geoscf'}, history=history, clobber=True, verbose=0 ) bcpaths.append(outpath) .. GENERATED FROM PYTHON SOURCE LINES 72-74 Figures and Statistics ---------------------- .. GENERATED FROM PYTHON SOURCE LINES 74-79 .. code-block:: default vprof = aqmbc.report.get_vertprof(bcpaths) statdf = aqmbc.report.getstats(bcpaths) statdf.to_csv('geoscf_summary.csv') .. GENERATED FROM PYTHON SOURCE LINES 80-82 Visualize Vertical Profiles --------------------------- .. GENERATED FROM PYTHON SOURCE LINES 82-87 .. code-block:: default fig = aqmbc.report.plot_2spc_vprof(vprof) fig.suptitle('GEOS-CF Boundary Conditions for CMAQ') fig.savefig('geoscf_profiles.png') .. GENERATED FROM PYTHON SOURCE LINES 88-90 Barplot of Concentrations ------------------------- .. GENERATED FROM PYTHON SOURCE LINES 90-93 .. code-block:: default fig = aqmbc.report.plot_gaspm_bars(statdf) fig.savefig('geoscf_bar.png') .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.000 seconds) .. _sphx_glr_download_auto_examples_geoscf_example.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: geoscf_example.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: geoscf_example.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_