wiki:CarbonCyclePage

Description of the Carbon Cycle procedures to use the iLOVECLIM carbon cycle version


1. Preindustrial run with the carbon cycle (PI-CC)

Things to do to run with the carbon cycle:

1) In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h), most flags should be kept at 0, except (as of february 2020):

By default (nothing to do):

   IMSK 1 
   COMATM 1 
   ROUTEAU 1 
   EVAPTRS 1 
   EVAPSI 1 
   F_PALAEO 0 
   OLDC14 0 
   KC14P 0 
   OXNITREUX 0 
   WINDINCC 0 
   O2ATM 0 
   N2OATM 0 
   MEDUSA 0
   PATH 0 
   LGMSWITCH 0

For the carbon cycle:

   CYCC 2 -> to activate the atmospheric carbon cycle 
   OCYCC 1 -> to activate the oceanic carbon cycle 
   KC14 1 -> for C14

2) Optionnal: to modify the ocean outputs: in ludus-code/clio/parameters/netcdfout.param-scal13 (of no carbon cycle: clio/parameters/netcdfout.param)

Beware! for the carbon cycle: output set to 100 per file!!

Also to modify the atmosphere outputs: in ecbilt/outp_atmos.param

3) Optionnal: to add the Pa/Th?:

In ecbilt_clio/global_flags/choixcomposantes.h :

   PATH 1
  • Set restart_path = .TRUE. in iloveclim/ocycc/sources/path_mod.f90
  • Check that the four Pa-Th outputs are set to T in ludus-code/clio/parameters/netcdfout.param-scal17

4) Restart (-s date -S Restart)

  • NEWEST

03/07/2023 with standard bathymetry:

/home/climwork/nbouttes/iloveclim_remin/data/PI-CC17_ecbilt_clio/ic028500
  • PREVIOUS versions:

22/11/2022 (Revision: 1627)
with standard bathymetry:

/home/climwork/nbouttes/iloveclim_coral/data/data/PI-CC7_ecbilt_clio/ic022500

with etopo1 bathymetry with standard paramaters:

/home/climwork/nbouttes/iloveclim_bathy/data/PI-CC_bathy_10_ecbilt_clio/ic027500

with etopo1 bathymetry with sediment paramaters:

/home/climwork/ncolle/iloveclim/data/sed_2000y_v2_ecbilt_clio/ic028500

25/10/2022
with standard bathymetry:/home/acclimate/nbouttes/iloveclim_CC/data/PI-CC35_ecbilt_clio/ic021500

06/10/2020
with standard bathymetry: /home/clim01/nbouttes/iloveclim_coastal/data/PI-CC_r1309_2_ecbilt_clio/ic023000

with etopo1 bathymetry:/home/acclimate/nbouttes/iloveclim_degla2/data/bathy_P_0yr_CC_3_ecbilt_clio/ic026001[[BR]]

Exemple: ./bin/run-iloveclim -l PI-CC -n 1 -r 1 -v 1 -s 23000 -S /home/clim01/nbouttes/iloveclim_coastal/data/PI-CC_r1309_2_ecbilt_clio/ic023000


03/2020 restart, with new OCYCC:

-s 19000 -S /home/acclimate/roche/tmp/OCYCC_0612_03_ecbilt_clio/startdata


  • With Pa/Th? the restart from L. Missiaen: -s 67800 -S /home/acclimate/lmissi/iloveclim_lr/wkdir/preind_eq_2ky_v1_15Mar18_ecbilt_clio/run/restartdata/res067800

For example: ./bin/run-iloveclim -l PI-CC -n 500 -r 250 -k -s 67800 -S /home/acclimate/lmissi/iloveclim_lr/wkdir/preind_eq_2ky_v1_15Mar18_ecbilt_clio/run/restartdata/res067800

or newer restart from F. Lhardy (revision 897):
/home/acclimate/flhardy/iloveclim/data/PI_oldmask_ecbilt_clio/ic071800

  • OR without Pa/Th? add: -s 65800 and -S /home/acclimate/smoreira/_PROJS_/004_iLOVECLIM_MED/20171211_iloveclim_parallel/trunk/wkdir/op02_NOMED_5ky_ecbilt_clio/run/restartdata/res065800

The previous initial state was: data/default/ic50800

Then restart was: (includes rest_cc.dat, with Pa/Th?):
-s 72802 -S /home/acclimate/nbouttes/iloveclim/wkdir/PI-test-CC-restart_ecbilt_clio /run/restartdata/res072802


Things you might want to change:

Things that are now by default, which you might want to change:

  • In general the run is started from the pre-indutrial control simulation with carbon, it is thus a restart simulation.

In ocycc/sources/loveclim_transfer_mod.f90 : KLSR is set to 1 to have a restart, you can change to KLRS=0 for a fresh start.

  • In veccarb/sources/carbone_co2.f90: new_run_c should is set to 0 (if run without c13 values for the vegetation-> set to 1)
  • The vegetation code is activated in ecbilt_clio/parameters/emic.param (set to F not to have it):

T VECODE


2. Past periods (including LGM)


2.1. To start an LGM run (LGM):

Using the ice sheets from Ganopolski anf Calov, orbital parameters from Berger and GHG from ice cores.

  • In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h):
       F_PALAEO 1 (or 0, to be discussed)[[BR]]
       LGMSWITCH 1
    
  • Set the palaeo_year to 21000 in ludus-code/ecbilt/parameters/palaeo_transient_parameters.dat
  • Specify the parameters, inputdata and restart from scenario with something like:

./bin/run-iloveclim -l lgm_nath -s 10000 -n 3000 -r 1000 –P scenario/lgm-pmip2-reb/parameters -I scenario/lgm-pmip2-reb/inputdata –S data/restart_lgm_Nath/ic010000


2.2. Other past periods:

Method 1:

  • change the GHG in GHG.dat (scenario/default/GHG.dat)
  • change the orbital parameters in namelist file

and do as for a PI restart run

Method 2:
Or you can use F_PALAEO 1:

  • In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h):
       F_PALAEO 1
       LGMSWITCH 0
    
  • Set the palaeo_year to your date in ludus-code/ecbilt/parameters/palaeo_transient_parameters.dat
  • gammat=0 in thersf.f
  • comment LGMSWITCH in landmodel0

In addition, modify salinity, alk and nutrients according to change of ocean volume.


2.4. To add Pa-Th (LGM-CC-PaTh?):

  • In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h):

PATH 1

  • Set restart_path = .TRUE. in iloveclim/ocycc/sources/path_mod.f90
  • Check that the four Pa-Th outputs are set to T in ludus-code/clio/parameters/netcdfout.param-scal17

Old restart:

./bin/loveclim-new-run -l testLGM_CC_PaTh -s 67800 -n 1000 -r 250 –P scenario/lgm-pmip2-CC-PATH/parameters -I scenario/lgm-pmip2-CC-PATH/inputdata -S /home/acclimate/lmissi/iloveclim_lr/wkdir/preind_eq_2ky_v1_15Mar18_ecbilt_clio/run/restartdata/res067800

New restart (July 2018):

./bin/loveclim-new-run -l testLGM_CC_PaTh -s 75800 -n 1000 -r 250 –P scenario/lgm-pmip2-CC-PATH/parameters -I scenario/lgm-pmip2-CC-PATH/inputdata -S /home/acclimate/flhardy/iloveclim/wkdir/rec-LGM_ref_ecbilt_clio/run/restartdata/res075800


3. Other options in simulations


3.1. To simulate the sinking of brines:

  • OLD: Set use_brines to 1 in clio/sources/clio.f
    NEW: set BRINES to 1 in ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h)
  • Set frac to a value between 0 (no brines) and 1 (maximum effect) in clio/sources/brines.f.


3.2. To force the ice caps topography in LGM run using GRISLI:

  • In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h):

F_PALAEO 2
ISM 3
LGMSWITCH 1

  • Check the choice of reference topography in /grisli/SOURCES/Fichiers-parametres/hemin40_param_list.dat
  • Check the path in iloveclim/config/config.obelix
  • To impose the LGM bathymetry, fractoc.dat, bath.om and mozaic.w are needed in inputdata/ directory
  • GRISLI needs to know the LGM bathymetry as well. Create a LGM.dat file in /grisli/INPUT/Forcage/ containing it

Beware! The option ISM 3 is not compatible with cold conditions in the model for now - unstable


3.3. To fix the vegetation to the PI
in emic.param set VECODE option to F instead of T


3.4. To add fresh water fluxes

  • create new scenario directory with FWF scenario in clio/inputdata/fwf_input.dat
  • areas of FWF defined in: clio/inputdata/zonesOrmenfwf-data.dat (see Roche 2010)
  • in ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h):

#define UNCORFLUX 1
#define APPLY_UNCORFWF 1


3.5. With ice sheet reconstruction and/or new bathymetry (Last Deglaciation)

see: http://forge.ipsl.jussieu.fr/ludus/wiki/Bathy


3.6. With corals

Beware: for now only with 13 tracers (no PaTh?) for the outputs + only annual outputs (no monthly)

  1. Activate the carbon cycle as in section 1.
  1. Activate the flag for corals in ecbilt_clio/global_flags/choixcomposantes.h:
CORAL 1


Restart:
./bin/run-iloveclim -l PI-corals -n 5 -r 5 -z -k -v 1 -s 23000 -S /home/clim01/nbouttes/iloveclim_coastal/data/PI-CC_r1309_2_ecbilt_clio/ic023000


Outputs:

  • in carbon/Coral_output.txt:

NYR in years, total_area_an in km2, total_prod_coral_an in Pmol/year, total_mass_coral_and in Pg/year

  • in ocean/CLIOxxx:

coral_prod in Pmol/year
coral_area in m2
CO32- in mol/kg? (to be verified)
Omega


3.7. With CO2 emissions

in ecbilt_clio/global_flags/choixcomposantes.h:

CEMIS=1

Needs file carbon_emission.dat in inputdata
file contains: year, CO2 emission for each year in Mt CO2/yr


3.8. Interactive carbon cycle

in ecbilt_clio/global_flags/choixcomposantes.h:

INTERACT_CYCC 1


3.9. Transient CO2 concentration historic and futur (with corals)
see:

http://forge.ipsl.jussieu.fr/ludus/wiki/palaeo_transient


3.10. Diffusion

Modified files: engtur.f and difftur.f in clio/sources
scenario: pi_tidemix

To run with tidemix=1 use:
-P scenario/pi-tidemix/parameters -I scenario/pi-tidemix/inputdata -F scenario/pi-tidemix/sources

To be done: second case with flag TIDEMIX=2


3.11. BIOMES

CLM_INDICES 2 
BIOM_GEN 1 


3.12. Sediments
Utiliser New_install_ludus.sh avec l'option -A

MEDUSA 1 

Et mettre bottom_remin a 0 dans maphot.f !!

Pour faire un equilibre avec les sédiments, le plus rapide est d'effectuer une série d'aller - retour entre iLOVECLIM et MEDUSA avec :

  • 1 000 ans de simulations couplée iLOVECLIM-MEDUSA
  • Récupération des flux à l'interface, équilibre de MEDUSA en offline avec ncbdry
  • répéter la procédure jusqu'à équilibre


Pour offline : avec ncbdry
Besoin de recompiler : modifier le Makefile
fichiers sauvegardes dans les deux tar


4. The different atmospheric CO2 concentrations in the model

  • PGACO2 = Radiative pCO2 for the atmosphere. In emic.f:
    !     Radiative:
                   IF(.NOT.lradCO2) PGACO2=PCO2ref
    


  • PCO2ref = constant to pre-industrial pCO2 levels...

in emic.f :

PCO2ref=277.4D0


  • patmCO2 is used to set the CO2 seen by the vegetation. In emic.f:
    !     Fertilization:
                   IF(lferCO2) then
                      patmCO2=PGACO2
                   ELSE
                      patmCO2=PCO2ref
                   ENDIF            ! lferCO2
    !
    
  • And used in VECODE as: (ccparam.f)
            nppt=npp*(1.0+(betat*LOG(co2ghg/280.)))
            nppg=npp*(1.0+(betag*LOG(co2ghg/280.)))
    
  • PA_C is the current CO2 in the carbon cycle for the atmosphere
  • PA0_C is the PA_C at restart
  • Link between CO2s: PGACO2 is reset in atmphy0.f from ghg(1), read in GHG.dat input file

5. Carbon outputs

C_reservoirs.txt
1=year
2=CO2
4=C13atm
5=ocean carbon
7=veget carbon
9=total carbon

C_ocean.txt : ecrit dans mbiota.f
1=phyto
2=zoo
3=doc
4=sdoc
5=total poc
6=total carbon
7=ALK
8=NO3
9=PO4

Last modified 7 weeks ago Last modified on 03/05/24 10:36:40