= Description of the Carbon Cycle procedures to use the iLOVECLIM carbon cycle version = [[BR]] == '''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: {{{ IMSK 1 COMATM 1 ROUTEAU 1 EVAPTRS 1 EVAPSI 1 F_PALAEO 0 }}} For the carbon cycle: {{{ CYCC 2 -> to activate the atmospheric carbon cycle OCYCC 1 -> to activate the oceanic carbon cycle OLDC14 0 KC14 1 KC14P 0 OXNITREUX 0 WINDINCC 0 O2ATM 0 N2OATM 0 MEDUSA 0 PATH 0 LGMSWITCH 0 }}} 2) To modify the ocean outputs: in clio/parameters/netcdfout.param ''Beware! '' for the carbon cycle: output set to 100 per file!! [[BR]] 3) Optionnal: for the Pa/Th: In ecbilt_clio/global_flags/choixcomposantes.h : [[BR]] {{{ 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 [[BR]] 4) Restart NEWEST (06/10/2020)[[BR]] - with standard bathymetry:[[BR]] /home/clim01/nbouttes/iloveclim_coastal/data/PI-CC_r1309_2_ecbilt_clio/ic023000[[BR]] - with etopo1 bathymetry:[[BR]] /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[[BR]] [[BR]] PREVIOUS (deprecated): [[BR]] 03/2020 restart, with new OCYCC:[[BR]] -s 19000 -S /home/acclimate/roche/tmp/OCYCC_0612_03_ecbilt_clio/startdata [[BR]] - 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 [[BR]] For example: ./bin/loveclim-new-run -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[[BR]] or newer restart from F. Lhardy (revision 897):[[BR]] /home/acclimate/flhardy/iloveclim/data/PI_oldmask_ecbilt_clio/ic071800[[BR]] - 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 [[BR]] The previous initial state was: data/default/ic50800 [[BR]] Then restart was: (includes rest_cc.dat, with Pa/Th): [[BR]] -s 72802 -S /home/acclimate/nbouttes/iloveclim/wkdir/PI-test-CC-restart_ecbilt_clio /run/restartdata/res072802 [[BR]] [[BR]] '''Things you might want to change:''' Things that are now by default, which you might want to change:[[BR]] - 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. [[BR]] - 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) [[BR]] - The vegetation code is activated in ecbilt_clio/parameters/emic.param (set to F not to have it): T VECODE [[BR]] == '''2. LGM (and other periods)''' == [[BR]] '''2.1. To start an LGM run (LGM):''' [[BR]] Using the ice sheets from Ganopolski anf Calov, orbital parameters from Berger and GHG from ice cores.[[BR]] - In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h): [[BR]] F_PALAEO 1 (or 0, to be discussed)[[BR]] LGMSWITCH 1 [[BR]] - Set the palaeo_year to 21000 in ludus-code/ecbilt/parameters/palaeo_transient_parameters.dat [[BR]] - Specify the parameters, inputdata and restart from scenario with something like: [[BR]] ./bin/loveclim-new-run -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 [[BR]] Note: at the moment restart from PI run instead of the given (old) LGM simulation [[BR]] '''2.2. Other past periods:'''[[BR]] Method 1: [[BR]] - 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: [[BR]] Or you can use F_PALAEO 1: - In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h): [[BR]] F_PALAEO 1 [[BR]] LGMSWITCH 0 [[BR]] - Set the palaeo_year to your date in ludus-code/ecbilt/parameters/palaeo_transient_parameters.dat [[BR]] - gammat=0 in thersf.f [[BR]] - comment LGMSWITCH in landmodel0 [[BR]] [[BR]] '''2.3. Restart for the LGM with the carbon cycle (LGM-CC) (old):''' [[BR]] ./bin/loveclim-new-run -l mon_joli_lgm_CC -s 65800 -n 1000 -r 250 –P scenario/lgm-pmip3-cc1/parameters -I scenario/lgm-pmip3-cc1/inputdata -S /home/acclimate/smoreira/_PROJS_/004_iLOVECLIM_MED/20171211_iloveclim_parallel/trunk/wkdir/op02_NOMED_5ky_ecbilt_clio/run/restartdata/res065800 [[BR]] -> instead use restart with CC and PaTh below [[BR]] '''2.4. To add Pa-Th (LGM-CC-PaTh):''' [[BR]] - In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h): [[BR]] PATH 1 [[BR]] - 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 [[BR]] 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 [[BR]] 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 [[BR]] [[BR]] == '''3. Other options in simulations''' == [[BR]] '''3.1. To simulate the sinking of brines:'''[[BR]] - OLD: Set use_brines to 1 in clio/sources/clio.f [[BR]] NEW: set BRINES to 1 in ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h) [[BR]] - Set frac to a value between 0 (no brines) and 1 (maximum effect) in clio/sources/brines.f.[[BR]] [[BR]] '''3.2. To force the ice caps topography in LGM run using GRISLI:'''[[BR]] - In ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h): F_PALAEO 2[[BR]] ISM 3 [[BR]] LGMSWITCH 1 [[BR]] - Check the choice of reference topography in /grisli/SOURCES/Fichiers-parametres/hemin40_param_list.dat [[BR]] - Check the path in iloveclim/config/config.obelix [[BR]] - To impose the LGM bathymetry, fractoc.dat, bath.om and mozaic.w are needed in inputdata/ directory [[BR]] - 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 [[BR]] [[BR]] '''3.3. To fix the vegetation to the PI'''[[BR]] in emic.param set VECODE option to F instead of T[[BR]] [[BR]] '''3.4. To add fresh water fluxes'''[[BR]] - create new scenario directory with FWF scenario in fwf_input.dat[[BR]] - areas of FWF defined in: clio/inputdata/zonesOrmenfwf-data.dat (see Roche 2010)[[BR]] - in ecbilt_clio/global_flags/choixcomposantes.h (previously lbm/sources/choixcomposantes.h): [[BR]] #define UNCORFLUX 1[[BR]] #define APPLY_UNCORFWF 1[[BR]] [[BR]] '''3.5. With new bathymetry'''[[BR]] 1) Modify / check choixcomposantes.h in scenario (scenario/deglaciation_pmip4_P_T/sources-2tr or scenario/deglaciation_pmip4_P_T/sources-17tr): [[BR]] {{{ BATHY 2 F_PALAEO 3 ISM 3 SMB_TYP 1 CPLTYP 1 DOWNSTS 1 DOWNSCALING 1 LGMSWITCH 0 }}} [[BR]] Note: to have uncorrected FWF from ice sheets on top (not to be done in equilibrirum runs, only transient, otherwise issue with salinity computation): [[BR]] {{{ APPLY_UNCORFWF 1 F_PALAEO_FWF 1 }}} Note 2: to have corrected FWF from ice sheets on top: [[BR]] {{{ APPLY_UNCORFWF 0 F_PALAEO_FWF 1 }}} 2) Specifify the date in ludus-code/ecbilt/parameters/palaeo_transient_parameters.dat (see LGM section earlier). 3) Choose the correct ice sheet reconstruction for topography in ludus-code/ecbilt/inputdata/ [[BR]] - For Peltier: ICE6G_26k-0k_hemin40_Aurelien.nc: [[BR]] ln -s ICE6G_26k-0k_hemin40_Aurelien.nc Gano_40k-0k_hemin40.nc [[BR]] This file has 105 time slices, with a time step of 250 years, the first time slice is 26k and the last one is 0.[[BR]] - For Tarasov: GLAC1D_26k-0k_hemin40_Aurelien.nc ln -s GLAC1D_26k-0k_hemin40_Aurelien.nc Gano_40k-0k_hemin40.nc [[BR]] This file has 261 time slices, with a time step of 100 years, the first time slice is 26k and the last one is 0.[[BR]] You will also need to modify in palaeo_timer_mod.f90 and input_subgrid2L.f90 the values of : - nb_steps_fism - update_time_fism - time_max_fism 4) In ludus-code/lbm/sources/routageEAU.f90: bricole_caspienne=.FALSE. 5) Change the path for GRISLI: in config/grisli.path change the line for: [[BR]] /home/acclimate/aquiquet/GRISLI/GRISLI_iLoveclim[[BR]] 6) If you want to use berg.nc instead of berg.dat (for ice sheets also in SO): [[BR]] /ecbilt_clio/global_flags/BC_switches.h [[BR]] 7) Specify inputdata, sources and restart (here starting from LGM):[[BR]] Options to run the simulation with the correct scenarios: [[BR]] - With two tracers:[[BR]] ./bin/loveclim-new-run -l PI-bathy -n 10 -r 10 -k -z -I scenario/deglaciation_pmip4_P_T/inputdata_peltier -F scenario/deglaciation_pmip4_P_T/sources-2tr -P scenario/deglaciation_pmip4_P_T/parameters-2tr -s 97801 -S /home/acclimate/nbouttes/iloveclim_degla/data/bathy_P_21000yr_2_CC_FWF_17tr2_ecbilt_clio/ic097801 -v 1 [[BR]] - Or with 17 tracers (Carbon cycle CC):[[BR]] ./bin/loveclim-new-run -l PI-CC-bathy -n 10 -r 10 -k -z -I scenario/deglaciation_pmip4_P_T/inputdata_peltier -F scenario/deglaciation_pmip4_P_T/sources-17tr -P scenario/deglaciation_pmip4_P_T/parameters-17tr -s 97801 -S /home/acclimate/nbouttes/iloveclim_degla/data/bathy_P_21000yr_2_CC_FWF_17tr2_ecbilt_clio/ic097801 -v 1 [[BR]] Restart from PI: -s 92801 -S /home/acclimate/flhardy/iloveclim/data/PI_20tr_t1.1_0.997_1.15_1.05_1.027_r25_ecbilt_clio/ic092801 [[BR]] Note : [[BR]] specify correct update_time_fism in input_subgrid2L.f90 (500 for Peltier, 100 for Tarasov) [[BR]] Note 2: for salinity[[BR]] - If no FWF from ice sheets: the global salt mass is conserverd when bathymetry is changed, which modifies the global mean salinity[[BR]] - If FWF from ice sheet: the global mean salinity is changed by the fresh water flux from ice sheets, while the global mean salinity is conserved when the bathymetry is changed. [[BR]] '''3.6. With corals'''[[BR]] Beware: for now only with 13 tracers (no PaTh) for the outputs + only annual outputs (no monthly) [[BR]] 1. Activate the carbon cycle as in section 1.[[BR]] 2. Activate the flag for corals in ecbilt_clio/global_flags/choixcomposantes.h:[[BR]] {{{ CORAL 1 }}} [[BR]] Restart: [[BR]] ./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 [[BR]] Outputs: [[BR]] - 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 [[BR]] coral_area in m2 [[BR]] CO32- in mol/kg? (to be verified) [[BR]] Omega [[BR]] [[BR]] '''3.7. With CO2 emissions'''[[BR]] in ecbilt_clio/global_flags/choixcomposantes.h:[[BR]] {{{ CEMIS=1 }}} Needs file carbon_emission.dat in inputdata [[BR]] file contains: year, CO2 emission for each year in Mt CO2/yr [[BR]] [[BR]] '''3.8. Interactive carbon cycle'''[[BR]] in ecbilt_clio/global_flags/choixcomposantes.h:[[BR]] {{{ INTERACT_CYCC 1 }}} [[BR]] '''3.9. Transient CO2 concentration historic and futur (with corals)'''[[BR]] '''Pratical:''' [[BR]] 1) set date in ludus-code/ecbilt/parameters/palaeo_transient_parameter.dat [[BR]] For 1850 AD: 100 BP [[BR]] 2) run with: [[BR]] ./bin/run-iloveclim -l PI_ssp585_concentration_2 -n 2 -r 2 -k -z -F scenario/ssp585/sources_concentration -I scenario/ssp585/inputdata_concentration -s 23000 -S /home/clim01/nbouttes/iloveclim_coastal/data/PI-CC_r1309_2_ecbilt_clio/ic023000 -v 1 '''Notes:''' [[BR]] This runs with carbon cycle flages + coral flag + F_PALAEO=2 [[BR]] Modifications have been made in: [[BR]] - comphys.f90: change ghgscen to the number of lines with values in GHG.dat - paleo_timer_mod.f90: change start_year_ghg with more recent (or future) value at top of GHG.dat [[BR]] change nb_year_ghg with oldest value at last line of GHG.dat [[BR]] - GHG.dat: [[BR]] starts with more recent value at line 2, and finishes with oldest value at last line [[BR]] value on first line is the number of lines with data [[BR]] [[BR]] '''3.10. Diffusion'''[[BR]] Modified files: engtur.f and difftur.f in clio/sources [[BR]] scenario: pi_tidemix [[BR]] To run with tidemix=1 use: [[BR]] -P scenario/pi-tidemix/parameters -I scenario/pi-tidemix/inputdata -F scenario/pi-tidemix/sources [[BR]] To be done: second case with flag TIDEMIX=2 [[BR]] [[BR]] == 4. The different atmospheric CO2 concentrations in the model == - PGACO2 = Radiative pCO2 for the atmosphere. In emic.f: {{{ ! Radiative: IF(.NOT.lradCO2) PGACO2=PCO2ref }}} [[BR]] - PCO2ref = constant to pre-industrial pCO2 levels... in emic.f : {{{ PCO2ref=277.4D0 }}} [[BR]] - 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