Update Aquaplanet slab ocean authored by Moritz Guenther's avatar Moritz Guenther
# How to run aquaplanet slab ocean experiments using MPI-ESM # How to run aquaplanet slab ocean experiments using MPI-ESM
Currently, one has to use the `mpiesm-landveg` branch if you'd like to run aquaplanet slab ocean. Currently, one has to use the `mpiesm-landveg` branch if you'd like to run aquaplanet slab ocean.
Update: This is not exactly true anymore, you can find out how to compile and use the p8-cdy branch [here](https://gitlab.dkrz.de/cdy/cdy-technical-page/-/wikis/Setup-and-run-CDY-branch-of-ECHAM). The advantage of that is that it's the same ECHAM version as in the MPI-ESM-p8-cdy branch, the downside is that `mkexp` doesn't work with it and you have to modify the run scripts manually, which can be a bit more challenging.
The example shown below is based on [previous guideline in here](https://gitlab.dkrz.de/jsbach/jsbach/-/wikis/uploads/3bae9f07c2ab3a9c5ac33a6894f9c211/Getting_Started_with_Git_for_MPIESM.pdf)
The example shown below is based on [previous guideline in here](https://gitlab.dkrz.de/jsbach/jsbach/-/wikis/uploads/3bae9f07c2ab3a9c5ac33a6894f9c211/Getting_Started_with_Git_for_MPIESM.pdf)
# Download model
### Clone mpiesm without --recursive and put it in directory mpiesm-landveg # Download model
```bash ### Clone mpiesm without --recursive and put it in directory mpiesm-landveg
git clone git@git.mpimet.mpg.de:mpiesm.git mpiesm-landveg ```bash
cd mpiesm-landveg git clone git@git.mpimet.mpg.de:mpiesm.git mpiesm-landveg
# Check which branch you're on cd mpiesm-landveg
git branch # Check which branch you're on
``` git branch
### Check out `mpiesm-landveg` branch ```
```bash ### Check out `mpiesm-landveg` branch
git checkout mpiesm-landveg ```bash
# Check which branch you're on git checkout mpiesm-landveg
git branch # Check which branch you're on
``` git branch
```
### Check whether submodules are initialised and/or checked out (likely not)
```bash ### Check whether submodules are initialised and/or checked out (likely not)
git submodule ```bash
# This should list all submodules not yet initialised or checked out git submodule
``` # This should list all submodules not yet initialised or checked out
```
### Initialise and check out submodules, then check again
```bash ### Initialise and check out submodules, then check again
git submodule update --init ```bash
git submodule git submodule update --init
``` git submodule
```
# Compile model
### Read RECIPE.landveg # Compile model
### Read RECIPE.landveg
### Edit landveg-compile.ksh to your needs
Of primary importance for aquaplanet slab ocean, you will be using `mpiesm-as` (echam6 only). ### Edit landveg-compile.ksh to your needs
Of primary importance for aquaplanet slab ocean, you will be using `mpiesm-as` (echam6 only).
```bash
vers=aqua # model version (tag used in the executable name) ```bash
cplmod=mpiesm-as # coupled model name: mpiesm-s (jsbach3, cbalance, hd) vers=aqua # model version (tag used in the executable name)
# mpiesm-s4 (jsbach4) cplmod=mpiesm-as # coupled model name: mpiesm-s (jsbach3, cbalance, hd)
# mpiesm-as (echam6) # mpiesm-s4 (jsbach4)
# mpiesm-as4 (echam6 with jsbach4) # mpiesm-as (echam6)
# mpiesm-asob (mpiesm-1.2) # mpiesm-as4 (echam6 with jsbach4)
compiler=intel # compiler to be used (nag/intel/gcc) # mpiesm-asob (mpiesm-1.2)
configure=yes # yes: run configure - mandatory if running the first time model version $vers compiler=intel # compiler to be used (nag/intel/gcc)
automake=no # yes: run automake, e.g. if dependencies changed (only with configure=yes) configure=yes # yes: run configure - mandatory if running the first time model version $vers
make_argument="-j 8" # number of processes for make, 'clean' or 'distclean' automake=no # yes: run automake, e.g. if dependencies changed (only with configure=yes)
# (make clean needs the modules, thus script is helpful) make_argument="-j 8" # number of processes for make, 'clean' or 'distclean'
``` # (make clean needs the modules, thus script is helpful)
```
### Execute landveg-compile.ksh
```bash ### Execute landveg-compile.ksh
./landveg-compile.ksh ```bash
``` ./landveg-compile.ksh
```
# Generate run script
The recipe/guideline on how to do this is in an older version of RECIPE.landveg. However, with the new checkout of `mpiesm-landveg`, this is no longer available. Hence, a snippet of that guideline is attached here. # Generate run script
The recipe/guideline on how to do this is in an older version of RECIPE.landveg. However, with the new checkout of `mpiesm-landveg`, this is no longer available. Hence, a snippet of that guideline is attached here.
```yaml
Running ```yaml
--------- Running
For standard simulation with mpiesm-asob we recommend to use runscripts generated ---------
with mkexp (compare RECIPE section 3 and below). For standard simulation with mpiesm-asob we recommend to use runscripts generated
with mkexp (compare RECIPE section 3 and below).
For all other configurations generate the run scripts using Create_TASKS.frm
For all other configurations generate the run scripts using Create_TASKS.frm
cd util/running/tools/
./Create_TASKS.frm <cplmod> --id <expid> [--node <node>] cd util/running/tools/
./Create_TASKS.frm <cplmod> --id <expid> [--node <node>]
with <cplmod> as defined above, <expid> being an experiment id of your choice,
and <node> being the computer name ('linux-x64' for CIS linux PCs, optional for with <cplmod> as defined above, <expid> being an experiment id of your choice,
mistral). and <node> being the computer name ('linux-x64' for CIS linux PCs, optional for
mistral).
Adapt the setup file you just created. Especially,
atmvers / srfvers (executable id) has to be consitent to the version 'vers' Adapt the setup file you just created. Especially,
defined in the compile script. atmvers / srfvers (executable id) has to be consitent to the version 'vers'
account account for computing time, e.g. mj0060, needs to be set on mistral defined in the compile script.
account account for computing time, e.g. mj0060, needs to be set on mistral
Then run Create_TASKS.frm again with the same parameters.
Then run Create_TASKS.frm again with the same parameters.
./Create_TASKS.frm <cplmod> --id <expid> [--node <node>]
``` ./Create_TASKS.frm <cplmod> --id <expid> [--node <node>]
```
### Here's an example for the aquaplanet slab ocean
### Here's an example for the aquaplanet slab ocean
```bash
cd util/running/tools/ ```bash
./Create_TASKS.frm mpiesm-as --id aqua cd util/running/tools/
``` ./Create_TASKS.frm mpiesm-as --id aqua
```
This creates a setup file, `setup_mpiesm-as_aqua` in the `util/running/setup/` folder. \
Modify `setup_mpiesm-as_aqua` This creates a setup file, `setup_mpiesm-as_aqua` in the `util/running/setup/` folder. \
``` Modify `setup_mpiesm-as_aqua`
atm_out_filetype=2 ```
forcing=climatology atm_out_filetype=2
iaero=0 forcing=climatology
isolrad=0 iaero=0
nsoil=1 isolrad=0
compile_path=/work/mh1421/mxxxxxx/mpiesm-landveg/build-${cplmod}-aqua/bin nsoil=1
export data=/work/mh1421/mxxxxxx/experiments_landveg compile_path=/work/mh1421/mxxxxxx/mpiesm-landveg/build-${cplmod}-aqua/bin
export archive=/work/mh1421/mxxxxxx/experiments_landveg export data=/work/mh1421/mxxxxxx/experiments_landveg
work=/work/mh1421/mxxxxxx/experiments_landveg export archive=/work/mh1421/mxxxxxx/experiments_landveg
account='mh1421' work=/work/mh1421/mxxxxxx/experiments_landveg
``` account='mh1421'
`experiments_landveg` is a folder created beforehand to store model output ```
`experiments_landveg` is a folder created beforehand to store model output
### Generating run script for each experiment
```bash ### Generating run script for each experiment
cd util/running/tools ```bash
./Create_TASKS.frm -F setup_mpiesm-as_aqua --id aqua0101 mpiesm-as cd util/running/tools
``` ./Create_TASKS.frm -F setup_mpiesm-as_aqua --id aqua0101 mpiesm-as
```
### Edits to run script
Not yet there, but getting close...... Namelist parameters and input forcing files must be specified in accordance to aquaplanet slab ocean requirements. ### Edits to run script
Not yet there, but getting close...... Namelist parameters and input forcing files must be specified in accordance to aquaplanet slab ocean requirements.
**Modifications to namelist settings**
1. Under **runctl**, please add \ **Modifications to namelist settings**
`echo " l_orbvsop87 = .false." >> namelist.echam` \ 1. Under **runctl**, please add \
`echo " lmlo = .true." >> namelist.echam` \ `echo " l_orbvsop87 = .false." >> namelist.echam` \
`echo " lmlo_ice = .false." >> namelist.echam` `echo " lmlo = .true." >> namelist.echam` \
`echo " lmlo_ice = .false." >> namelist.echam`
2. Under **radctl**, please add \
`echo " ldiur = false" >> namelist.echam` \ 2. Under **radctl**, please add \
`echo " cecc = 0.0" >> namelist.echam` \ `echo " ldiur = false" >> namelist.echam` \
`echo " cobld = 0.0" >> namelist.echam` \ `echo " cecc = 0.0" >> namelist.echam` \
Please also comment out as follows: `echo " cobld = 0.0" >> namelist.echam` \
```bash Please also comment out as follows:
#if [[ ${read_ghg} == false ]]; then ```bash
echo " ighg = 0" >> namelist.echam #if [[ ${read_ghg} == false ]]; then
echo " icfc = 2" >> namelist.echam echo " ighg = 0" >> namelist.echam
echo " ich4 = 3" >> namelist.echam echo " icfc = 2" >> namelist.echam
#else echo " ich4 = 3" >> namelist.echam
# echo " ighg = 1" >> namelist.echam #else
# echo " icfc = 4" >> namelist.echam # echo " ighg = 1" >> namelist.echam
# echo " ich4 = 4" >> namelist.echam # echo " icfc = 4" >> namelist.echam
#fi # echo " ich4 = 4" >> namelist.echam
#fi
#if [ "${piControl}" = "true" ]; then
# echo " co2vmr = 284.3169860840e-06" >> namelist.echam #if [ "${piControl}" = "true" ]; then
echo " co2vmr = 280.0e-06" >> namelist.echam # echo " co2vmr = 284.3169860840e-06" >> namelist.echam
echo " ch4vmr = 808.2490234375e-09" >> namelist.echam echo " co2vmr = 280.0e-06" >> namelist.echam
echo " n2ovmr = 273.0210571289e-09" >> namelist.echam echo " ch4vmr = 808.2490234375e-09" >> namelist.echam
# echo " yr_perp = 1850" >> namelist.echam echo " n2ovmr = 273.0210571289e-09" >> namelist.echam
#fi # echo " yr_perp = 1850" >> namelist.echam
``` #fi
3. Under **greenhouse gases** \ ```
Please comment out and add 3 lines like this: 3. Under **greenhouse gases** \
```bash Please comment out and add 3 lines like this:
#if [[ ${co2_transport} = true ]]; then ```bash
# ico2=1 # prognostic CO2 mass mixing ratio #if [[ ${co2_transport} = true ]]; then
# lco2_scenario=false # ico2=1 # prognostic CO2 mass mixing ratio
#elif [[ ${read_ghg} == true ]]; then # lco2_scenario=false
# lco2_scenario=true # use CO2 scenario in jsbach #elif [[ ${read_ghg} == true ]]; then
# ico2=4 # use CO2 scenario in echam radiation # lco2_scenario=true # use CO2 scenario in jsbach
#else # ico2=4 # use CO2 scenario in echam radiation
# ico2=2 # uniform CO2 volume mixing ratio #else
#fi # ico2=2 # uniform CO2 volume mixing ratio
lco2_scenario=false #fi
ico2=2 lco2_scenario=false
#if [[ ${n2o_transport} = true ]]; then ico2=2
# in2o=1 # prognostic N2O mass mixing ratio #if [[ ${n2o_transport} = true ]]; then
#elif [[ ${read_ghg} == true ]]; then # in2o=1 # prognostic N2O mass mixing ratio
# in2o=4 # use N2O scenario in echam radiation #elif [[ ${read_ghg} == true ]]; then
#else # in2o=4 # use N2O scenario in echam radiation
# in2o=3 # uniform N2O volume mixing ratio #else
#fi # in2o=3 # uniform N2O volume mixing ratio
in2o=3 #fi
``` in2o=3
```
**Modifications to linking input files**
**Modifications to linking input files**
While many input forcing files need to change, this is done by changing the link/pointing. However, to run with slab ocean, you'll need an extra file, the `heatflux` or `qflx` file. Assume for the moment you have this file `T63_heatflux_test.nc`. There are also two other files that are not necessarily readily available, `T63GR15_surf_aqua_irad_noseason_final.nc` and `T63_ozone_historical_1850.nc` \
Below, unless otherwise stated, `#` means to comment these lines out and be sure to add the new pointers. While many input forcing files need to change, this is done by changing the link/pointing. However, to run with slab ocean, you'll need an extra file, the `heatflux` or `qflx` file. Assume for the moment you have this file `T63_heatflux_test.nc`. There are also two other files that are not necessarily readily available, `T63GR15_surf_aqua_irad_noseason_final.nc` and `T63_ozone_historical_1850.nc` \
Below, unless otherwise stated, `#` means to comment these lines out and be sure to add the new pointers.
1. 3d initial file of atmosphere (spectral, no dependence on lsmask)
```bash 1. 3d initial file of atmosphere (spectral, no dependence on lsmask)
#get_file ${atmmod} input ${res_atm}L${vres_atm}_jan_spec.nc unit.23 ```bash
aquadir=/pool/data/ECHAM6/T63/aqua #get_file ${atmmod} input ${res_atm}L${vres_atm}_jan_spec.nc unit.23
get_file ${atmmod} input ${aquadir}/JW_balanced_init_spec_${res_atm}L${vres_atm}_ECHAM.nc unit.23 aquadir=/pool/data/ECHAM6/T63/aqua
``` get_file ${atmmod} input ${aquadir}/JW_balanced_init_spec_${res_atm}L${vres_atm}_ECHAM.nc unit.23
2. Surface boundary conditions (land/sea mask, albedo etc.), annual mean data; file depends on lsmask ```
```bash 2. Surface boundary conditions (land/sea mask, albedo etc.), annual mean data; file depends on lsmask
aquaindir=/work/mh1421/m300466/mpiesm-landveg/input/tra ```bash
#get_file ${atmmod} input ${res_atm}${res_oce}_jan_surf.nc unit.24 aquaindir=/work/mh1421/m300466/mpiesm-landveg/input/tra
get_file ${atmmod} input ${aquaindir}/echam6/T63GR15_surf_aqua_irad_noseason_final.nc unit.24 #get_file ${atmmod} input ${res_atm}${res_oce}_jan_surf.nc unit.24
``` get_file ${atmmod} input ${aquaindir}/echam6/T63GR15_surf_aqua_irad_noseason_final.nc unit.24
3. AMIP sst and sea ice concentration; files depend on lsmask ```
```bash 3. AMIP sst and sea ice concentration; files depend on lsmask
if [ "${forcing}" = "amip" ]; then ```bash
typeset -Z4 yr yp1 ym1 if [ "${forcing}" = "amip" ]; then
yr=$(format_date -f4 -- ${startdate} | cut -f1 -d" ") typeset -Z4 yr yp1 ym1
(( yp1 = yr + 1 )) yr=$(format_date -f4 -- ${startdate} | cut -f1 -d" ")
(( ym1 = yr - 1 )) (( yp1 = yr + 1 ))
for yrs in ${yr} ${yp1} ${ym1}; do (( ym1 = yr - 1 ))
amipdir=/pool/data/ECHAM6/input/${archive_rev_echam6}/${res_atm}/amip for yrs in ${yr} ${yp1} ${ym1}; do
#get_file ${atmmod} input ${amipdir}/${res_atm}_amipsst_${yrs}.nc sst${yrs} amipdir=/pool/data/ECHAM6/input/${archive_rev_echam6}/${res_atm}/amip
#get_file ${atmmod} input ${amipdir}/${res_atm}_amipsic_${yrs}.nc ice${yrs} #get_file ${atmmod} input ${amipdir}/${res_atm}_amipsst_${yrs}.nc sst${yrs}
get_file ${atmmod} input ${aquadir}/${res_atm}_sst_aqua_Qobs.nc sst${yrs} #get_file ${atmmod} input ${amipdir}/${res_atm}_amipsic_${yrs}.nc ice${yrs}
get_file ${atmmod} input ${aquadir}/${res_atm}_sic_aqua.nc ice${yrs} get_file ${atmmod} input ${aquadir}/${res_atm}_sst_aqua_Qobs.nc sst${yrs}
done get_file ${atmmod} input ${aquadir}/${res_atm}_sic_aqua.nc ice${yrs}
else done
#get_file ${atmmod} input ${res_atm}_amipsst_clim.nc unit.20 else
#get_file ${atmmod} input ${res_atm}_amipsic_clim.nc unit.96 #get_file ${atmmod} input ${res_atm}_amipsst_clim.nc unit.20
get_file ${atmmod} input ${aquadir}/${res_atm}_sst_aqua_Qobs.nc unit.20 #get_file ${atmmod} input ${res_atm}_amipsic_clim.nc unit.96
get_file ${atmmod} input ${aquadir}/${res_atm}_sic_aqua.nc unit.96 get_file ${atmmod} input ${aquadir}/${res_atm}_sst_aqua_Qobs.nc unit.20
fi get_file ${atmmod} input ${aquadir}/${res_atm}_sic_aqua.nc unit.96
``` fi
4. Heat fluxes for mixed layer ocean (needed for slab ocean and needs to be added entirely) ```
```yaml 4. Heat fluxes for mixed layer ocean (needed for slab ocean and needs to be added entirely)
# ```yaml
# heat fluxes for mixed layer ocean #
# # heat fluxes for mixed layer ocean
get_file ${atmmod} input ${aquaindir}/echam6/T63_heatflux_test.nc unit.42 #
``` get_file ${atmmod} input ${aquaindir}/echam6/T63_heatflux_test.nc unit.42
5. Ozone ```
```bash 5. Ozone
# # ozone ```bash
# if [[ ${io3} = 4 ]]; then # read ozon climatology from file # # ozone
# ozonedir=/pool/data/ECHAM6/input/${archive_rev_echam6}/${res_atm}/ozone # if [[ ${io3} = 4 ]]; then # read ozon climatology from file
# if [[ ${piControl} = true ]]; then # ozonedir=/pool/data/ECHAM6/input/${archive_rev_echam6}/${res_atm}/ozone
# get_file ${atmmod} input ${ozonedir}/${res_atm}_ozone_picontrol.nc ozon${yrs} # if [[ ${piControl} = true ]]; then
# else # get_file ${atmmod} input ${ozonedir}/${res_atm}_ozone_picontrol.nc ozon${yrs}
# if [[ ${yrs} -le 1849 ]]; then # else
# get_file ${atmmod} input ${ozonedir}/${res_atm}_ozone_${scenario}_1850.nc ozon${yrs} # if [[ ${yrs} -le 1849 ]]; then
# else # get_file ${atmmod} input ${ozonedir}/${res_atm}_ozone_${scenario}_1850.nc ozon${yrs}
# if [[ ${yrs} -le 2014 ]]; then # else
# get_file ${atmmod} input ${ozonedir}/${res_atm}_ozone_historical_${yrs}.nc ozon${yrs} # if [[ ${yrs} -le 2014 ]]; then
# else # get_file ${atmmod} input ${ozonedir}/${res_atm}_ozone_historical_${yrs}.nc ozon${yrs}
# get_file ${atmmod} input ${ozonedir}/${res_atm}_ozone_${scenario}_${yrs}.nc ozon${yrs} # else
# fi # get_file ${atmmod} input ${ozonedir}/${res_atm}_ozone_${scenario}_${yrs}.nc ozon${yrs}
# fi # fi
# fi # fi
# fi # fi
get_file ${atmmod} input ${aquaindir}/echam6/T63_ozone_historical_1850.nc ozon${yrs} # fi
``` get_file ${atmmod} input ${aquaindir}/echam6/T63_ozone_historical_1850.nc ozon${yrs}
6. Soil layers ```
```bash 6. Soil layers
#get_file ${srfmod} input jsbach_${grid}_${nsoil}layers_${refyear}_${dvtag}${surface_tag}.nc jsbach.nc ```bash
get_file ${srfmod} input ${aquadir}/jsbach_${res_atm}${res_oce}_11tiles_1976_aqua.nc jsbach.nc #get_file ${srfmod} input jsbach_${grid}_${nsoil}layers_${refyear}_${dvtag}${surface_tag}.nc jsbach.nc
``` get_file ${srfmod} input ${aquadir}/jsbach_${res_atm}${res_oce}_11tiles_1976_aqua.nc jsbach.nc
7. Land use maps/ cover fraction ```
```bash 7. Land use maps/ cover fraction
# [[ ${startyear} -le 1992 ]] && ludir=/pool/data/JSBACH/input/${archive_rev_jsbach}/${res_srf}/land_use_maps ```bash
# [[ ${startyear} -gt 1992 ]] && ludir=/pool/data/JSBACH/input/${archive_rev_jsbach}/${res_srf}/land_use_maps/A1B # [[ ${startyear} -le 1992 ]] && ludir=/pool/data/JSBACH/input/${archive_rev_jsbach}/${res_srf}/land_use_maps
ludir=/pool/data/JSBACH/input/${archive_rev_jsbach}/${res_srf}/land_use_maps # [[ ${startyear} -gt 1992 ]] && ludir=/pool/data/JSBACH/input/${archive_rev_jsbach}/${res_srf}/land_use_maps/A1B
ludir=/pool/data/JSBACH/input/${archive_rev_jsbach}/${res_srf}/land_use_maps
# get_file ${srfmod} input ${ludir}/cover_fract_${res_srf}_${ntiles}tiles_${startyear}.nc cover_fract.${startyear}.nc
get_file ${srfmod} input ${ludir}/cover_fract_${res_srf}_${ntiles}tiles_2015.nc cover_fract.${startyear}.nc # get_file ${srfmod} input ${ludir}/cover_fract_${res_srf}_${ntiles}tiles_${startyear}.nc cover_fract.${startyear}.nc
``` get_file ${srfmod} input ${ludir}/cover_fract_${res_srf}_${ntiles}tiles_2015.nc cover_fract.${startyear}.nc
```
A little more on preparations of these input files, particularly for aquaplanet slab ocean.
A little more on preparations of these input files, particularly for aquaplanet slab ocean.
- Ozone file needs a vertical profile to ensure radiative properties of the stratosphere and troposphere, but for an aquaplanet slab ocean, we would need zonally invariant and hemispherically symmetric ozone concentrations.
- Solar irradiance must have no seasons. Here, we ensure eccentricity and obliquity is also set to zero. However, all these do not account for varying zenith angle of the sun. - Ozone file needs a vertical profile to ensure radiative properties of the stratosphere and troposphere, but for an aquaplanet slab ocean, we would need zonally invariant and hemispherically symmetric ozone concentrations.
- 'qfl' file: The simplest option is to use no correction 'qflx=0' everywhere. Here, the system would respond to the forcing and can arrive at a different mean state climate, fully free to evolve. - Solar irradiance must have no seasons. Here, we ensure eccentricity and obliquity is also set to zero. However, all these do not account for varying zenith angle of the sun.
- 'qflx' file to constrain to the same climate mean state. Here, the 'qlfx' file is normally obtained by first running a slab ocean aquaplanet with zero flux correction in order to get the climatological SST. The SST is then used to run a pure aquaplanet run with prescribed SST that has been post-processed (i.e. climatological mean, zonally averaged, hemispherically symmetric) for about 20 years, and from which we can get the surface flux associated with the mean climate state. This surface flux then requires post-processing to get a climatological mean, zonally invariant and hemispherically symmetric flux file, that is then used as the 'qflx' file input to the actual aquaplanet slab ocean run. - 'qfl' file: The simplest option is to use no correction 'qflx=0' everywhere. Here, the system would respond to the forcing and can arrive at a different mean state climate, fully free to evolve.
- 'qflx' file to constrain to the same climate mean state. Here, the 'qlfx' file is normally obtained by first running a slab ocean aquaplanet with zero flux correction in order to get the climatological SST. The SST is then used to run a pure aquaplanet run with prescribed SST that has been post-processed (i.e. climatological mean, zonally averaged, hemispherically symmetric) for about 20 years, and from which we can get the surface flux associated with the mean climate state. This surface flux then requires post-processing to get a climatological mean, zonally invariant and hemispherically symmetric flux file, that is then used as the 'qflx' file input to the actual aquaplanet slab ocean run.
# Submit job
```bash # Submit job
cd experiments/aqua0101/scripts ```bash
sbatch aqua0101.run cd experiments/aqua0101/scripts
sbatch aqua0101.run
``` ```
\ No newline at end of file