If you are using
Navigator 4.x
or
Internet Explorer 4.x
or
Omni Web 4.x
, this site will not render
correctly!
gfdl's home page > people > John Dunne >
Postprocessing ESM calculations
Ocean Carbon Integral in PgC:
-
This calculation is complicated by three things: the free surface
which varies with time (hdt), partial bottem cells which do not vary
with time (hdt), and the tri-polar grid (area_t). Currently, Ferret does not
automatically account for any of these factors such that the ocean_grid
and ocean_bgc files must have same output frequency to get precise integrals.
-
set memory/size=100
use 00020401.ocean_grid.nc
use 00020401.ocean_bgc.nc
let CO2_xyz_iint=((nsm+nlg+ndi+sdon+ldon)*117/16+dic)*dht[d=1]*area_t[d=1]
list CO2_xyz_iint[i=@sum,j=@sum,k=@sum]*12/1e15
-
set memory/size=100
use 00020401.ocean_grid.nc
use 00020401.ocean_bgc.nc
let CO2_xyz_iint = carbon_tot_vert_int*area_t[d=1]
list CO2_xyz_iint[i=@sum,j=@sum,k=@sum]*12/1e15
-
Changes in this integral over the simulation period approximated by:
-
list (CO2_xyz_iint[i=@sum,j=@sum,k=@sum,l=3]-CO2_xyz_iint[i=@sum,j=@sum,k=@sum,l=1])*12/1e15
-
let atmos_ocean_co2_flux = sfc_flux_co2*area_t[d=1]
list atmos_ocean_co2_flux[i=@sum,j=@sum,t=15-APR-0002:15-JUN-0002@din]*12/1e15
-
Since we are using an atmospheric model with a hybrid vertical
coordinate, this calculation is a bit tricky. The gradient in
pressure as determined by combining the the temporally fixed
(i.e. hydrostatic) absolute pressure (PK)
component and temproally variable sigma (PS*BK) coordinate at grid
boundaries to get the overall mass in each layer using gravity (g =
9.80 m/s2 everywhere in the model). This mass is then converted
into PgC using the molecular weights of air (assumed to be 28.96440
g/mol) and carbon (assumed to be 12 g/mol).
-
use 00020401.atmos_month.nc
let co2mass= co2*(PK[k=2:25]-PK[k=1:24]+PS*(BK[K=2:25]-BK[K=1:24]))/9.8*1000/28.96440*12/1e15
list co2mass[i=@din,j=@din,k=@sum]
-
use 00020401.atmos_month.nc
let land_co2_flux = co2_flux*land_mask
list land_co2_flux[i=@din,j=@din,k=@sum,l=@ave]*86400*365*12/1e15
let ocean_co2_flux = co2_flux*(1-land_mask)
list ocean_co2_flux[i=@din,j=@din,k=@sum,l=@ave]*86400*365*12/1e15
-
This just involves summing up vegetation and soil compartments all given in Kg/m2.
-
use 00020401.atmos_month.nc
use 00020401.veg_month.nc
let terrbio = (bl+br+blv+bsw+bwood+fsc+ssc)*land_mask[d=1]
list terrbio[i=@din,j=@din]/1e12
