geoschem / gcpy

Python toolkit for GEOS-Chem. Contains basic plotting scripts, plus the suite of GEOS-Chem benchmarking utilities.
https://gcpy.readthedocs.io
Other
51 stars 24 forks source link

[FEATURE REQUEST] Modify format of operations budgets tables #73

Closed yantosca closed 4 years ago

yantosca commented 4 years ago

We would like to modify the budget_ops.py code so that it prints 3 separate files, Full, PBL, Trop, with Dev, Rev, Dev-Rev, and % diff. This will make the operations budget more similar to the global mass tables.

yantosca commented 4 years ago

This should now be done in commit https://github.com/geoschem/gcpy/commit/beb003b268ee24a382572f56d334f0e479c8fa47. This has been validated with a GCC vs. GCC test but we should also validate with other combinations (GCHP vs. GCC and GCHP vs. GCHP).

yantosca commented 4 years ago

Also the computation is not parallelized. However, the I/O part might be the slower part. Further work can be done on this.

yantosca commented 4 years ago

I have pushed commits https://github.com/geoschem/gcpy/commit/c005fee30f6ce56e78b55c6441a073a417a355e0 and https://github.com/geoschem/gcpy/commit/2788b8f141e87e34b360e505e9eebe35adce056b. We now create files for the following atmospheric regimes: FullColumn, TropColumn, PBLColumn, and StratColumn.

Budget files now have a top-of-file header as well as the Ref and Dev information printed atop the table for each species.

##############################################################################
 FullColumn budget diagnostics for Jul2016
##############################################################################

ACET budgets (Ref=GC_12.7.0; Dev=GC_12.8.0)
Units : [Gg]
                               Ref           Dev     Dev - Ref        % diff
Chemistry             -1241.730206  -1509.099230   -267.369024     21.531974
Convection               -0.000000     -0.000000      0.000000     -7.445093
EmisDryDep                0.078721      0.078721      0.000000      0.000000
Mixing                 1978.435863   2170.619564    192.183701      9.713921
Transport                 0.000010      0.000010      0.000000      0.000000
WetDep                    0.000000      0.000000      0.000000      0.000000
ACCUMULATION            736.784389    661.599066    -75.185323     23.800802

... etc...

lizziel commented 4 years ago

Looks great!

yantosca commented 4 years ago

You can also change the floating-point format used in the budget tables by passing the pd_float_format argument to the make_operations_budget_table function. For example @msulprizio has re-created the TransportTracersBenchmark budget tables using exponential notation:

##############################################################################
 FullColumn budget diagnostics for 2016
##############################################################################

Be10 budgets (Ref=GC_12.8.0; Dev=GC_12.8.0_LuoWetdep)
Units : [kg/yr]
                               Ref           Dev     Dev - Ref        % diff
Chemistry            -1.357163e-06 -1.224977e-06  1.321859e-07 -9.739871e+00
Convection           -4.415625e-01 -2.124346e-01  2.291278e-01 -5.189024e+01
EmisDryDep            2.525731e+00  2.525731e+00  0.000000e+00  0.000000e+00
Mixing               -1.685686e-01 -7.315854e-02  9.541008e-02 -5.660014e+01
Transport            -1.755396e-09 -5.266187e-09 -3.510792e-09  2.000000e+02
WetDep               -1.915210e+00 -2.616349e+00 -7.011391e-01  3.660900e+01
ACCUMULATION          3.887181e-04 -3.762124e-01 -3.766011e-01  1.183787e+02