cGEnIE Simplest Summary

Table of Contents

  1. Basic
    1. Install and Test
    2. Running model
    3. Model output
  2. Ocean circulation
    1. Tracing ocean circulation
    2. Results to view
  3. Climate of Past
    1. Cretaceous (70 Ma)
    2. early Eocene (56 Ma)
  4. Fossil fuel CO2
    1. customise emission forcing scale
    2. Historical emission forcing
  5. Ocean biogeomchemical cycle
    1. nutrient’s control on biological productivity
    2. Iron and Phosphate fertilisation
    3. What to view
  6. EcoGEnIE
    1. Customization
    2. Result to view


Install and Test

  1. Use git to download source codes.
  2. make sure dependencies(gfortran, netCDF) are pre-installed.
  3. Modify user.mak to specify NetCDF path; and uncomment something in makefile.arc according to your system to use (see the instruction).
  4. Test the model by typing make testbiogem.

Running model

Command to run model: qsub -q dog.q -j y -o cgenie_log -V -S /bin/bash basic-cofing user-config years spin-file. Or another direct but not practical way: cd genie-main, and ./ ... Parameters in qsub: -q: bind job to queue -j: y/n to merge stdout and stderr of job -o: output file -V: export all environment variables -S: shell to use To check, use qstat -f.

Note.1: you CANNOT submit job with new base-config file directly. The correct way is to run the model at the command line to re-compile the model. Note2 : You should create a new config file and set control group in every new experiment. Do not attempt to modify configuration file directly.

Model output

Model output store in ~/cgenie_output. Two types of output are defined.

  1. Time-slices: *.nc(netcdf) files. (average) spatial distribution of properties (keytracer, flux, and physical characteristics) every
  2. Time-series: *.res files. Time-varying suitable reduced indicators

Ocean circulation

Tracing ocean circulation

Basic-config to use: cgenie.eb_go_gs_ac_bg.worjh2.rb (contains red color tracer) What and where to inject your tracer: Variables:

    bg_par_forcing_name="pyyyyz_Fred" #forcing name
    bg_par_force_point_i=22 #3D coordinate
    bg_par_ocn_force_scale_val_48=0.0 #scale in mol/yr

Results to view

ocn_colr in 3D netCDF Tracer distribution: ocn_int_colr (long name: water-column integrated tracer inventory) Atlantic streamfunction: phys_opsia Barotropic streamfunction: phys_psi (something like circulation in lat-lon plot.) Deep water formation: convective cost or ventilation age Trace inventory: biogem_series_ocn_colr.res

What’s streamfunction? This link worth viewing. Basically, positive values represent clockwise direction along contour lines.

Climate of Past

Not many things to play with

Cretaceous (70 Ma)

Basic-config: cgenie.eb_go_gs_ac_bg.p0067f.NONE Add Color-injection: cgenie.eb_go_gs_ac_bg.p0067f.rb

early Eocene (56 Ma)

Basic-config cgenie.eb_go_gs_ac_bg.p0055c.NONE

Fossil fuel CO2

Basic-config: cgenie.eb_go_gs_ac_bg.worjh2.BASE

customise emission forcing scale

  • bg_par_atm_force_scale_val_3 =8.3333e+013 scale variable in user-config.
  • biogem_force_flux_atm_pCO2_sig.dat (in mol) forcing file in cgenie.muffin/genie_forcings/

Then the true flux is 1× 8.33E13 mol/yr = 10E15 g C/yr = 1 Pg C/yr.

	0.0  1.0
	1.0  1.0
	1.0  0.0
999999999.0  0.0

This can be plot as y~x.

Historical emission forcing

Define the forcing as worjh2.historical2010 in user-config and comment the scale variable, because this historical emission forcing directly follows the observed change in atmospheric concentration with time. set bg_par_misc_t_start=1765.0 which is the year to start transient (it’s often defined in pre-industrial age like 1700s). You can define as following to decide which year’s data should be saved (the profile is in biogem/data/input).


Then run for 245 years and we come to year 2010. Any future modelling then can use this as new spin-up. There’re also some IPCC/SRES scenarios can be used, such as worjh2.FeMahowald2006.FpCO2_Fp13CO2_A2_02180PgC which provide IPCC ‘A2’ scenario.

Ocean biogeomchemical cycle

nutrient’s control on biological productivity

Basic-config: cgenie.eb_go_gs_ac_bg.worjh2.BASES (add more traces than last chapter) Parameters to play:

      bg_par_bio_k0_PO4=1.9582242E-06 #maximum rate of conversion of dissolved PO4 into organic matter (mol kg-1 yr-1)
      bg_par_bio_remin_POC_eL1=550.5195 #the depth-scale where POM is remineralizated
      bg_par_bio_remin_POC_frac2=6.4591110E-02 #the fraction of POM to export
      bg_par_bio_red_POC_CaCO3=0.044372 #CaCO3/POC ratio
      ea_36=y #climate-CO2 feedback
      bg_par_data_save_level=5 #data to save, check the instruction
      bg_par_bio_c0_PO4=2.1989611E-07 #[PO4] M-M half-sat value (mol kg-1)
      bg_par_bio_red_POP_POC=106.0 #redfield ratio
      bg_par_bio_red_DOMfrac=0.66 #how many organic matter produced is partitioned into dissolved (DOM)
    bg_par_bio_remin_DOMlifetime=0.5 #DOM mean lifetime (yr) in the ocean

Iron and Phosphate fertilisation

This determines the total flux of Fe and P.

    ## --- GEO: Fe ---
    ## --- GEO: PO4 ---
    ## --- GEO: ALK ---

What to view

Maybe pCO2 is a good option.


Description: ECOGEM has poorer performance than BIOGEM in biogeochemistry (also because BIOGEM has been calibrated), but BIOGEM is unrealistic because it transform nutrient to POM/DOM instantly without passing from plankton biomass. Basic-config: muffin.CBE.worlg4.BASESFeTDTL


In user-config, we can define plankton file (another text file) by variable eg_par_ecogem_plankton_file. The data is in genie-ecogem/data/input/*.eco which has form like:

 Phytoplankton     0.60   1
 Phytoplankton      6.0   1
 Phytoplankton     60.0   1
 Zooplankton        6.0   1
 Zooplankton       60.0   1
 Zooplankton      600.0   1

Columns mean functional type (including Diatom, Coccolithophore etc), diameter. The number 1 means nothing.

Nutrient limitation: Turn on Fe limitation: set eg_useFe=.true. and eg_fquota=.true.. Then define eg_qminFe_a and eg_qmaxFe_a as the range of Fe. And bg_par_det_Fe_sol_exp determines the solubility of atmospheric iron inputs in seawater.

Result to view

  • Nutrient limitation: eco2D_xGamma_Fe_001 and co2D_xGamma_P_001 in netCDF file. The value is from 0 to 1, higher value means less limitation.
  • Size metric: eco2D_Size_Mean/Stdev
  • Size distribution: eco2D_Size_Frac_pico/nano/microphytoplankton. pico → ≤ 2 μ m nano → 2~20 micro → ≥ 20 um
  • C:P biomass ratio
  • Distribution pattern in different size class