From ee342ac726f695d159c933b9efc66a4437418b17 Mon Sep 17 00:00:00 2001
From: Martin Schupfner <k204212@levante4.lvt.dkrz.de>
Date: Wed, 18 Sep 2024 16:03:15 +0200
Subject: [PATCH] Updated CMOR tables (set version 00.00.04), added SLdec
 table, added MPI-ESM1-2-1-CR

---
 DB/Create_QC_csv_files.py                     |  5 ++
 .../palmod2_aggregation_MPI-ESM1-2_jsbach.h   | 48 +++++++------
 .../palmod2_aggregation_MPI-ESM1-2_mpiom.h    | 17 ++---
 .../palmod2_aggregation_MPI-ESM1-2_vilma.h    | 12 +++-
 ...lmod2_cmor-rewrite_MPI-ESM1-2_mpiom_auto.h |  2 +-
 ...lmod2_cmor-rewrite_MPI-ESM1-2_vilma_auto.h | 14 ++--
 ...palmod2_diagnostic_MPI-ESM1-2_vilma_auto.h | 19 ++---
 cmor/mpiesm/scripts/pismtest.cmor_ctl         | 13 ++--
 cmor/mpiesm/scripts/pismtest.runpp            |  1 -
 .../MPI-ESM1-2_vilma_PalMod2_mapping.txt      |  2 +-
 ...laciation-interactive_r1i1p1f1-CR.cmor_ctl |  6 +-
 ...deglaciation-interactive_r1i1p1f1-CR.runpp | 71 ++++++++++++-------
 ...iation-interactive_r1i1p1f1-CR_cdocmorinfo | 11 +--
 ...rescribed-glac1d-methane_r1i1p1f1-CR.runpp |  1 +
 cmor_tables/IcenAnt.csv                       |  8 +++
 cmor_tables/IcenGre.csv                       |  8 +++
 cmor_tables/IyrAnt.csv                        |  8 +++
 cmor_tables/IyrGre.csv                        |  8 +++
 cmor_tables/PalMod2_AERmon.json               |  4 +-
 cmor_tables/PalMod2_Amon.json                 |  4 +-
 cmor_tables/PalMod2_CV.json                   | 19 +++++
 cmor_tables/PalMod2_Emon.json                 |  4 +-
 cmor_tables/PalMod2_EmonZ.json                |  4 +-
 cmor_tables/PalMod2_IcenAnt.json              |  4 +-
 cmor_tables/PalMod2_IcenGre.json              |  4 +-
 cmor_tables/PalMod2_IdecAnt.json              |  4 +-
 cmor_tables/PalMod2_IdecGre.json              |  4 +-
 cmor_tables/PalMod2_IyrAnt.json               |  4 +-
 cmor_tables/PalMod2_IyrGre.json               |  4 +-
 cmor_tables/PalMod2_LImon.json                |  4 +-
 cmor_tables/PalMod2_Lmon.json                 |  4 +-
 cmor_tables/PalMod2_Odec.json                 |  4 +-
 cmor_tables/PalMod2_Ofx.json                  |  4 +-
 cmor_tables/PalMod2_Omon.json                 |  4 +-
 cmor_tables/PalMod2_Oyr.json                  |  4 +-
 cmor_tables/PalMod2_SImon.json                |  4 +-
 cmor_tables/PalMod2_SLdec.json                |  4 +-
 cmor_tables/PalMod2_centennial.json           |  4 +-
 cmor_tables/PalMod2_dec.json                  |  4 +-
 cmor_tables/PalMod2_fx.json                   |  4 +-
 cmor_tables/PalMod2_grids.json                |  4 +-
 cmor_tables/SLdec.csv                         |  5 ++
 cmor_tables/fx.csv                            |  1 +
 43 files changed, 231 insertions(+), 136 deletions(-)
 create mode 100644 cmor_tables/IcenAnt.csv
 create mode 100644 cmor_tables/IcenGre.csv
 create mode 100644 cmor_tables/IyrAnt.csv
 create mode 100644 cmor_tables/IyrGre.csv
 create mode 100644 cmor_tables/SLdec.csv

diff --git a/DB/Create_QC_csv_files.py b/DB/Create_QC_csv_files.py
index 5c0207c..ecab961 100644
--- a/DB/Create_QC_csv_files.py
+++ b/DB/Create_QC_csv_files.py
@@ -40,6 +40,10 @@ json_miptables={"PalMod2_Amon.json",
                 "PalMod2_fx.json",
                 "PalMod2_IdecAnt.json",
                 "PalMod2_IdecGre.json",
+                "PalMod2_IcenAnt.json",
+                "PalMod2_IcenGre.json",
+                "PalMod2_IyrAnt.json",
+                "PalMod2_IyrGre.json",
                 "PalMod2_LImon.json",
                 "PalMod2_Lmon.json",
                 "PalMod2_Ofx.json",
@@ -47,6 +51,7 @@ json_miptables={"PalMod2_Amon.json",
                 "PalMod2_Oyr.json",
                 "PalMod2_Odec.json",
                 "PalMod2_SImon.json",
+                "PalMod2_SLdec.json",
                 "PalMod2_centennial.json",
     }
 
diff --git a/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_jsbach.h b/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_jsbach.h
index f204099..1529ad4 100644
--- a/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_jsbach.h
+++ b/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_jsbach.h
@@ -26,7 +26,7 @@ suf=grb
   #-- mrsofc
   $cdo expr,'mrsofc=soil_field_cap*soil_depth*1.e+3;' $ifile ${sdir}/tmp_aggr/tmp_mrsofc_${period}.nc || echo ERROR
 
-  for l_yyyy in $(seq $period $(( period + 9 )) ); do
+  for l_yyyy in $(seq $((period - 9)) ${period}); do
     $cdo settunits,days -settaxis,${l_yyyy}-01-15,12:00:00,1mon -duplicate,12 $sdir/tmp_aggr/tmp_slm_$period $sdir/out_aggr/slm_${l_yyyy} || echo ERROR
     $cdo settunits,days -settaxis,${l_yyyy}-01-15,12:00:00,1mon -duplicate,12 $sdir/tmp_aggr/tmp_slm_nan_$period $sdir/out_aggr/slm_nan_${l_yyyy} || echo ERROR
     $cdo settunits,days -settaxis,${l_yyyy}-01-15,12:00:00,1mon -duplicate,12 $sdir/tmp_aggr/tmp_glac_$period $sdir/out_aggr/glac_${l_yyyy} || echo ERROR
@@ -44,28 +44,30 @@ wait
 #
 #-- cover_fract, veg_ratio_max, and box_cover_fract (monthly mean)
 #
-{ (if_requested $member $srfmod jsbachdecfx input $chunk && {
-  $cdo selcode,12 $sdir/${RAW_EXP_IDS[$y]}_jsbach_jsbach_mm_$period.$suf $sdir/tmp_aggr/cover_fract_mon_$period.tmp || echo ERROR
-  if [[ "$(echo ${dynveg:-false} | tr [:upper:] [:lower:])" == "true" ]]; then
-    $cdo selcode,20 $sdir/${RAW_EXP_IDS[$y]}_jsbach_jsbach_mm_$period.$suf $sdir/tmp_aggr/veg_ratio_max_mon_$period.tmp || echo ERROR
-  else
-    cp $sdir/tmp_aggr/veg_ratio_max_mon_ini_$period.tmp $sdir/tmp_aggr/veg_ratio_max_mon_$period.tmp || echo ERROR
-  fi
-
-  #  In grib format 3.05e-5 is the minimum value different from 0 for records with values between 0 and 1
-  # we set all fractions below 5.e-5 to zero, to avoid errors with variables that need to be scaled.
-  # It is important to use netCDF for these calculations!
-  $cdo mul              $sdir/tmp_aggr/veg_ratio_max_mon_$period.tmp   $sdir/tmp_aggr/cover_fract_mon_$period.tmp      $sdir/tmp_aggr/box_cover_fract_mon_$period.tmp         || echo ERROR
-  $cdo mul -gtc,5.e-5   $sdir/tmp_aggr/veg_ratio_max_mon_$period.tmp   $sdir/tmp_aggr/veg_ratio_max_mon_$period.tmp    $sdir/out_aggr/veg_ratio_max_mon_$period   || echo ERROR
-  $cdo mul -gtc,5.e-5   $sdir/tmp_aggr/cover_fract_mon_$period.tmp     $sdir/tmp_aggr/cover_fract_mon_$period.tmp      $sdir/out_aggr/cover_fract_mon_$period     || echo ERROR
-  $cdo mul -gtc,5.e-5   $sdir/tmp_aggr/box_cover_fract_mon_$period.tmp $sdir/tmp_aggr/box_cover_fract_mon_$period.tmp  $sdir/out_aggr/box_cover_fract_mon_$period || echo ERROR
-  $cdo setname,bare -sub -addc,1 -mulc,-1 $sdir/tmp_aggr/veg_ratio_max_mon_$period.tmp $sdir/out_aggr/glac_$period $sdir/out_aggr/bare_mon_$period            || echo ERROR
-  #
-  #-- veg_ratio_max and box_cover_fract (annual mean)
-  #
-  $cdo yearmonmean $sdir/out_aggr/veg_ratio_max_mon_$period   $sdir/out_aggr/veg_ratio_max_yr_$period || echo ERROR
-  $cdo yearmonmean $sdir/out_aggr/box_cover_fract_mon_$period $sdir/out_aggr/box_cover_fract_yr_$period || echo ERROR
-  rm -f $sdir/tmp_aggr/*$period.tmp
+{ (if_requested $member $srfmod jsbachdecfx input $chunk "$srfmod_input_dec_chunk" && {
+    for l_yyyy in $(seq $((period - 9)) ${period}); do
+        $cdo selcode,12 $sdir/${RAW_EXP_IDS[$y]}_jsbach_jsbach_mm_${l_yyyy}.$suf $sdir/tmp_aggr/cover_fract_mon_${l_yyyy}.tmp || echo ERROR
+        if [[ "$(echo ${dynveg:-false} | tr [:upper:] [:lower:])" == "true" ]]; then
+            $cdo selcode,20 $sdir/${RAW_EXP_IDS[$y]}_jsbach_jsbach_mm_${l_yyyy}.$suf $sdir/tmp_aggr/veg_ratio_max_mon_${l_yyyy}.tmp || echo ERROR
+        else
+            cp $sdir/tmp_aggr/veg_ratio_max_mon_ini_${l_yyyy}.tmp $sdir/tmp_aggr/veg_ratio_max_mon_${l_yyyy}.tmp || echo ERROR
+        fi
+
+        #  In grib format 3.05e-5 is the minimum value different from 0 for records with values between 0 and 1
+        # we set all fractions below 5.e-5 to zero, to avoid errors with variables that need to be scaled.
+        # It is important to use netCDF for these calculations!
+        $cdo mul              $sdir/tmp_aggr/veg_ratio_max_mon_${l_yyyy}.tmp   $sdir/tmp_aggr/cover_fract_mon_${l_yyyy}.tmp      $sdir/tmp_aggr/box_cover_fract_mon_${l_yyyy}.tmp         || echo ERROR
+        $cdo mul -gtc,5.e-5   $sdir/tmp_aggr/veg_ratio_max_mon_${l_yyyy}.tmp   $sdir/tmp_aggr/veg_ratio_max_mon_${l_yyyy}.tmp    $sdir/out_aggr/veg_ratio_max_mon_${l_yyyy}   || echo ERROR
+        $cdo mul -gtc,5.e-5   $sdir/tmp_aggr/cover_fract_mon_${l_yyyy}.tmp     $sdir/tmp_aggr/cover_fract_mon_${l_yyyy}.tmp      $sdir/out_aggr/cover_fract_mon_${l_yyyy}     || echo ERROR
+        $cdo mul -gtc,5.e-5   $sdir/tmp_aggr/box_cover_fract_mon_${l_yyyy}.tmp $sdir/tmp_aggr/box_cover_fract_mon_${l_yyyy}.tmp  $sdir/out_aggr/box_cover_fract_mon_${l_yyyy} || echo ERROR
+        $cdo setname,bare -sub -addc,1 -mulc,-1 $sdir/tmp_aggr/veg_ratio_max_mon_${l_yyyy}.tmp $sdir/out_aggr/glac_${l_yyyy} $sdir/out_aggr/bare_mon_${l_yyyy}            || echo ERROR
+        #
+        #-- veg_ratio_max and box_cover_fract (annual mean)
+        #
+        $cdo yearmonmean $sdir/out_aggr/veg_ratio_max_mon_${l_yyyy}   $sdir/out_aggr/veg_ratio_max_yr_${l_yyyy} || echo ERROR
+        $cdo yearmonmean $sdir/out_aggr/box_cover_fract_mon_${l_yyyy} $sdir/out_aggr/box_cover_fract_yr_${l_yyyy} || echo ERROR
+        rm -f $sdir/tmp_aggr/*${l_yyyy}.tmp
+    done
 }; )&; }>$err.veg.type 2>&1
 
 ###########################################################################################################
diff --git a/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_mpiom.h b/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_mpiom.h
index fd4d44d..9a4268e 100644
--- a/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_mpiom.h
+++ b/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_mpiom.h
@@ -3,12 +3,12 @@
 ################################
 
 #--mpiom: fx and masks
-{ ( { if_requested $member $ocemod mpiom fx $chunk || if_requested $member $ocemod mpiom gridfile $chunk ; } || continue
-    find_file "$rawsdir" "*_mpiom_fx_${ocemod_fxyear}*" ifile
-    ln -sf $ifile $sdir/mpiom_fx.nc || echo ERROR fx file
-    # In case these land-sea-masks change with time, this needs an update...
-    $cdo selname,amsuo,amsue $ifile $sdir/grid_mpiom_fx.nc || echo ERROR grid file
-)&; }>>$err.mpiom.fx 2>&1
+#{ ( { if_requested $member $ocemod mpiom fx $chunk || if_requested $member $ocemod mpiom gridfile $chunk ; } || continue
+#    find_file "$rawsdir" "*_mpiom_fx_${ocemod_fxyear}*" ifile
+#    ln -sf $ifile $sdir/mpiom_fx.nc || echo ERROR fx file
+#    # In case these land-sea-masks change with time, this needs an update...
+#    $cdo selname,amsuo,amsue $ifile $sdir/grid_mpiom_fx.nc || echo ERROR grid file
+#)&; }>>$err.mpiom.fx 2>&1
 
 #--mpiom: basin
 #{ ( if [[ ! -s $sdir/${RAW_EXP_IDS[$y]}_mpiom_basin.nc ]]; then
@@ -56,14 +56,15 @@
   ofile=$sdir/out_aggr/Ofx_areacello.nc
   $cdo selname,sos $ifile ${ofile}_sos || echo ERROR
   $cdo griddes ${ofile}_sos > $gfile || echo ERROR
+  # !!! in newer cdo versions, the bounds will be deleted using sethalo,-1,-1 !!!
   $cdo sethalo,-1,-1 -selcode,1 $ifile ${ofile}_tmp || echo ERROR
   $cdo setgrid,${gfile} -setname,areacello -sethalo,1,1 -gridarea ${ofile}_tmp $ofile && rm -f ${ofile}_tmp ${ofile}_sos $gfile || echo ERROR
 )&; }>>$err.Ofx.areacello 2>&1
 
 { ( { if_requested $member $ocemod Omon areacello $chunk || if_requested $member $ocemod Ofx areacello $chunk ; } || continue
   find_file "$sdir" "*_mpiom_data_2d_mm_${period}*.nc" ifile >> $err.find_file.Omon 2>&1
-  gfile=$sdir/tmp_aggr/areacello_$period.grid
-  ofile=$sdir/out_aggr/areacello_$period.nc
+  gfile=$sdir/tmp_aggr/Omon_areacello_$period.grid
+  ofile=$sdir/out_aggr/Omon_areacello_$period.nc
   $cdo selname,sos $ifile ${ofile}_sos || echo ERROR
   $cdo griddes ${ofile}_sos > $gfile || echo ERROR
   $cdo sethalo,-1,-1 -selcode,1 $ifile ${ofile}_tmp || echo ERROR
diff --git a/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_vilma.h b/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_vilma.h
index 654e0ff..4cc429a 100644
--- a/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_vilma.h
+++ b/cmor/mpiesm/scripts/palmod2_aggregation_MPI-ESM1-2_vilma.h
@@ -2,17 +2,23 @@
 # VILMA ########################
 ################################
 
-{ (if_requested $member $slmod vilmadecfx input $chunk "$vilma_input_dec_chunk" && {
+{ (if_requested $member $slmod fx areacellsl $chunk && {
+  # Create fx variable
+  $cdo setname,glac $input_file_glac_fx $sdir/out_aggr/SLfx_glac_${period_bk}.nc || echo ERROR
+}; )&; }>$err.fx.areacellsl 2>&1
+
+
+{ (if_requested $member $slmod vilmadecfx input $chunk "$slmod_input_dec_chunk" && {
 
   # Create decadal "fx"-variables
   ifile_topo=$input_file_topo
   ifile_glac=$input_file_glac
 
   #-- orog
-  $cdo setname,orog $input_file_topo $sdir/out_aggr/orog_SLdec_$period.nc || echo ERROR
+  $cdo setname,orog $input_file_topo $sdir/out_aggr/SLdec_orog_${period_bk}.nc || echo ERROR
 
   #-- glac
-  $cdo setname,glac $input_file_glac $sdir/out_aggr/glac_SLdec_$period.nc || echo ERROR
+  $cdo setname,sftgif $input_file_glac $sdir/out_aggr/SLdec_sftgif_${period_bk}.nc || echo ERROR
 
 }; )&; }>$err.vilmadecfx.input 2>&1
 
diff --git a/cmor/mpiesm/scripts/palmod2_cmor-rewrite_MPI-ESM1-2_mpiom_auto.h b/cmor/mpiesm/scripts/palmod2_cmor-rewrite_MPI-ESM1-2_mpiom_auto.h
index be62a6d..6c05ebe 100644
--- a/cmor/mpiesm/scripts/palmod2_cmor-rewrite_MPI-ESM1-2_mpiom_auto.h
+++ b/cmor/mpiesm/scripts/palmod2_cmor-rewrite_MPI-ESM1-2_mpiom_auto.h
@@ -66,7 +66,7 @@ done
 
 #-- CMOR-rewrite for mpiom (ESM: MPI-ESM1-2) Ofx
 cn='areacello'
-find_file "$sdir" "areacello_${period}.nc" ifile >> $err.find_file.Ofx 2>&1
+find_file "$sdir" "Ofx_areacello.nc" ifile >> $err.find_file.Ofx 2>&1
 for var in $cn; do
   { (if_requested $member $ocemod Ofx $var $chunk || continue
   mkdir -p $dr/$submodel/Ofx_${var}
diff --git a/cmor/mpiesm/scripts/palmod2_cmor-rewrite_MPI-ESM1-2_vilma_auto.h b/cmor/mpiesm/scripts/palmod2_cmor-rewrite_MPI-ESM1-2_vilma_auto.h
index cf6d6c1..118c288 100644
--- a/cmor/mpiesm/scripts/palmod2_cmor-rewrite_MPI-ESM1-2_vilma_auto.h
+++ b/cmor/mpiesm/scripts/palmod2_cmor-rewrite_MPI-ESM1-2_vilma_auto.h
@@ -1,9 +1,9 @@
 #-- CMOR-rewrite for vilma (ESM: MPI-ESM1-2) SLdec
-cn='glac orog'
+cn='orog sftgif'
 for var in $cn; do
-  { (if_requested $member $slmod SLdec $var $chunk '${slmod_dec_chunk}' || continue
+  { (if_requested $member $slmod SLdec $var $chunk '${slmod_input_dec_chunk}' || continue
   mkdir -p $dr/$submodel/SLdec_${var}
-  find_file "$sdir" "SLdec_${var}_${period}*.nc" ifile >> $err.find_file.SLdec 2>&1
+  find_file "$sdir" "SLdec_${var}_${period_bk}*.nc" ifile >> $err.find_file.SLdec 2>&1
   echo $cdo cmor,SLdec,i=$it,mt=$mt,dr=$dr/$submodel/SLdec_${var},vd=$vd,cn=$var,ta=cmip,di=$di ${cdochain-} $ifile
   $cdo cmor,SLdec,i=$it,mt=$mt,dr=$dr/$submodel/SLdec_${var},vd=$vd,cn=$var,ta=cmip,di=$di ${cdochain-} $ifile || echo ERROR
   )&; }>>$err.$var.SLdec 2>&1
@@ -14,9 +14,9 @@ cn='rslc'
 for var in $cn; do
   { (if_requested $member $slmod SLdec $var $chunk '${slmod_dec_chunk}' || continue
   mkdir -p $dr/$submodel/SLdec_${var}
-  ifile=${sdir}/out_diag/SLdec_${var}_$period.nc
-  echo $cdo cmor,SLdec,i=$it,mt=$mt,dr=$dr/$submodel/SLdec_${var},vd=$vd,cn=$var,ta=cmip,di=$di ${cdochain-} $ifile
-  $cdo cmor,SLdec,i=$it,mt=$mt,dr=$dr/$submodel/SLdec_${var},vd=$vd,cn=$var,ta=cmip,di=$di ${cdochain-} $ifile || echo ERROR
+  ifile=${sdir}/out_diag/SLdec_${var}_${period_bk}.nc
+  echo $cdo cmor,SLdec,i=$it,mt=$mt,dr=$dr/$submodel/SLdec_${var},vd=$vd,cn=$var,ta=cmip,di=$disl ${cdochain-} $ifile
+  $cdo cmor,SLdec,i=$it,mt=$mt,dr=$dr/$submodel/SLdec_${var},vd=$vd,cn=$var,ta=cmip,di=$disl ${cdochain-} $ifile || echo ERROR
   )&; }>>$err.$var.SLdec 2>&1
 done
 
@@ -25,7 +25,7 @@ cn='areacellsl'
 for var in $cn; do
   { (if_requested $member $slmod fx $var $chunk || continue
   mkdir -p $dr/$submodel/fx_${var}
-  ifile=${sdir}/out_diag/fx_${var}_$period.nc
+  ifile=${sdir}/out_diag/fx_${var}_${period_bk}.nc
   echo $cdo cmor,fx,i=$it,mt=$mt,dr=$dr/$submodel/fx_${var},vd=$vd,cn=$var,ta=cmip,di=$di $ifile
   $cdo cmor,fx,i=$it,mt=$mt,dr=$dr/$submodel/fx_${var},vd=$vd,cn=$var,ta=cmip,di=$di $ifile || echo ERROR
   )&; }>>$err.$var.fx 2>&1
diff --git a/cmor/mpiesm/scripts/palmod2_diagnostic_MPI-ESM1-2_vilma_auto.h b/cmor/mpiesm/scripts/palmod2_diagnostic_MPI-ESM1-2_vilma_auto.h
index bb8ae93..4911261 100644
--- a/cmor/mpiesm/scripts/palmod2_diagnostic_MPI-ESM1-2_vilma_auto.h
+++ b/cmor/mpiesm/scripts/palmod2_diagnostic_MPI-ESM1-2_vilma_auto.h
@@ -1,23 +1,24 @@
 #-- Diagnostic for vilma (ESM: MPI-ESM1-2) variable rslc / table SLdec
 { (if_requested $member $slmod SLdec rslc $chunk '${slmod_dec_chunk}' && {
-  find_file -e            "$sdir" "rsl_${period}*.nc" ifile
+  find_file -e            "$sdir" "delta_rsl_${period_bk}.nc" ifile
+  # delta_rsl.nc includes (rsl@-10090 - rsl@-10080) / 10., so yearly rsl change
   echo "$cdo -f nc -O \
-    -expr,'rslc=rsl/10.;' \
-    -settaxis,'${periodbk}-07-01,00:00:00' \
+    -expr,'rslc=rsl' \
+    -settaxis,\"$((period_bk + 5))-07-01,00:00:00\" \
     -settunits,'days' \
-    $ifile ${sdir}/out_diag/SLdec_rslc_${periodbk}.nc"
+    $ifile ${sdir}/out_diag/SLdec_rslc_${period_bk}.nc"
   $cdo -f nc -O \
-    -expr,'rslc=rsl/10.;' \
-    -settaxis,'${periodbk}-07-01,00:00:00' \
+    -expr,'rslc=rsl;' \
+    -settaxis,"$((period_bk + 5))-07-01,00:00:00" \
     -settunits,'days' \
-    $ifile ${sdir}/out_diag/SLdec_rslc_${periodbk}.nc || echo ERROR
+    $ifile ${sdir}/out_diag/SLdec_rslc_${period}.nc || echo ERROR
 }; )&; }>$err.rslc.SLdec 2>&1
 
 #-- Diagnostic for vilma (ESM: MPI-ESM1-2) variable areacellsl / table fx
 { (if_requested $member $slmod fx areacellsl $chunk && {
-  find_file -e            "$sdir" "SLdec_glac_${periodbk}.nc" ifile
+  find_file -e            "$sdir" "SLfx_glac_${period_bk}.nc" ifile
   $cdo -f nc -O \
     expr,'areacellsl=gridarea(glac);' \
-    $ifile ${sdir}/out_diag/fx_areacellsl_$period.nc || echo ERROR
+    $ifile ${sdir}/out_diag/fx_areacellsl_${period_bk}.nc || echo ERROR
 }; )&; }>$err.areacellsl.fx 2>&1
 
diff --git a/cmor/mpiesm/scripts/pismtest.cmor_ctl b/cmor/mpiesm/scripts/pismtest.cmor_ctl
index d3343b2..582a79f 100755
--- a/cmor/mpiesm/scripts/pismtest.cmor_ctl
+++ b/cmor/mpiesm/scripts/pismtest.cmor_ctl
@@ -1,7 +1,8 @@
 #! /bin/sh -e
 #SBATCH --account=bm0021
 #SBATCH --qos=esgf
-#SBATCH --time=48:00:00
+##SBATCH --time=48:00:00
+#SBATCH --time=02:00:00
 #SBATCH --partition=shared
 #SBATCH --mail-type=FAIL
 #SBATCH --output=%x_%j.log
@@ -10,12 +11,12 @@
 n_subsim=1
 #initial and final year of the experiment
 spinup=0
-iniyeararr=( $(( 4000 + $spinup )) )
-finyeararr=( 4999 )
-iniyear=1
-finyear=$(( 1000 - $spinup ))
+iniyeararr=( $(( 1 + spinup )) )
+finyeararr=( 1000 )
+iniyear=$(( 1 + spinup ))
+finyear=26000
 #offset compared to startyear
-inioffsetarr=( -3999 )
+inioffsetarr=( 0 )
 
 # Time axis (26000-1 BP)
 ##     exp time       total yrs   new exp time   offset
diff --git a/cmor/mpiesm/scripts/pismtest.runpp b/cmor/mpiesm/scripts/pismtest.runpp
index fef1a33..f6a4ba6 100755
--- a/cmor/mpiesm/scripts/pismtest.runpp
+++ b/cmor/mpiesm/scripts/pismtest.runpp
@@ -337,7 +337,6 @@ function run_agg
         r_chunk_year=${r_chunk%??????}
         period_bk=$period
 
-
         inv_chunk_year=$(( 1 + ${finyear} - ${l_chunk_year##+(0)} ))
         print "Aggregation $chunk ($period): Reading forcing/input of year $inv_chunk_year"
 
diff --git a/cmor/mpiesm/scripts/tables/MPI-ESM1-2_vilma_PalMod2_mapping.txt b/cmor/mpiesm/scripts/tables/MPI-ESM1-2_vilma_PalMod2_mapping.txt
index 0d63f4e..bd369b6 100644
--- a/cmor/mpiesm/scripts/tables/MPI-ESM1-2_vilma_PalMod2_mapping.txt
+++ b/cmor/mpiesm/scripts/tables/MPI-ESM1-2_vilma_PalMod2_mapping.txt
@@ -42,6 +42,6 @@
 ! Diagnosed Variables listed in the following: !
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 &parameter cmor_name="areacellsl"                              project_mip_table="fx"           units="m2"            cell_methods="n"  /
-&parameter cmor_name="glac"                                    project_mip_table="SLdec"        units="1"             cell_methods="m"  /
+&parameter cmor_name="sftgif"                                  project_mip_table="SLdec"        units="1"             cell_methods="m"  /
 &parameter cmor_name="orog"                                    project_mip_table="SLdec"        units="m"             cell_methods="m"  /
 &parameter cmor_name="rslc"                                    project_mip_table="SLdec"        units="m year-1"      cell_methods="m"  /
diff --git a/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR.cmor_ctl b/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR.cmor_ctl
index 93ceda2..b077f15 100755
--- a/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR.cmor_ctl
+++ b/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR.cmor_ctl
@@ -10,10 +10,10 @@
 # Number of sub-simulations
 n_subsim=4
 #initial and final year of the experiment
-spinup=0
+spinup=1000
 iniyeararr=( $((4000+spinup)) 2000 2000 2000 )
 finyeararr=( 8999 8999 8999 8999 )
-iniyearoffset=0
+iniyearoffset=1000
 iniyear=$(( 1 + $iniyearoffset + $spinup ))
 finyear=$(( 26000 + $iniyearoffset - $spinup ))
 #offset compared to startyear
@@ -61,5 +61,5 @@ done
   echo "$li $ui $ly $uy" >> cmor_ctl_list_interactive_synch_r1i1p1f1
 }
 
-make -k -j 19 -f  transient-deglaciation-interactive_r1i1p1f1-CR.cmor_ctl.mk "$@"
+#make -k -j 19 -f  transient-deglaciation-interactive_r1i1p1f1-CR.cmor_ctl.mk "$@"
 
diff --git a/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR.runpp b/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR.runpp
index 30e8625..82e459a 100755
--- a/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR.runpp
+++ b/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR.runpp
@@ -45,12 +45,13 @@ alias ncatted=/sw/spack-levante/nco-5.0.6-3xkdth/bin/ncatted
 #Root directory of all scripts, outdata, logs etc
 EXP_ID=transient-deglaciation-prescribed-glac1d_r1i1p1f1-CR
 EXP_DIR_TRUNK=/work/bk1192/k204212/palmod_CS/transient-deglaciation-interactive_r1i1p1f1-CR
+#EXP_DIR_TRUNK=/work/kd1292/ESGF_Buff/k204212/palmod_CS/transient-deglaciation-interactive_r1i1p1f1-CR
 
 #initial files for aggregation
 INPUT_DIR_TRUNK=/work/bk1192/WP1.1/MPIM_transient_deglaciation_synchronous
 
 # RAW Data - path and sub-simulations
-RAW_EXP_DIR_TRUNK=/work/bk1192/WP1.1/MPIM_transient_deglaciation_synchronous/
+RAW_EXP_DIR_TRUNK=/work/bk1192/WP1.1/MPIM_transient_deglaciation_synchronous
 # As usually the Experiment is composed of several sub-simulations, define them as array
 RAW_EXP_IDS=( pmo0016a pmo0016b pmo0016c pmo0016d )
 # Parent experiment that the first RAW_EXP_ID branched from
@@ -81,7 +82,8 @@ SCRIPT_DIR=/work/bm0021/PalMod2/cmor/mpiesm/scripts
 ############################
 
 #Where to find cdo (incl. CMOR operator), eg.:
-cdo="/work/bm0021/cdo_incl_cmor/cdo-2022-09-20_cmor3.6.0_gcc/bin/cdo -v" # latest version
+cdo="/work/bm0021/cdo_incl_cmor/cdo-2022-09-20_cmor3.6.0_gcc/bin/cdo -v" # surely working version
+#cdo="/work/bm0021/cdo_incl_cmor/cdo-2024-09-11_cmor3.9.0_gcc/bin/cdo -v" # latest version
 
 # Base directory for DataRequest related headers/scripts
 SCRIPT_ROOT=${SCRIPT_DIR}
@@ -107,14 +109,15 @@ chunks+=([mpiom]=" 0 ")
 chunks+=([jsbachdec]=" 0 ")
 atmmod_dec_chunk="???0123124"
 srfmod_dec_chunk="???0123124"
-srfmod_input_dec_chunk="???1123124"
+srfmod_input_dec_chunk="???0123124"
 ocemod_dec_chunk="???1123124"
 icemod_dec_chunk="???1123124"
 slmod_dec_chunk="???1123124"
-slmod_input_dec_chunk="???1123124"
+slmod_input_dec_chunk="???0123124"
 ocemod_fxyear=3000
 chunks+=([mpism]=" 0 ")
-chunks+=([vilma]=" 0 ")
+chunks+=([vilma]=" 0 1 ")
+chunks+=([vilmadec]=" 0 ")
 
 #InfoTable(s)
 # Define here the "cdocmorinfo"-File or "eum"-Files
@@ -128,10 +131,10 @@ ca+=([mpism]="${SCRIPT_ROOT}/cdocmorinfo_mpism_CR")
 ca+=([vilma]="${SCRIPT_ROOT}/cdocmorinfo_vilma_CR")
 
 #Experiment etc
-experiment=transient-deglaciation-prescribed-glac1d
+experiment=transient-deglaciation-interactive
 member=r1i1p1f1
 mip=PalMod2
-vd=v20240801
+vd=v20240920
 #vd=v$(date '+%Y%m%d') #CMOR version directory name, should be a date in format YYYYMMDD
 
 #Where to store errors
@@ -325,12 +328,16 @@ print "  ... translating to ${RAW_EXP_IDS[$1]}@$3 to ${RAW_EXP_IDS[$2]}@$4"
 #SettingsContainer+=([3hrtest]=([3hr]=(clt hfls hfss pr prc ps rlds rlus rsds rsus tas tos uas vas)))
 #SettingsContainer[3hrtest]+=([${member}]=(${member}:False))
 
+#Define Settings for Requested_vars.conf
+ism=True # Produce PISM vars
+slm=True # Produce vilma vars
+
 #Initialize DataRequest/User Configuration for the if_requested function
 # This will read all SettingsContainers, TimeSlices and the configuration file
 rrc_option=-s
 [[ $DEBUG_LEVEL -ge 1 ]] && rrc_option=
 [[ $DEBUG_LEVEL -ge 2 ]] && rrc_option=-v
-
+rrc_option=-v
 
 
 #################################
@@ -355,7 +362,7 @@ function run_agg
         period_bk=$period
 
         inv_chunk_year=$(( 1 + ${finyear} - ${l_chunk_year##+(0)} ))
-        print "Aggregation $chunk ($period): Reading forcing/input of year $inv_chunk_year"
+        print "Aggregation $chunk ($period): Reading forcing/input of year $inv_chunk_year (legacy) $period (latest)"
 
         # Clean up stdout/stderr from previous run of this script
         errtemp_agg="${errdir_agg}${SUFFIX}${CLIMSUFFIX}/${RAW_EXP_IDS[$y]}/${RAW_EXP_IDS[$y]}_${period}"
@@ -366,21 +373,31 @@ function run_agg
         # Read input file
         if [[ "${iniyeararr[$y]}" == "$period" ]]
         then
-            echo "Reading from parent ${RAW_EXP_ID_PARENT[$y]} jsbach_T31GR30_11tiles_5layers_natural-veg_${inv_chunk_year}k.nc"
-            input_file_jsbach=$INPUT_DIR_TRUNK/${RAW_EXP_ID_PARENT[$y]}/restart/topo/jsbach_T31GR30_11tiles_5layers_natural-veg_${inv_chunk_year}k.nc
-            input_file_glac=$INPUT_DIR_TRUNK/${RAW_EXP_ID_PARENT[$y]}/restart/topo/TOPO_
+            echo "Reading from parent ${RAW_EXP_ID_PARENT[$y]} jsbach_T31GR30_11tiles_5layers_natural-veg_$period.nc"
+            input_file_jsbach=$INPUT_DIR_TRUNK/${RAW_EXP_ID_PARENT[$y]}/restart/topo/jsbach_T31GR30_11tiles_5layers_natural-veg_$period.nc
+            input_file_glac_fx=$INPUT_DIR_TRUNK/${RAW_EXP_ID_PARENT[$y]}/restart/topo/GLAC_$((period+9)).nc
+            input_file_glac=$INPUT_DIR_TRUNK/${RAW_EXP_ID_PARENT[$y]}/restart/topo/GLAC_$period.nc
+            input_file_topo=$INPUT_DIR_TRUNK/${RAW_EXP_ID_PARENT[$y]}/restart/topo/TOPO_$period.nc
         else
-            echo "Reading from ${RAW_EXP_IDS[$y]} jsbach_T31GR30_11tiles_5layers_natural-veg_${inv_chunk_year}k.nc"
-            input_file_jsbach=$INPUT_DIR_TRUNK/${RAW_EXP_IDS[$y]}/restart/topo/jsbach_T31GR30_11tiles_5layers_natural-veg_${inv_chunk_year}k.nc
+            echo "Reading from ${RAW_EXP_IDS[$y]} jsbach_T31GR30_11tiles_5layers_natural-veg_$period.nc"
+            input_file_jsbach=$INPUT_DIR_TRUNK/${RAW_EXP_IDS[$y]}/restart/topo/jsbach_T31GR30_11tiles_5layers_natural-veg_$period.nc
+            input_file_glac_fx=$INPUT_DIR_TRUNK/${RAW_EXP_IDS[$y]}/restart/topo/GLAC_$((period+9)).nc
+            input_file_glac=$INPUT_DIR_TRUNK/${RAW_EXP_IDS[$y]}/restart/topo/GLAC_$period.nc
+            input_file_topo=$INPUT_DIR_TRUNK/${RAW_EXP_IDS[$y]}/restart/topo/TOPO_$period.nc
         fi
 
         # Perform aggregation for each submodel
-        for submodel in $icemod $slmod $atmmod $ocemod $srfmod $bgcmod; do
+        for submodel in $icemod $slmod $atmmod $ocemod $srfmod; do
 
             if [[ "$submodel" == "$icemod" ]]; then
                 period=$(( inv_chunk_year - 10 ))
                 # perform time shift for selected variables
                 cdochain="-shifttime,-5year -shifttime,${finyear}year" # for decadal time intervals only!
+            elif [[ "$submodel" == "$slmod" ]]; then
+                period=$(( inv_chunk_year - 10 ))
+                # perform no time shift
+                cdochain=""
+                echo "--------- $period $period_bk $chunk"
             else
                 period=$period_bk
                 # perform time shift for selected variables
@@ -407,7 +424,7 @@ function run_agg
             mkdir -p ${sdir}/out_aggr
 
             # Create softlinks to raw model output - PISM requires special treatment
-            if [[ $submodel == "mpism" ]]; then
+            if [[ $submodel == "$icemod" ]]; then
               #ln -sf $rawsdir_pism_ant/pism_-$(printf "%06d" $((inv_chunk_year - 10)))/pism_-$(printf "%06d" $((inv_chunk_year - 10))).nc $sdir/pism_ant_${period}.nc
               #ln -sf $rawsdir_pism_nh/pism_-$(printf "%06d" $((inv_chunk_year - 10)))/pism_-$(printf "%06d" $((inv_chunk_year - 10))).nc $sdir/pism_nh_${period}.nc
               cp -v $rawsdir_pism_ant/pism_-$(printf "%06d" $((inv_chunk_year - 10)))/pism_-$(printf "%06d" $((inv_chunk_year - 10))).nc $sdir/pism_ant_${period}.nc
@@ -415,7 +432,9 @@ function run_agg
               cp -v $rawsdir_pism_nh/pism_-$(printf "%06d" $((inv_chunk_year - 10)))/pism_-$(printf "%06d" $((inv_chunk_year - 10))).nc $sdir/pism_nh_${period}.nc
               ncatted -O -h -a ellipsoid,mapping,o,c,WGS84 -a grid_mapping_name,mapping,o,c,polar_stereographic -a false_easting,mapping,o,d,0. -a false_northing,mapping,o,d,0. -a latitude_of_projection_origin,mapping,o,d,90. -a standard_parallel,mapping,o,d,70. -a straight_vertical_longitude_from_pole,mapping,o,d,-45. -a scale_factor_at_projection_origin,mapping,o,d,1.0 $sdir/pism_nh_${period}.nc || { echo "ERROR ncatted $sdir/pism_nh_${period}.nc" ; exit 1 ; }
             elif [[ $submodel == "vilma" ]]; then
-              cp -v $rawsdir/vilma_-$(printf "%06d" $((inv_chunk_year - 10)))/vilma_-$(printf "%06d" $((inv_chunk_year - 10))).nc $sdir/vilma_${period}.nc
+              if [[ "${chunks[${submodel}dec]}" == *" ${period: -1} "* ]]; then
+                ln -vsf $rawsdir/vilma_-$(printf "%06d" $((inv_chunk_year - 10)))/delta_rsl.nc $sdir/delta_rsl_${period_bk}.nc
+              fi
             else
               ln -sf $rawsdir/*_${period}* $sdir/ 2>/dev/null 1>&2 || { echo "ERROR creating links for $period ${RAW_EXP_IDS[$y]} $submodel" && exit 1 ; }
             fi
@@ -458,16 +477,16 @@ function run_diag
         rm -f ${err}*
 
         # Perform diagnostic for each submodel
-        for submodel in $icemod $slmod $atmmod $ocemod $srfmod $bgcmod; do
+        for submodel in $icemod $slmod $atmmod $ocemod $srfmod; do
 
             if [[ "$submodel" == "$icemod" ]]; then
                 period=$(( inv_chunk_year - 10 ))
                 # perform time shift for selected variables
                 cdochain="-shifttime,-5year -shifttime,${finyear}year" # for decadal time intervals only!
             elif [[ "$submodel" == "$slmod" ]]; then
-                period=$(( inv_chunk_year - 10 ))
+                period=$period_bk
                 # create time-axis
-                cdochain="-settaxis,${l_chunk_year}-07-01,00:00:00"
+                cdochain=""
             else
                 period=$period_bk
                 # perform time shift for selected variables
@@ -556,6 +575,7 @@ function run_cmor
 
         # Define decadal interval
         dioce="$(( ${period} + ${inioffsetarr[$y]} - $spinup )),$(( ${period} + ${inioffsetarr[$y]} - $spinup + 9 ))"
+        disl=${l_chunk_year##+(0)},$(( ${l_chunk_year##+(0)} + 9 ))
 
         # Clean up stdout/stderr from previous run of this script
         errtemp_cmor="${errdir_cmor}${SUFFIX}${CLIMSUFFIX}/${RAW_EXP_IDS[$y]}/${RAW_EXP_IDS[$y]}_${period}"
@@ -564,7 +584,7 @@ function run_cmor
         rm -f ${err}*
 
         # Perform CMOR rewrite for each submodel
-        for submodel in $icemod $slmod $atmmod $ocemod $srfmod $bgcmod; do
+        for submodel in $icemod $slmod $atmmod $ocemod $srfmod; do
 
             if [[ "$submodel" == "$icemod" ]]; then
                 period=$(( inv_chunk_year - 10 ))
@@ -574,7 +594,8 @@ function run_cmor
             elif [[ "$submodel" == "$slmod" ]]; then
                 period=$(( inv_chunk_year - 10 ))
                 # create time-axis
-                cdochain="-settaxis,${l_chunk_year}-07-01,00:00:00"
+                cdochain="-shifttime,$((inioffsetarr[$y] - spinup -5 ))year -shifttime,-3day"
+                di="$(( ${period_bk} + ${inioffsetarr[$y]} - 9 - $spinup )),$(( ${period_bk} + ${inioffsetarr[$y]} - $spinup ))"
             else
                 period=$period_bk
                 # perform time shift for selected variables
@@ -661,7 +682,7 @@ then
 
     # Read settings for clim1
     CLIMSUFFIX=_clim
-    Read_request_config $rrc_option AllExp ${cpath}/${mip}_requested_vars_AllExp${SUFFIX}${CLIMSUFFIX}.conf || die "error while reading request config"
+    Read_request_config $rrc_option AllExp ${cpath}/${mip}_requested_vars_AllExp_ISM_SLM${SUFFIX}${CLIMSUFFIX}.conf || die "error while reading request config"
     # Run diag&cmor
     run_diag
     run_cmor
@@ -678,13 +699,13 @@ then
 
         # Read settings for clim2
         CLIMSUFFIX=_clim2
-        Read_request_config $rrc_option AllExp ${cpath}/${mip}_requested_vars_AllExp${SUFFIX}${CLIMSUFFIX}.conf || die "error while reading request config"
+        Read_request_config $rrc_option AllExp ${cpath}/${mip}_requested_vars_AllExp_ISM_SLM${SUFFIX}${CLIMSUFFIX}.conf || die "error while reading request config"
         # Run diag&cmor
         run_diag
         run_cmor
     fi
 else
-    Read_request_config $rrc_option AllExp ${cpath}/${mip}_requested_vars_AllExp$SUFFIX.conf || die "error while reading request config"
+    Read_request_config $rrc_option AllExp ${cpath}/${mip}_requested_vars_AllExp_ISM_SLM$SUFFIX.conf || die "error while reading request config"
     $RUN_AGG && run_agg || echo "Could not run agg"
     $RUN_DIAGS && run_diag || echo "Could not run diag"
     $RUN_CMOR && run_cmor || echo "Could not run cmor"
diff --git a/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR_cdocmorinfo b/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR_cdocmorinfo
index ae9f94f..436e32b 100644
--- a/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR_cdocmorinfo
+++ b/cmor/mpiesm/scripts/transient-deglaciation-interactive_r1i1p1f1-CR_cdocmorinfo
@@ -5,7 +5,7 @@ _CONTROLLED_VOCABULARY_FILE=PalMod2_CV.json
 _FORMULA_VAR_FILE=PalMod2_formula_terms.json
 _AXIS_ENTRY_FILE=PalMod2_coordinate.json
 CONVENTIONS="CF-1.7 PalMod-2.0"
-TITLE="MPI-ESM1-2 output prepared for PalMod2"
+TITLE="MPI-ESM1-2-1 output prepared for PalMod2"
 _history_template="%s ; CMOR rewrote data to be consistent with <activity_id>, <Conventions> and CF standards."
 
 EXPERIMENT_ID=transient-deglaciation-interactive
@@ -16,7 +16,8 @@ REALIZATION_INDEX=1
 INITIALIZATION_INDEX=1
 PHYSICS_INDEX=4
 FORCING_INDEX=1
-VARIANT_INFO="Note, forcing includes volcanoes. The data are from a synchronously coupled model simulation of the last deglaciation with the MPI-ESM1.2-CR-mPISM-VILMA setup, hence, including interactive ice sheets and solid earth components."
+VARIANT_INFO="Note, forcing includes volcanoes. The data are from a synchronously coupled model simulation of the last deglaciation with the MPI-ESM1.2.1-CR-mPISM-VILMA setup, hence, including interactive ice sheets and solid earth components."
+COMMENT="Earth viscosity configuration for the solid earth model VILMA. The vertical viscosity structure is piecewise constant for the following specified layers of the earth: (1) 0 to 3.480000e+06 m from earth core: 1.000000e+19 Pa s. (2) 3.480000e+06 to 5.701000e+06 m from earth core: 1.000000e+22 Pa s. (3) 5.701000e+06 to 6.291000e+06 m from earth core: 4.000000e+20 Pa s. (4) 6.291000e+06 to 6.371000e+06 m from earth core: 1.000000e+30 Pa s."
 ACTIVITY_ID=PalMod2
 #MIP_ERA=PalMod2                   #ONLY CMIP6  
 PROJECT_ID=PalMod2
@@ -42,10 +43,10 @@ SUB_EXPERIMENT=none
 #
 #model info:
 #
-SOURCE_ID=MPI-ESM1-2-CR
-#MODEL_ID=MPI-ESM1-2-CR
+SOURCE_ID=MPI-ESM1-2-1-CR
+#MODEL_ID=MPI-ESM1-2-1-CR
 REFERENCES="Kapsch, M.-L., Mikolajewicz, U., Ziemen, F., & Schannwell, C. (2022). Ocean response in transient simulations of the last deglaciation dominated by underlying ice-sheet reconstruction and method of meltwater distribution. Geophysical Research Letters, 49, e2021GL096767. https://doi.org/10.1029/2021GL096767\nMPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400,\nMueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217"
-SOURCE="MPI-ESM1.2-CR (2017): \naerosol: none, prescribed Kinne (2010)\natmos: ECHAM6.3 (spectral T31; 96 x 48 longitude/latitude; 31 levels; top level 10 hPa)\natmosChem: none\nland: JSBACH3.20\nlandIce: none/prescribed\nocean: MPIOM1.63 (bipolar GR3.0, approximately 300km; 122 x 101 longitude/latitude; 40 levels; top grid cell 0-15 m)\nocnBgchem: none\nseaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)\nsolidLand: none/prescribed"
+SOURCE="MPI-ESM1.2.1-CR (2022): \naerosol: none, prescribed Kinne (2010)\natmos: ECHAM6.3 (spectral T31; 96 x 48 longitude/latitude; 31 levels; top level 10 hPa)\natmosChem: none\nland: JSBACH3.20\nlandIce: none/prescribed\nocean: MPIOM1.63 (bipolar GR3.0, approximately 300km; 122 x 101 longitude/latitude; 40 levels; top grid cell 0-15 m)\nocnBgchem: none\nseaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)\nsolidLand: none/prescribed"
 SOURCE_TYPE="AOGCM ISM SLM"
 #CALENDAR=proleptic_gregorian
 #MAPPING_TABLE_DIR=cmip6_mapping_tables
diff --git a/cmor/mpiesm/scripts/transient-deglaciation-prescribed-glac1d-methane_r1i1p1f1-CR.runpp b/cmor/mpiesm/scripts/transient-deglaciation-prescribed-glac1d-methane_r1i1p1f1-CR.runpp
index 064bb66..4477d55 100755
--- a/cmor/mpiesm/scripts/transient-deglaciation-prescribed-glac1d-methane_r1i1p1f1-CR.runpp
+++ b/cmor/mpiesm/scripts/transient-deglaciation-prescribed-glac1d-methane_r1i1p1f1-CR.runpp
@@ -109,6 +109,7 @@ srfmod_dec_chunk="???0123124"
 srfmod_input_dec_chunk="???1123124"
 ocemod_dec_chunk="???1123124"
 icemod_dec_chunk="???1123124"
+vilma_input_dec_chunk="???1123124"
 ocemod_fxyear=3000
 
 #InfoTable(s)
diff --git a/cmor_tables/IcenAnt.csv b/cmor_tables/IcenAnt.csv
new file mode 100644
index 0000000..f6937ec
--- /dev/null
+++ b/cmor_tables/IcenAnt.csv
@@ -0,0 +1,8 @@
+Default Priority|Long name|units|description|comment|Variable Name|CF Standard Name|cell_methods|positive|type|dimensions|CMOR Name|modeling_realm|frequency|cell_measures|prov|provNote|rowIndex|UID|vid|stid|Structure Title|valid_min|valid_max|ok_min_mean_abs|ok_max_mean_abs|MIPs (requesting)|MIPs (by experiment)
+1|Ice Sheet Surface Altitude|m|None|The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.|orogIs|surface_altitude|area: time: mean where ice_sheet||real|longitude latitude time|orogIs|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Ice Sheet Surface Temperature|K|None|Temperature of the lower boundary of the atmosphere|tsIs|surface_temperature|area: time: mean where ice_sheet||real|longitude latitude time|tsIs|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Ice Sheet Surface Mass Balance Flux|kg m-2 s-1|None|Specific mass balance means the net rate at which ice is added per unit area at the land ice surface. Computed as the total surface mass balance on the land ice portion of the grid cell divided by land ice area in the grid cell. A negative value means loss of ice|acabfIs|land_ice_surface_specific_mass_balance_flux|area: time: mean where ice_sheet||real|longitude latitude time|acabfIs|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Basal Specific Mass Balance Flux of Floating Ice Shelf|kg m-2 s-1|None|Specific mass balance means the net rate at which ice is added per unit area at the land ice base.  A negative value means loss of ice. Computed as the total basal mass balance on the floating land ice (floating ice shelf) portion of the grid cell divided by floating land ice (floating ice shelf) area in the grid cell. Cell_methods: area: mean where floating_ice_shelf|libmassbffl|land_ice_basal_specific_mass_balance_flux|area: time: mean where floating_ice_shelf (comment: mask=sftflf)||real|longitude latitude time|libmassbffl|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Temperature of Land Ice|K|None|Land ice means glaciers, ice-caps and ice-sheets resting on bedrock and also includes ice-shelves.|tlIs|land_ice_temperature|area: time: mean where ice_sheet (Weighted Time Mean on Ice Sheet)||real|longitude latitude alevel time|tlIs|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Type of Land Ice|%|None|Mask of land ice type (ice sheet, ice shelf, ocean, ice-free land).|sftgifIt|land_ice_area_fraction|area: mean where ice_sheet over all_area_types time: mean||real|longitude latitude typelice time|sftgifIt|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Bedrock Altitude|m|None|Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level. Bedrock is the solid Earth surface beneath land ice, ocean water or soil.|dtb|bedrock_altitude|area: time: mean||real|longitude latitude time|dtb|land|dec|area: areacella|None|None|None|None|None|None|None|||||None|None
diff --git a/cmor_tables/IcenGre.csv b/cmor_tables/IcenGre.csv
new file mode 100644
index 0000000..f6937ec
--- /dev/null
+++ b/cmor_tables/IcenGre.csv
@@ -0,0 +1,8 @@
+Default Priority|Long name|units|description|comment|Variable Name|CF Standard Name|cell_methods|positive|type|dimensions|CMOR Name|modeling_realm|frequency|cell_measures|prov|provNote|rowIndex|UID|vid|stid|Structure Title|valid_min|valid_max|ok_min_mean_abs|ok_max_mean_abs|MIPs (requesting)|MIPs (by experiment)
+1|Ice Sheet Surface Altitude|m|None|The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.|orogIs|surface_altitude|area: time: mean where ice_sheet||real|longitude latitude time|orogIs|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Ice Sheet Surface Temperature|K|None|Temperature of the lower boundary of the atmosphere|tsIs|surface_temperature|area: time: mean where ice_sheet||real|longitude latitude time|tsIs|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Ice Sheet Surface Mass Balance Flux|kg m-2 s-1|None|Specific mass balance means the net rate at which ice is added per unit area at the land ice surface. Computed as the total surface mass balance on the land ice portion of the grid cell divided by land ice area in the grid cell. A negative value means loss of ice|acabfIs|land_ice_surface_specific_mass_balance_flux|area: time: mean where ice_sheet||real|longitude latitude time|acabfIs|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Basal Specific Mass Balance Flux of Floating Ice Shelf|kg m-2 s-1|None|Specific mass balance means the net rate at which ice is added per unit area at the land ice base.  A negative value means loss of ice. Computed as the total basal mass balance on the floating land ice (floating ice shelf) portion of the grid cell divided by floating land ice (floating ice shelf) area in the grid cell. Cell_methods: area: mean where floating_ice_shelf|libmassbffl|land_ice_basal_specific_mass_balance_flux|area: time: mean where floating_ice_shelf (comment: mask=sftflf)||real|longitude latitude time|libmassbffl|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Temperature of Land Ice|K|None|Land ice means glaciers, ice-caps and ice-sheets resting on bedrock and also includes ice-shelves.|tlIs|land_ice_temperature|area: time: mean where ice_sheet (Weighted Time Mean on Ice Sheet)||real|longitude latitude alevel time|tlIs|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Type of Land Ice|%|None|Mask of land ice type (ice sheet, ice shelf, ocean, ice-free land).|sftgifIt|land_ice_area_fraction|area: mean where ice_sheet over all_area_types time: mean||real|longitude latitude typelice time|sftgifIt|landIce|dec|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Bedrock Altitude|m|None|Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level. Bedrock is the solid Earth surface beneath land ice, ocean water or soil.|dtb|bedrock_altitude|area: time: mean||real|longitude latitude time|dtb|land|dec|area: areacella|None|None|None|None|None|None|None|||||None|None
diff --git a/cmor_tables/IyrAnt.csv b/cmor_tables/IyrAnt.csv
new file mode 100644
index 0000000..3d46e4b
--- /dev/null
+++ b/cmor_tables/IyrAnt.csv
@@ -0,0 +1,8 @@
+Default Priority|Long name|units|description|comment|Variable Name|CF Standard Name|cell_methods|positive|type|dimensions|CMOR Name|modeling_realm|frequency|cell_measures|prov|provNote|rowIndex|UID|vid|stid|Structure Title|valid_min|valid_max|ok_min_mean_abs|ok_max_mean_abs|MIPs (requesting)|MIPs (by experiment)
+1|Ice Sheet Surface Altitude|m|None|The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.|orogIs|surface_altitude|area: time: mean where ice_sheet||real|longitude latitude time|orogIs|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Ice Sheet Surface Temperature|K|None|Temperature of the lower boundary of the atmosphere|tsIs|surface_temperature|area: time: mean where ice_sheet||real|longitude latitude time|tsIs|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Ice Sheet Surface Mass Balance Flux|kg m-2 s-1|None|Specific mass balance means the net rate at which ice is added per unit area at the land ice surface. Computed as the total surface mass balance on the land ice portion of the grid cell divided by land ice area in the grid cell. A negative value means loss of ice|acabfIs|land_ice_surface_specific_mass_balance_flux|area: time: mean where ice_sheet||real|longitude latitude time|acabfIs|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Basal Specific Mass Balance Flux of Floating Ice Shelf|kg m-2 s-1|None|Specific mass balance means the net rate at which ice is added per unit area at the land ice base.  A negative value means loss of ice. Computed as the total basal mass balance on the floating land ice (floating ice shelf) portion of the grid cell divided by floating land ice (floating ice shelf) area in the grid cell. Cell_methods: area: mean where floating_ice_shelf|libmassbffl|land_ice_basal_specific_mass_balance_flux|area: time: mean where floating_ice_shelf (comment: mask=sftflf)||real|longitude latitude time|libmassbffl|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Temperature of Land Ice|K|None|Land ice means glaciers, ice-caps and ice-sheets resting on bedrock and also includes ice-shelves.|tlIs|land_ice_temperature|area: time: mean where ice_sheet (Weighted Time Mean on Ice Sheet)||real|longitude latitude alevel time|tlIs|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Type of Land Ice|%|None|Mask of land ice type (ice sheet, ice shelf, ocean, ice-free land).|sftgifIt|land_ice_area_fraction|area: mean where ice_sheet over all_area_types time: mean||real|longitude latitude typelice time|sftgifIt|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Bedrock Altitude|m|None|Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level. Bedrock is the solid Earth surface beneath land ice, ocean water or soil.|dtb|bedrock_altitude|area: time: mean||real|longitude latitude time|dtb|land|yr|area: areacella|None|None|None|None|None|None|None|||||None|None
diff --git a/cmor_tables/IyrGre.csv b/cmor_tables/IyrGre.csv
new file mode 100644
index 0000000..3d46e4b
--- /dev/null
+++ b/cmor_tables/IyrGre.csv
@@ -0,0 +1,8 @@
+Default Priority|Long name|units|description|comment|Variable Name|CF Standard Name|cell_methods|positive|type|dimensions|CMOR Name|modeling_realm|frequency|cell_measures|prov|provNote|rowIndex|UID|vid|stid|Structure Title|valid_min|valid_max|ok_min_mean_abs|ok_max_mean_abs|MIPs (requesting)|MIPs (by experiment)
+1|Ice Sheet Surface Altitude|m|None|The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.|orogIs|surface_altitude|area: time: mean where ice_sheet||real|longitude latitude time|orogIs|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Ice Sheet Surface Temperature|K|None|Temperature of the lower boundary of the atmosphere|tsIs|surface_temperature|area: time: mean where ice_sheet||real|longitude latitude time|tsIs|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Ice Sheet Surface Mass Balance Flux|kg m-2 s-1|None|Specific mass balance means the net rate at which ice is added per unit area at the land ice surface. Computed as the total surface mass balance on the land ice portion of the grid cell divided by land ice area in the grid cell. A negative value means loss of ice|acabfIs|land_ice_surface_specific_mass_balance_flux|area: time: mean where ice_sheet||real|longitude latitude time|acabfIs|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Basal Specific Mass Balance Flux of Floating Ice Shelf|kg m-2 s-1|None|Specific mass balance means the net rate at which ice is added per unit area at the land ice base.  A negative value means loss of ice. Computed as the total basal mass balance on the floating land ice (floating ice shelf) portion of the grid cell divided by floating land ice (floating ice shelf) area in the grid cell. Cell_methods: area: mean where floating_ice_shelf|libmassbffl|land_ice_basal_specific_mass_balance_flux|area: time: mean where floating_ice_shelf (comment: mask=sftflf)||real|longitude latitude time|libmassbffl|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Temperature of Land Ice|K|None|Land ice means glaciers, ice-caps and ice-sheets resting on bedrock and also includes ice-shelves.|tlIs|land_ice_temperature|area: time: mean where ice_sheet (Weighted Time Mean on Ice Sheet)||real|longitude latitude alevel time|tlIs|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Type of Land Ice|%|None|Mask of land ice type (ice sheet, ice shelf, ocean, ice-free land).|sftgifIt|land_ice_area_fraction|area: mean where ice_sheet over all_area_types time: mean||real|longitude latitude typelice time|sftgifIt|landIce|yr|area: areacellg|None|None|None|None|None|None|None|||||None|None
+1|Bedrock Altitude|m|None|Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level. Bedrock is the solid Earth surface beneath land ice, ocean water or soil.|dtb|bedrock_altitude|area: time: mean||real|longitude latitude time|dtb|land|yr|area: areacella|None|None|None|None|None|None|None|||||None|None
diff --git a/cmor_tables/PalMod2_AERmon.json b/cmor_tables/PalMod2_AERmon.json
index 7280267..c145ac8 100644
--- a/cmor_tables/PalMod2_AERmon.json
+++ b/cmor_tables/PalMod2_AERmon.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table AERmon",
         "realm": "aerosol",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_Amon.json b/cmor_tables/PalMod2_Amon.json
index ce54e45..66fe191 100644
--- a/cmor_tables/PalMod2_Amon.json
+++ b/cmor_tables/PalMod2_Amon.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table Amon",
         "realm": "atmos atmosChem",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_CV.json b/cmor_tables/PalMod2_CV.json
index fd45a83..637127e 100644
--- a/cmor_tables/PalMod2_CV.json
+++ b/cmor_tables/PalMod2_CV.json
@@ -436,6 +436,20 @@
                 "source_id":"MPI-ESM1-2-CR-OBGC",
                 "source": "MPI-ESM1.2-CR (2017): \naerosol: none, prescribed Kinne (2010)\natmos: ECHAM6.3 (spectral T31; 96 x 48 longitude/latitude; 31 levels; top level 10 hPa)\natmosChem: none, prescribed\nland: JSBACH3.20, River Transport Model\nlandIce: none, prescribed\nocean: MPIOM1.63 (bipolar GR3.0, approximately 300km; 122 x 101 longitude/latitude; 40 levels; top grid cell 0-15 m)\nocnBgchem: HAMOCC6\nseaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)\nsolidLand: none, prescribed"
             },
+            "MPI-ESM1-2-1-CR":{
+                "activity_participation":[
+                    "PalMod2",
+                    "PMIP"
+                ],
+                "cohort":[
+                    "Registered"
+                ],
+                "institution_id":[
+                    "MPI-M"
+                ],
+                "source_id":"MPI-ESM1-2-1-CR",
+                "source": "MPI-ESM1.2.1-CR (2022): \naerosol: none, prescribed Kinne (2010)\natmos: ECHAM6.3 (spectral T31; 96 x 48 longitude/latitude; 31 levels; top level 10 hPa)\natmosChem: none, prescribed\nland: JSBACH3.20, River Transport Model\nlandIce: none / mPISM 0.7 (10 km x 10 km (NH), 15 km x 15 km (SH), 121 levels)\nocean: MPIOM1.63 (bipolar GR3.0, approximately 300km; 122 x 101 longitude/latitude; 40 levels; top grid cell 0-15 m)\nocnBgchem: none, prescribed\nseaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)\nsolidLand: none / VILMA-1D"
+            },
             "MPI-ESM1-2-HR":{
                 "activity_participation":[
                     "CMIP",
@@ -634,8 +648,12 @@
             "Amon",
             "Emon",
             "EmonZ",
+            "IcenAnt",
+            "IcenGre",
             "IdecAnt",
             "IdecGre",
+            "IyrAnt",
+            "IyrGre",
             "LImon",
             "Lmon",
             "Odec",
@@ -643,6 +661,7 @@
             "Omon",
             "Oyr",
             "SImon",
+            "SLdec",
             "centennial",
             "fx",
             "dec"
diff --git a/cmor_tables/PalMod2_Emon.json b/cmor_tables/PalMod2_Emon.json
index 6034222..aadc4fe 100644
--- a/cmor_tables/PalMod2_Emon.json
+++ b/cmor_tables/PalMod2_Emon.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table Emon",
         "realm": "land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_EmonZ.json b/cmor_tables/PalMod2_EmonZ.json
index 1d72ed0..eca66f6 100644
--- a/cmor_tables/PalMod2_EmonZ.json
+++ b/cmor_tables/PalMod2_EmonZ.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table EmonZ",
         "realm": "atmos",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_IcenAnt.json b/cmor_tables/PalMod2_IcenAnt.json
index 7ad3740..a66eed4 100644
--- a/cmor_tables/PalMod2_IcenAnt.json
+++ b/cmor_tables/PalMod2_IcenAnt.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table IcenAnt",
         "realm": "landIce land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_IcenGre.json b/cmor_tables/PalMod2_IcenGre.json
index 0cc23ee..48651d9 100644
--- a/cmor_tables/PalMod2_IcenGre.json
+++ b/cmor_tables/PalMod2_IcenGre.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table IcenGre",
         "realm": "landIce land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_IdecAnt.json b/cmor_tables/PalMod2_IdecAnt.json
index 5ccd9c0..c0f2a87 100644
--- a/cmor_tables/PalMod2_IdecAnt.json
+++ b/cmor_tables/PalMod2_IdecAnt.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table IdecAnt",
         "realm": "landIce land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_IdecGre.json b/cmor_tables/PalMod2_IdecGre.json
index cebcddd..fdf1dd5 100644
--- a/cmor_tables/PalMod2_IdecGre.json
+++ b/cmor_tables/PalMod2_IdecGre.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table IdecGre",
         "realm": "landIce land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_IyrAnt.json b/cmor_tables/PalMod2_IyrAnt.json
index 338ba0e..f3ce91f 100644
--- a/cmor_tables/PalMod2_IyrAnt.json
+++ b/cmor_tables/PalMod2_IyrAnt.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table IyrAnt",
         "realm": "landIce land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_IyrGre.json b/cmor_tables/PalMod2_IyrGre.json
index 00637bf..f6bdd0c 100644
--- a/cmor_tables/PalMod2_IyrGre.json
+++ b/cmor_tables/PalMod2_IyrGre.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table IyrGre",
         "realm": "landIce land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_LImon.json b/cmor_tables/PalMod2_LImon.json
index bc44ceb..cf64a79 100644
--- a/cmor_tables/PalMod2_LImon.json
+++ b/cmor_tables/PalMod2_LImon.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table LImon",
         "realm": "landIce land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_Lmon.json b/cmor_tables/PalMod2_Lmon.json
index a26b93f..5b7d49d 100644
--- a/cmor_tables/PalMod2_Lmon.json
+++ b/cmor_tables/PalMod2_Lmon.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table Lmon",
         "realm": "land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_Odec.json b/cmor_tables/PalMod2_Odec.json
index 883fd61..3c3643d 100644
--- a/cmor_tables/PalMod2_Odec.json
+++ b/cmor_tables/PalMod2_Odec.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table Odec",
         "realm": "",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_Ofx.json b/cmor_tables/PalMod2_Ofx.json
index ac10c06..a0b8e43 100644
--- a/cmor_tables/PalMod2_Ofx.json
+++ b/cmor_tables/PalMod2_Ofx.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table Ofx",
         "realm": "ocean",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_Omon.json b/cmor_tables/PalMod2_Omon.json
index fd843cc..581a25e 100644
--- a/cmor_tables/PalMod2_Omon.json
+++ b/cmor_tables/PalMod2_Omon.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table Omon",
         "realm": "ocnBgchem",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_Oyr.json b/cmor_tables/PalMod2_Oyr.json
index a650860..afb0312 100644
--- a/cmor_tables/PalMod2_Oyr.json
+++ b/cmor_tables/PalMod2_Oyr.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table Oyr",
         "realm": "ocnBgchem",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_SImon.json b/cmor_tables/PalMod2_SImon.json
index 3701b2c..aedfe34 100644
--- a/cmor_tables/PalMod2_SImon.json
+++ b/cmor_tables/PalMod2_SImon.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table SImon",
         "realm": "seaIce",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_SLdec.json b/cmor_tables/PalMod2_SLdec.json
index 07903ff..cfad1b0 100644
--- a/cmor_tables/PalMod2_SLdec.json
+++ b/cmor_tables/PalMod2_SLdec.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table SLdec",
         "realm": "",
-        "table_date": "1 February 2024",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_centennial.json b/cmor_tables/PalMod2_centennial.json
index 703ad8f..c024d6f 100644
--- a/cmor_tables/PalMod2_centennial.json
+++ b/cmor_tables/PalMod2_centennial.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table centennial",
         "realm": "",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_dec.json b/cmor_tables/PalMod2_dec.json
index 8922a98..3c214e8 100644
--- a/cmor_tables/PalMod2_dec.json
+++ b/cmor_tables/PalMod2_dec.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table dec",
         "realm": "",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_fx.json b/cmor_tables/PalMod2_fx.json
index d8656b0..04623d3 100644
--- a/cmor_tables/PalMod2_fx.json
+++ b/cmor_tables/PalMod2_fx.json
@@ -1,10 +1,10 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "cmor_version": "3.6.1",
         "table_id": "Table fx",
         "realm": "land",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "int_missing_value": "-999",
         "product": "model-output",
diff --git a/cmor_tables/PalMod2_grids.json b/cmor_tables/PalMod2_grids.json
index dbca3d8..24bd759 100644
--- a/cmor_tables/PalMod2_grids.json
+++ b/cmor_tables/PalMod2_grids.json
@@ -1,9 +1,9 @@
 {
     "Header": {
-        "data_specs_version": "00.00.03",
+        "data_specs_version": "00.00.04",
         "table_id": "Table grids",
         "cmor_version": "3.6.1",
-        "table_date": "1 February 2023",
+        "table_date": "18 September 2024",
         "missing_value": "1e20",
         "product": "output",
         "Conventions": "CF-1.7 PalMod-2.0"
diff --git a/cmor_tables/SLdec.csv b/cmor_tables/SLdec.csv
new file mode 100644
index 0000000..ca94203
--- /dev/null
+++ b/cmor_tables/SLdec.csv
@@ -0,0 +1,5 @@
+Default Priority|Long name|units|description|comment|Variable Name|CF Standard Name|cell_methods|positive|type|dimensions|CMOR Name|modeling_realm|frequency|cell_measures|prov|provNote|rowIndex|UID|vid|stid|Structure Title|valid_min|valid_max|ok_min_mean_abs|ok_max_mean_abs|MIPs (requesting)|MIPs (by experiment)
+1|Surface Altitude|m|None|The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.|orog|surface_altitude|area: time: mean||real|longitude latitude time|orog|solidLand|dec|area: areacellsl|None|None|None|None|None|None|None|||||None|None
+1|Land Ice Area Percentage|%|None|Percentage of grid cell covered by land ice (ice sheet, ice shelf, ice cap, glacier)|sftgif|land_ice_area_fraction|area: time: mean||real|longitude latitude time|sftgif|solidLand|dec|area: areacellsl|None|None|None|None|None|None|None|||||None|None
+1|Percentage of the Grid Cell Occupied by Land (Including Lakes)|%|None|Percentage of horizontal area occupied by land.|sftlf|land_area_fraction|area: time: mean||real|longitude latitude time|sftlf|solidLand|dec|area: areacellsl|None|None|None|None|None|None|None|||||None|None
+1|The change in local mean sea level relative to the local solid surface|m year-1|None|The change in local mean sea level relative to the local solid surface, i.e. sea floor.|rslc||area: time: mean||real|longitude latitude time|rslc|solidLand|dec|area: areacellsl|None|None|None|None|None|None|None|||||None|None
diff --git a/cmor_tables/fx.csv b/cmor_tables/fx.csv
index 08c57f8..9fd94e5 100644
--- a/cmor_tables/fx.csv
+++ b/cmor_tables/fx.csv
@@ -6,3 +6,4 @@ Default Priority|Long name|units|description|comment|Variable Name|CF Standard N
 1|Grid-Cell Area for Atmospheric Grid Variables|m2|None|For atmospheres with more than 1 mesh (e.g., staggered grids), report areas that apply to surface vertical fluxes of energy.|areacella|cell_area|area: sum||real|longitude latitude|areacella|atmos land|fx||None|None|None|None|None|None|None|||||None|None
 1|Maximum Root Depth|m|None|report the maximum soil depth reachable by plant roots (if defined in model), i.e., the maximum soil depth from which they can extract moisture; report as *missing* where the land fraction is 0.|rootd|root_depth|area: mean||real|longitude latitude|rootd|land|fx|area: areacella|None|None|None|None|None|None|None|||||None|None
 1|Grid-Cell Area for River Model Variables|m2|None|For river routing model, if grid differs from the atmospheric grid.|areacellr|cell_area|area: sum||real|longitude latitude|areacellr|land|fx||None|None|None|None|None|None|None|||||None|None
+1|Grid-Cell Area for Solid Earth Grid Variables|m2|None|For atmospheres with more than 1 mesh (e.g., staggered grids), report areas that apply to surface vertical fluxes of energy.|areacellsl|cell_area|area: sum||real|longitude latitude|areacellsl|solidLand|fx||None|None|None|None|None|None|None|||||None|None
-- 
GitLab