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: ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ¶meter cmor_name="areacellsl" project_mip_table="fx" units="m2" cell_methods="n" / -¶meter cmor_name="glac" project_mip_table="SLdec" units="1" cell_methods="m" / +¶meter cmor_name="sftgif" project_mip_table="SLdec" units="1" cell_methods="m" / ¶meter cmor_name="orog" project_mip_table="SLdec" units="m" cell_methods="m" / ¶meter 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