Commit aedb74a1 authored by Jan Streffing's avatar Jan Streffing

adding liquid cloud water switches, WAM control switches, cy43 postprocessing,...

adding liquid cloud water switches, WAM control switches, cy43 postprocessing, new TL159 resolution and fixing restart file names
parent 317ee87a
......@@ -92,6 +92,18 @@ awicm3_set_defaults()
nproca_fesom=${nproca_fesom:-288}
nprocb_fesom=${nprocb_fesom:-1}
;;
T159_MR|TL159_MR)
nnodes_oifs=${nnodes_oifs:-8}
nnodes_fesom=${nnodes_fesom:-8}
nnodes_rnfmap=${nnodes_rnfmap:-1}
nproca_oifs=${nproca_oifs:-287}
nprocb_oifs=${nprocb_oifs:-1}
nproca_rnfmap=${nproca_rnfmap:-1}
nprocb_rnfmap=${nprocb_rnfmap:-1}
nproca_fesom=${nproca_fesom:-288}
nprocb_fesom=${nprocb_fesom:-1}
;;
esac
;;
24)
......@@ -151,6 +163,17 @@ awicm3_set_defaults()
nproca_fesom=${nproca_fesom:-288}
nprocb_fesom=${nprocb_fesom:-1}
;;
T159_MR|TL159_MR)
nnodes_oifs=${nnodes_oifs:-12}
nnodes_fesom=${nnodes_fesom:-12}
nnodes_rnfmap=${nnodes_rnfmap:-1}
nproca_oifs=${nproca_oifs:-287}
nprocb_oifs=${nprocb_oifs:-1}
nproca_rnfmap=${nproca_rnfmap:-1}
nprocb_rnfmap=${nprocb_rnfmap:-1}
nproca_fesom=${nproca_fesom:-288}
nprocb_fesom=${nprocb_fesom:-1}
;;
esac
;;
......
......@@ -48,10 +48,12 @@ oifs_set_defaults()
CMIP5_oifs=${CMIP5_oifs:-FALSE}
CMIP6_SCENARIO_oifs=${CMIP6_SCENARIO_oifs:-historical}
CMIP5_SCENARIO_oifs=${CMIP6_SCENARIO_oifs:-0}
CMIP_FIX_YEAR_oifs=${CMIP_FIX_YEAR_oifs:-0} # Set to a year for constant trace gases
A4xCO2_oifs=${A4xCO2_oifs:-FALSE} # Aprupt 4x CO2
ONEPCTCO2_oifs=${ONEPCTCO2_oifs:-FALSE} # 1% per year till 4x CO2
LHVOLCA_oifs=${LHVOLCA_oifs:-FALSE} # Use GISS history of volcanic aerosols
CMIP_FIX_YEAR_oifs=${CMIP_FIX_YEAR_oifs:-0} # Set to a year for constant trace gases
A4xCO2_oifs=${A4xCO2_oifs:-FALSE} # Aprupt 4x CO2
ONEPCTCO2_oifs=${ONEPCTCO2_oifs:-FALSE} # 1% per year till 4x CO2
LHVOLCA_oifs=${LHVOLCA_oifs:-FALSE} # Use GISS history of volcanic aerosols
SUPERCOOLED_LIQUID_COULD_FIX_oifs=${SUPERCOOLED_LIQUID_COULD_FIX_oifs:-0} # Switch to turn on the supercooled liquid cloud fix by forbes. 0 = off, 1 = on, 2,3 = additional dep-fixes
export DR_HOOK_IGNORE_SIGNALS='-1'
......@@ -321,7 +323,7 @@ oifs_prepare_restart_in()
if [[ "x${WAM_oifs}" == "xTRUE" ]]; then
echo " Add WAM restart files"
if files=$(ls ${INI_RESTART_DIR_oifs_protect}/LAW??????????????_???????????? 2>/dev/null); then
if files=$(ls ${INI_RESTART_DIR_oifs_protect}/LAW??????????????_????????????* 2>/dev/null); then
for f in $files; do
file=$(basename $f)
echo " Link file $file "
......@@ -330,7 +332,7 @@ oifs_prepare_restart_in()
else
echo " WARNING: No restart data for WAM!"
fi
if files=$(ls ${INI_RESTART_DIR_oifs_protect}/BLS??????????????_???????????? 2>/dev/null); then
if files=$(ls ${INI_RESTART_DIR_oifs_protect}/BLS??????????????_????????????* 2>/dev/null); then
for f in $files; do
file=$(basename $f)
echo " Link file $file "
......@@ -406,7 +408,7 @@ oifs_cleanup()
else
mkdir -p ${OUTPUT_DIR_oifs}/$(printf "%05d" ${RUN_NUMBER_oifs})
fi
if files=$(ls ICMSH${OIFS_EXP_ID}+* ICMGG${OIFS_EXP_ID}+*); then
if files=$(ls ICMSH${OIFS_EXP_ID}+* ICMGG${OIFS_EXP_ID}+* ICMUA${OIFS_EXP_ID}+*); then
for f in $files; do
echo " Adding OIFS outfile " $f
if [[ $setup_name == "foci" ]]; then
......@@ -431,7 +433,7 @@ oifs_cleanup()
fi
if [[ "x${WAM_oifs}" == "xTRUE" ]]; then
if files=$(ls LAW??????????????_$(printf "%06d" $((DAYS_SINCE_INITIAL_oifs-1)))??????); then
if files=$(ls LAW??????????????_$(printf "%06d" $((DAYS_SINCE_INITIAL_oifs-1)))??????*); then
for f in $files; do
echo " Add WAM restart file " $f
add_to ${WORK_DIR}/$f $(printf "%05d" ${RUN_NUMBER_oifs})/$f restart_out
......@@ -439,7 +441,7 @@ oifs_cleanup()
else
echo " WARNING: No restart data for oifs!"
fi
if files=$(ls BLS??????????????_$(printf "%06d" $((DAYS_SINCE_INITIAL_oifs-1)))??????); then
if files=$(ls BLS??????????????_$(printf "%06d" $((DAYS_SINCE_INITIAL_oifs-1)))??????*); then
for f in $files; do
echo " Add WAM restart file " $f
add_to ${WORK_DIR}/$f $(printf "%05d" ${RUN_NUMBER_oifs})/$f restart_out
......@@ -716,11 +718,16 @@ oifs_post_process()
for GRID in SH GG UA
do
cat ICM${GRID}* > ICM${GRID}CAT
if [[ "x$GRID" == "xGG" ]]; then
cdo -f nc -t ecmwf copy -remapcon,r480x241 -setgridtype,regular ICM${GRID}CAT ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs}).nc
else
cdo -f nc -t ecmwf copy -remapcon,r480x241 -setgridtype,regular -sp2gpl ICM${GRID}CAT ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs}).nc
fi
case $RES_oifs in
TL159)
if [[ "x$GRID" == "xGG" ]]; then
cdo -f nc -t ecmwf copy -remapcon,r240x120 -setgridtype,regular ICM${GRID}CAT ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs}).nc
else
cdo -f nc -t ecmwf copy -remapcon,r240x120 -setgridtype,regular -sp2gpl ICM${GRID}CAT ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs}).nc
fi
esac
echo "Cutting off the last OIFS timestep that we write because of ifs_lastout"
ncdump -h ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs}).nc >>temp
......@@ -732,8 +739,10 @@ oifs_post_process()
cdo seltimestep,1/$SECOND_LAST_TIME_STEP ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs}).nc ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_cut.nc
echo "Calculating mean values for OIFS output"
cdo daymean ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_cut.nc ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_daymean.nc
cdo monmean ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_daymean.nc ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_monmean.nc
if [[ $OIFS_PAMIP_PP == 0 ]]; then
cdo daymean ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_cut.nc ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_daymean.nc
fi
cdo monmean ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_cut.nc ICMPP${GRID}$(printf "%05d" ${RUN_NUMBER_oifs})_monmean.nc
echo "Linking OIFS output files in convenient folders"
cd ${TOPLEVEL}/outdata/oifs/
......@@ -745,6 +754,25 @@ oifs_post_process()
cd ${TOPLEVEL}/outdata/oifs/$(printf "%05d" ${RUN_NUMBER_oifs})/
done
if [[ $OIFS_PAMIP_PP == 1 ]]; then # Keep only those variables that are needed for the PAMIP runs. Store them only at needed frequency
echo " Reducing output frequency and variable selection to PAMIP standard"
cd ${TOPLEVEL}/outdata/oifs/$(printf "%05d" ${RUN_NUMBER_oifs})/
cdo sellevel,50000 -selvar,Z ICMPPSH$(printf "%05d" ${RUN_NUMBER_oifs})_cut.nc z500_$(printf "%05d" ${RUN_NUMBER_oifs}).nc
cdo splitname ICMPPGG$(printf "%05d" ${RUN_NUMBER_oifs})_monmean.nc remove_me_ &
cdo splitname ICMPPSH$(printf "%05d" ${RUN_NUMBER_oifs})_monmean.nc remove_me_ &
cdo splitname ICMPPUA$(printf "%05d" ${RUN_NUMBER_oifs})_monmean.nc remove_me_ &
wait
for filename in remove_me_*; do
[ -f "$filename" ] || continue
first=${filename#"remove_me_"}
last=${first%*.nc*}
mv ${filename} ${last}_$(printf "%05d" ${RUN_NUMBER_oifs}).nc
done
cdo selvar,T2M ICMPPGG$(printf "%05d" ${RUN_NUMBER_oifs})_cut.nc T2M_$(printf "%05d" ${RUN_NUMBER_oifs}).nc
cdo selvar,MSL ICMPPGG$(printf "%05d" ${RUN_NUMBER_oifs})_cut.nc MSL_$(printf "%05d" ${RUN_NUMBER_oifs}).nc
fi
for GRID in SH GG UA
do
echo "Removing raw OIFS output"
......
......@@ -109,10 +109,10 @@ cat << EOF
RDEGREW = 0.5,
RSOUTW = -81.0,
RNORTW = 81.0,
LBUD23 = FALSE, ! enable computation of physics tendencies
LWCOU = FALSE, ! TRUE if wave model is to be run
LWCOU2W = FALSE, ! TRUE if two-way interaction with wave model
NSTPW = 1, ! frequency of call to wave model (timesteps)
LBUD23 = FALSE, ! enable computation of physics tendencies
LWCOU = ${WAM_oifs}, ! TRUE if wave model is to be run
LWCOU2W = ${WAM_2W_oifs}, ! TRUE if two-way interaction with wave model
NSTPW = ${WAM_STEP_oifs}, ! frequency of call to wave model (timesteps)
/
&NAMPAR1
LSPLIT = TRUE,
......@@ -132,7 +132,7 @@ cat << EOF
NSPECRESMIN = 160,
NOUTPUT = 1,
MP_TYPE = 2,
MBX_SIZE = 128000000,
MBX_SIZE = 3200000,
/
&NAMDYNA
LGRADSP = TRUE,
......@@ -146,6 +146,9 @@ cat << EOF
LMASDRY = TRUE,
NITMP = 5,
/
&NAMCLDP
SCLCT_SWITCH = ${SUPERCOOLED_LIQUID_CLOUD_FIX_oifs},
/
&NAMCT0
LNHDYN = FALSE,
CTYPE = "fc",
......@@ -195,18 +198,18 @@ cat << EOF
/
&NAMFPC
CFPFMT="MODEL",
NFP3DFP=13,
NFP3DFT=4,
NFP3DFP=8,
NFP3DFT=,
NFP3DFV=1,
MFP3DFP(:)=129,130,135,138,155,157,3,133,246,247,248,75,76,
MFP3DFT(:)=60,129,130,157,
MFP3DFP(:)=129,130,138,155,157,133,246,247,248
MFP3DFT(:)=,
MFP3DFV=133,
NFP2DF=2,
MFP2DF(:)=129,152,
NFPPHY=93,
MFPPHY (:)=31,32,33,34,35,36,37,38,39,40,41,42,44,45,47,50,57,58,59,78,79,129,136,137,139,141,142,143,228,144,145,146,147,148,151,159,164,165,166,167,168,169,170,172,175,176,177,178,179,180,181,182,183,186,187,188,189,195,196,197,198,205,206,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213,212,8,9,228089,228090,228001,3020,228029,228251,228216,228217,228218,228219,228220,228221,
NFPPHY=87,
MFPPHY (:)=31,32,34,35,36,37,38,44,45,47,50,57,58,59,78,79,129,136,137,139,141,142,143,228,144,145,146,147,148,151,159,164,165,166,167,168,169,170,172,175,176,177,178,179,180,181,182,183,186,187,188,195,196,197,198,205,206,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213,212,8,9,228089,228090,228001,3020,228029,228251,228216,228217,228218,228219,228220,228221,
NRFP3S(:)=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
RFP3P(:)=100000.0,92500.0,85000.0,70000.0,50000.0,40000.0,30000.0,25000.0,20000.0,15000.0,10000.0,7000.0,5000.0,3000.0,2000.0,1000.0,700.0,500.0,300.0,200.0,100.0,
RFP3P(:)=100000,92500,85000,70000,60000,50000,40000,30000,25000,20000,15000,10000,7000,5000,3000,2000,1000,500,100,
RFP3TH(:)=315.0,325.0,330.0,
NFPCLI=0,
LFPQ=false,
......@@ -263,8 +266,6 @@ cat << EOF
/
&NAMCHET
/
&NAMCLDP
/
&NAMCLTC
/
&NAMCOM
......
#! /bin/ksh -l
set -e
#SBATCH -n 1
#SBATCH --partition smp
#SBATCH --time=08:00:00
######################
# Technical settings #
######################
set -e
export FUNCTION_PATH=${HOME}/testbed/esm-master/esm-runscripts/functions/all
export FPATH=${FUNCTION_PATH}
......@@ -13,18 +22,16 @@ oifs_VERSION=43r3
ACCOUNT=ba1035
#check=1
compute_time="08:00:00"
compute_time="00:30:00"
post_time="12:00:00"
#use_hyperthreading=1
omp_num_threads_post_awicm3=1
###############################################################################
calendar___include_fleapyear___nml_entry=".true."
calendar___include_fleapyear___nml_file="namelist.config"
INITIAL_DATE_awicm3=1990-01-01 # initial exp. date
FINAL_DATE_awicm3=2010-01-01 # final date of the experiment
FINAL_DATE_awicm3=1991-01-01 # final date of the experiment
CURRENT_DATE_awicm3=date_file # final date of the experiment
EXE_fesom=fesom.x
......@@ -65,15 +72,26 @@ INPUT_EXP_ID_oifs=h6mv # exp id of input files
MESH_DIR_fesom=${WORK}/input/fesom2/core2
MESH_ROTATED_fesom=1
NYEAR_awicm3=10 # number of years per run
NYEAR_awicm3=1 # number of years per run
NMONTH_awicm3=0 # number of months per run
NDAY_awicm3=0 # number of days per run
RESTART_RATE_fesom=10
RESTART_FIRST_fesom=10
RESTART_fesom=10
RESTART_RATE_fesom=1
RESTART_FIRST_fesom=1
RESTART_fesom=1
RESTART_UNIT_fesom='y'
###############################################################################
#######################
# Scientific settings #
#######################
SUPERCOOLED_LIQUID_CLOUD_FIX_oifs=1
OIFS_PAMIP_PP=1
#############################
# Script execution commands #
#############################
load_all_functions
general_do_it_all $@
#! /bin/ksh -l
#SBATCH -n 1
#SBATCH --partition smp
#SBATCH --time=08:00:00
######################
# Technical settings #
######################
set -e
export FUNCTION_PATH=${HOME}/testbed/esm-master/esm-runscripts/functions/all
export FPATH=${FUNCTION_PATH}
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}"/home/ollie/jstreffi/ecmwf/bld_eccodes/lib/:/home/ollie/jstreffi/ecmwf/grib_api/lib:/global/AWIsoft/hdf5/1.10.2_gnu/lib"
machine_name="ollie"
setup_name="awicm3" # awicm, awicm3, mpiesm, pism_mpiesm, echam. mpiom, or pism
oifs_VERSION=43r3
#Xsrun I know what I'm doing
ACCOUNT=ba1035
#check=1
compute_time="00:30:00"
post_time="12:00:00"
#use_hyperthreading=1
omp_num_threads_post_awicm3=1
calendar___include_fleapyear___nml_entry=".true."
calendar___include_fleapyear___nml_file="namelist.config"
INITIAL_DATE_awicm3=1990-01-01 # initial exp. date
FINAL_DATE_awicm3=1990-01-02 # final date of the experiment
CURRENT_DATE_awicm3=date_file # final date of the experiment
EXE_fesom=fesom.x
use_hyperthreading=0
LRESUME_awicm3=0
LRESUME_oifs=0
LRESUME_fesom=1
LRESUME_oasis3mct=1
MODEL_DIR_awicm3=${HOME}/testbed/esm-master/awicm-3.1
BIN_DIR_oifs=${MODEL_DIR_awicm3}/bin/
BIN_DIR_fesom=${MODEL_DIR_awicm3}/bin/
BIN_DIR_rnfmap=${MODEL_DIR_awicm3}/bin/
BASE_DIR=${WORK}/runtime/awicm-3.1
RES_oifs=TL159
LEVELS_oifs=L60
TIME_STEP_oifs=3600
nproca_oifs=35
nprocb_oifs=1
RES_fesom=MR
TIME_STEP_fesom=900
nproca_fesom=576
nprocb_fesom=1
TIME_STEP_oasis3mct=10800
POOL_DIR_awicm3=${WORK}/input
POOL_DIR_fesom=${WORK}/input/fesom2
INI_RESTART_DIR_fesom=${POOL_DIR_fesom}/restarts/MR
INPUT_EXP_ID_oifs=h6mv # exp id of input files
MESH_DIR_fesom=${WORK}/input/fesom2/MR
MESH_ROTATED_fesom=0
NYEAR_awicm3=0 # number of years per run
NMONTH_awicm3=0 # number of months per run
NDAY_awicm3=1 # number of days per run
RESTART_RATE_fesom=1
RESTART_FIRST_fesom=1
RESTART_fesom=1
RESTART_UNIT_fesom='d'
#######################
# Scientific settings #
#######################
SUPERCOOLED_LIQUID_CLOUD_FIX_oifs=1
OIFS_PAMIP_PP=1
#############################
# Script execution commands #
#############################
load_all_functions
general_do_it_all $@
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment