E3SM-Project / E3SM

Energy Exascale Earth System Model source code. NOTE: use "maint" branches for your work. Head of master is not validated.
https://docs.e3sm.org/E3SM
Other
344 stars 351 forks source link

Consider to enable output per-species aerosol budget terms #6019

Open chengzhuzhang opened 10 months ago

chengzhuzhang commented 10 months ago

To do the aerosol budget analysis offline, it requires to include ~100 variables as standard output, because aerosol budget terms are available in per-species per-activated modes (see table here). If we can add on-line computation to enable per-species output (which aggregates activate modes per species), would reduce standard output of these terms to a factor of 4. This will help coupled group's data reduction effort @golaz and @xuezhengllnl lead, as well as downstream post-processing/analysis effort.

Just note that there are a few other nuances: the elevated emission has units "molec/cm2/s", which is inconsistent with other terms.

chengzhuzhang commented 10 months ago

Hi @mahf708, @susburrows suggested earlier that you could take the lead to implement this. I think this is not urgent, but good to implement before v3 simulation campaign starts.

mahf708 commented 10 months ago

For v3 production, I think we should just go with 2d burdens. I don't know if anyone is making use of the other items in the budget closure. Correct me if I am wrong, but most simulations from the coupled team don't include the aerosol_budget part in post-processing and I guess these were not missed for important decisions.

In general, I think we should just do all the calculations online and produce the end result (at full spatial and temporal resolution) as applicable. Essentially, similar to how we do it with 2d burdens.

I can attend to this when I have time. However, this will take some time. I am not super familiar with the internals of the model and where the terms are exposed (so it will take me some time to figure it out).

chengzhuzhang commented 10 months ago

Thank you @mahf708 for attending to this issue. Nice to have this in before production run, since I don't think those per-mode output would be useful for most users, but I agree this can be done afterwards, because it might not be straightforward to fix and need time to implement! (there must be a reason why this has not been done by now...).