global ocean carbon fluxes

Hi CESM users,

I recognize this is rather trivial but does anybody know if CESM outputs a global ocean carbon flux output (i.e. xPg C/yr)? If not do I have to calculate this value based on FG_CO2 outputs?

Thanks in advance,

Lester
 

klindsay

CSEG and Liaisons
Staff member
CESM does not include the global integral of air-to-sea CO2 flux in the history files.The ocn.log files do include the global average of all fields written out,which include FG_CO2 at monthly resolution by default.So if you search the ocn.log files for FG_CO2:, you will find monthly global averagesof FG_CO2. It is an average, in units of nmol/cm^2/sec. To convert to an integral,you need the model's ocean surface area, which can be computed from a history file,or is available in the log file in units of km^2, search for T-area.It may be easier to compute the global integal from the history files.
 

djk2120

Daniel Kennedy
New Member
Just following up on this, because I had occasion to calculate the global ocean sink from the CESM2-LE timeseries output.

First I computed the annual mean of FG_CO2 -> FG_CO2_ANN [ nmol / cm2 / s ]
TAREA is available in the output [ cm2 ]

Then:
cf = 24 * 60 * 60 * 365 * 12 * 1e-24
global_ocean_sink = cf * (TAREA * FG_CO2_ANN).sum(dim = ['nlat', 'nlon']) #PgC/yr

conversions:
24 * 60 * 60 * 365 is seconds / year
12 is gC / molCO2
1e-24 is the product of
1e-9 nmol per mol
1e-15 g per Pg

The magnitude looks correct to me, starting around 0 in 1850 and progressing to ~2.3 PgC/yr around 2010 and approaching 4.5PgC by 2100 (SSP370).

My two lingering questions:
- is TAREA the correct output to be using for gridcell area?
- should I be applying some sort of oceanfrac for shared land-ocean gridcells (and would that significantly alter the global integral?)
 

mlevy

Michael Levy
CSEG and Liaisons
Staff member
My two lingering questions:
- is TAREA the correct output to be using for gridcell area?
- should I be applying some sort of oceanfrac for shared land-ocean gridcells (and would that significantly alter the global integral?)
1. Yes, TAREA is the area of the tracer grid cells, and FG_CO2 is a quantity on the tracer grid, so it is the right field to use for area.
2. Because you are doing a global sum, you don't need to worry about the ocean mask -- FG_CO2 is masked out on land cells already, so (TAREA * FG_CO2_ANN).sum(dim = ['nlat', 'nlon']) is giving you the sum over ocean cells only. If you were looking for a global mean of a quantity rather than a global sum, you'd want to divide the global sum by the sum of TAREA only over the ocean cells.
 
Back
Top