diff --git a/deploy/README b/deploy/README deleted file mode 100644 index 8868f84a799d56f1754fabd12f7322f33064d189..0000000000000000000000000000000000000000 --- a/deploy/README +++ /dev/null @@ -1,45 +0,0 @@ -HOW TO DEPLOY MODEL AT REMOTE HPC/PLATFORM -========================================== - -Here is below a fundamental link for detailed information about available -models and computing platforms: - -http://ic3.cat/wikicfu/index.php/Models - -Here are below fundamental paths for the sources of models and -released patches (w.r.t. different platforms): - -/cfu/releases/models -/cfu/releases/patches - -MODELS ------- - -Here is below the list of models could be deployed: - -* nemo: ecearth-v2.2, v3.2, v3.3, ece-v3.0.1 -* ecearth: v2.0, v2.1, v2.2.0, v2.2.1, v2.2.3, v2.3.0, v3.0, v3.0.1 - -PLATFORMS ---------- - -Here is below the list of platforms could be used for deployment of a model: - -* ithaca -* marenostrum -* marenostrum3 -* ecmwf -* hector -* lindgren -* jaguar - -e.g. ----- - -Here are below examples given for starting the deployment process in -distributed fashion: - -> cd src -> nohup ./deploy.sh ithaca nemo ece-v3.0.1 >& deploy_ithaca_nemo_ece-v3.0.1.log & -> nohup ./deploy.sh ithaca ecearth v3.0.1 >& deploy_ithaca_ecearth_v3.0.1.log & - diff --git a/deploy/headers/ecmwf b/deploy/headers/ecmwf deleted file mode 100644 index 5f5d8e38dd4973d9a45cbe9a487e57cdcfea3366..0000000000000000000000000000000000000000 --- a/deploy/headers/ecmwf +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/ksh -#@ shell = /usr/bin/ksh -#@ class = ns -#@ job_type = serial -#@ job_name = HPCJOB -#@ output = HPCTMP/$(job_name).$(jobid).out -#@ error = HPCTMP/$(job_name).$(jobid).out -#@ notification = error -#@ resources = ConsumableCpus(1) ConsumableMemory(2000mb) -#@ wall_clock_limit = 10:00:00 -#@ queue -# diff --git a/deploy/headers/hector b/deploy/headers/hector deleted file mode 100644 index 582be5f266dfd3efffc7cadafe30cb9ed352a665..0000000000000000000000000000000000000000 --- a/deploy/headers/hector +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -#!/bin/sh --login -#PBS -N HPCJOB -#PBS -e HPCTMP -#PBS -o HPCTMP -#PBS -l walltime=10:00:00 -#PBS -l mppwidth=2 -#PBS -l mppnppn=1 -#PBS -A hpx1enes -# diff --git a/deploy/headers/ithaca b/deploy/headers/ithaca deleted file mode 100644 index a086e3050d4fea913f4853080f63c79e6a8e4907..0000000000000000000000000000000000000000 --- a/deploy/headers/ithaca +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -#$ -S /bin/sh -#$ -N HPCJOB -#$ -o HPCTMP -#$ -j y -# diff --git a/deploy/headers/jaguar b/deploy/headers/jaguar deleted file mode 100644 index 4566ceed45cb9a78e7744a5e579d4d2ab13cc70f..0000000000000000000000000000000000000000 --- a/deploy/headers/jaguar +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -#PBS -N HPCJOB -#PBS -o HPCTMP -#PBS -e HPCTMP -#PBS -l walltime=10:00:00 -#PBS -l size=1 -#PBS -A cli055 -#PBS -l gres=widow2%widow3 -# diff --git a/deploy/headers/lindgren b/deploy/headers/lindgren deleted file mode 100644 index f24a0e8114e7b694c80ea745eb3556db9ffadb86..0000000000000000000000000000000000000000 --- a/deploy/headers/lindgren +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -#!/bin/sh --login -#PBS -N HPCJOB -#PBS -e HPCTMP -#PBS -o HPCTMP -#PBS -l walltime=10:00:00 -#PBS -l mppwidth=2 -#PBS -l mppnppn=1 -# diff --git a/deploy/headers/marenostrum b/deploy/headers/marenostrum deleted file mode 100644 index fc1f2136158571a8e56573db327fa55318fe92c9..0000000000000000000000000000000000000000 --- a/deploy/headers/marenostrum +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -#@ job_name = HPCJOB -#@ output = HPCTMP/HPCJOB_%j.out -#@ error = HPCTMP/HPCJOB_%j.out -#@ wall_clock_limit = 10:00:00 -#@ total_tasks = 1 -# diff --git a/deploy/headers/marenostrum3 b/deploy/headers/marenostrum3 deleted file mode 100644 index 88d222a447f7a7304fc5eab9dfb90161dc58cca3..0000000000000000000000000000000000000000 --- a/deploy/headers/marenostrum3 +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -#BSUB -J HPCJOB -#BSUB -oo HPCTMP/HPCJOB_%J.out -#BSUB -eo HPCTMP/HPCJOB_%J.out -#BSUB -W 10:00 -# diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/doc/compiling-and-running-short-guide.pdf b/deploy/patches/ecmwf/ecearth/v3.0.1/doc/compiling-and-running-short-guide.pdf deleted file mode 100644 index e4dbe4c704d988f4054495fe4475ab040d28689e..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0.1/doc/compiling-and-running-short-guide.pdf and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/doc/ec-conf-manual.pdf b/deploy/patches/ecmwf/ecearth/v3.0.1/doc/ec-conf-manual.pdf deleted file mode 100644 index 80a37a715081b9c8b34128061838405e881a0458..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0.1/doc/ec-conf-manual.pdf and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/doc/src/compiling-and-running-short-guide.odt b/deploy/patches/ecmwf/ecearth/v3.0.1/doc/src/compiling-and-running-short-guide.odt deleted file mode 100644 index efd16cdaa92b19a8894175f489143833f87ceafb..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0.1/doc/src/compiling-and-running-short-guide.odt and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/doc/src/ec-conf-manual.odt b/deploy/patches/ecmwf/ecearth/v3.0.1/doc/src/ec-conf-manual.odt deleted file mode 100644 index 1600c33551e1952bab7132731393d9bb3e81b379..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0.1/doc/src/ec-conf-manual.odt and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ctrl/namcouple.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ctrl/namcouple.sh deleted file mode 100755 index dd21a3c0aca088a645fb33e1649d47a37e4ebe34..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ctrl/namcouple.sh +++ /dev/null @@ -1,279 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ECE3 - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 5 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 5 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ecmwf-run-atm.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ecmwf-run-atm.sh deleted file mode 100755 index c107b611ff162c7dc6c6db1d6da23ef31e2f1686..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ecmwf-run-atm.sh +++ /dev/null @@ -1,353 +0,0 @@ -#@ shell = /usr/bin/ksh - - # Specifies the shell that parses the script. If not - # specified, your login shell will be used. - -#@ class = np - - # Specifies that your job should be run in the class (queue) - # np, which is used to run parallel jobs. - -#@ job_type = parallel - - # Specifies that your job is parallel - -#@ job_name = ecearth3 - - # Assigns the specified name to the request - -#@ output = $(job_name).$(schedd_host).$(jobid).out - - # Specifies the name and location of STDOUT. If not given, the - # default is /dev/null. The file will be written in the - # submitting directory, by default. - -#@ error = $(job_name).$(schedd_host).$(jobid).err - - # Specifies the name and location of STDERR. If not given, the - # default is /dev/null. The file will be written in the - # submitting directory, by default. - -#@ notification = always - - # Specifies that email should be sent only if the job fails. - # Other options include: always, complete, start, and - # never. The default is notification = complete. - -#@ resources = ConsumableCpus(1) ConsumableMemory(1200mb) - - # Specifies quantities of the resources which will be 'consumed' - # by each process/task of a job step. ConsumableCpus and - # ConsumableMemory must be specified with a value which is - # greater than zero. - # The value ConsumableCpus indicates the number of threads per - # (MPI) process/task. This job will be run using 1 thread - # per MPI process/task. - # The value ConsumableMemory specifies the (real) memory per - # (MPI) process/task which is shared between threads. This job - # will request 100 megabytes of real memory. - -#@ node = 4 - - # Specifies that your job requires 2 nodes - -#@ tasks_per_node = 32 - - # Specifies the number of (MPI) processes/tasks of a parallel job - # you want to run per node. In this example your job requires - # 32 processes/tasks per node. - -#@ cpu_limit = 12:00:00 - - # Specifies the maximum CPU time in HH:MM:SS used by any single process. - # In this job 1 MPI process/task can use up to a total of 1 min CPU time. - # Note: All limits are capped by those specified in the class. - -#@ wall_clock_limit = 24:00:00 - - # Specifies that your job requires HH:MM:SS of wall clock - # time. This job requires 3 min of wall clock time. - # Note: All limits are capped by those specified in the class. - -#@ queue -set -xv -exp_name=IFS3 -alias gdate='/usr/local/apps/coreutils/8.20/bin/date' - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 10 years" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=true - -# Resolution -ifs_grid=T255L91 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 year" - -# Coupling frequency [hrs] -cpl_freq_hrs=0 - -# Directories -start_dir=${PWD} -ctrl_file_dir=${start_dir}/ctrl - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- - -# Configure paths for building/running EC-Earth -ecearth_source_dir=/perm/ms/se/sm0g/ecearth3/sources -run_dir=${TEMP}/${USER}/run/${exp_name} -ini_data_dir=${PERM}/ecearth3-release - -stdout_file=${start_dir}/out/out.out - -# Configure grib api paths -export GRIB_DEFINITION_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/share/definitions -export GRIB_SAMPLES_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/ifs_samples/grib1 -export GRIB_BIN_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/bin64 - - -# Configure number of processors per node -#proc_per_node=32 - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -ifs_time_step_sec=2700 - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]\*\)L\([0-9]\*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]\*\)L\([0-9]\*\):\2:') - -ifs_numproc=128 - -ifs_exe_file=${ecearth_source_dir}/ifs-${ifs_version}/bin/ifsmaster-${build_arch} - -ifs_lastout=false - -ifs_cmip5=TRUE -ifs_cmip5_rcp=0 -ifs_volcanoes=TRUE - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(gdate -uR -d "${run_start_date}") -run_end_date=$(gdate -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(gdate -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(gdate -d "${leg_end_date}" +%s) -gt $(gdate -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(gdate -d "${leg_end_date}" +%s) - $(gdate -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(gdate -d "${leg_start_date}" +%s) - $(gdate -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(gdate -d "${leg_end_date}" +%s) - $(gdate -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(gdate -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(gdate -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(gdate -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/climate/ICMSEAECE3INIT \ - ICMSEA${exp_name}INIT - - # Other stuff - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Output control (ppt files) - mkdir postins - cp ${ctrl_file_dir}/ppt* postins/ - f_min=$(( ifs_output_freq * ifs_time_step_sec / 60 )) - for t in $(seq $f_min $f_min 1439) - do - hh=$(printf %02d $((t/60)) ) - mm=$(printf %02d $((t%60)) ) - ln -s pptdddddd0000 postins/pptdddddd$hh$mm - done - /bin/ls -1 postins/* > dirlist - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS namelist file -case ${ifs_grid} in - T255L91) . ${ctrl_file_dir}/namelist.ifs-T255L91.sh > fort.4 - ;; - *) . ${ctrl_file_dir}/namelist.ifs-default.sh > fort.4 - ;; -esac - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ -grib_set=${GRIB_BIN_PATH}${GRIB_BIN_PATH:+/}grib_set - -# Create data for december, the year before the leg starts -${grib_set} \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - ${grib_set} -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -${grib_set} -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - - -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=no - -./${ifs_exe_file##*/} -v ecmwf -e ${exp_name} diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ecmwf-run.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ecmwf-run.sh deleted file mode 100755 index ea0fd6851a3f27f7addad916012a5844b89ffadc..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/runtime/ecmwf-run.sh +++ /dev/null @@ -1,554 +0,0 @@ -#@ shell = /usr/bin/ksh - - # Specifies the shell that parses the script. If not - # specified, your login shell will be used. - -#@ class = np - - # Specifies that your job should be run in the class (queue) - # np, which is used to run parallel jobs. - -#@ job_type = parallel - - # Specifies that your job is parallel - -#@ job_name = ecearth3 - - # Assigns the specified name to the request - -#@ output = $(job_name).$(schedd_host).$(jobid).out - - # Specifies the name and location of STDOUT. If not given, the - # default is /dev/null. The file will be written in the - # submitting directory, by default. - -#@ error = $(job_name).$(schedd_host).$(jobid).err - - # Specifies the name and location of STDERR. If not given, the - # default is /dev/null. The file will be written in the - # submitting directory, by default. - -#@ notification = always - - # Specifies that email should be sent only if the job fails. - # Other options include: always, complete, start, and - # never. The default is notification = complete. - -#@ resources = ConsumableCpus(1) ConsumableMemory(1200mb) - - # Specifies quantities of the resources which will be 'consumed' - # by each process/task of a job step. ConsumableCpus and - # ConsumableMemory must be specified with a value which is - # greater than zero. - # The value ConsumableCpus indicates the number of threads per - # (MPI) process/task. This job will be run using 1 thread - # per MPI process/task. - # The value ConsumableMemory specifies the (real) memory per - # (MPI) process/task which is shared between threads. This job - # will request 100 megabytes of real memory. - -#@ node = 2 - - # Specifies that your job requires 2 nodes - -#@ tasks_per_node = 32 - - # Specifies the number of (MPI) processes/tasks of a parallel job - # you want to run per node. In this example your job requires - # 32 processes/tasks per node. - -#@ cpu_limit = 12:00:00 - - # Specifies the maximum CPU time in HH:MM:SS used by any single process. - # In this job 1 MPI process/task can use up to a total of 1 min CPU time. - # Note: All limits are capped by those specified in the class. - -#@ wall_clock_limit = 24:00:00 - - # Specifies that your job requires HH:MM:SS of wall clock - # time. This job requires 3 min of wall clock time. - # Note: All limits are capped by those specified in the class. - -#@ queue - -set -vuex -alias gdate='/usr/local/apps/coreutils/8.20/bin/date' - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 1 years" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=true - -# Resolution -ifs_grid=T255L91 -nem_grid=ORCA1L46 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="2 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=3 - -# Directories -start_dir=${PWD} -ctrl_file_dir=${start_dir}/ctrl - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -# Configure paths for building/running EC-Earth -ecearth_source_dir=${PERM}/ecearth3/sources -run_dir=${TEMP}/${USER}/run/${exp_name} -ini_data_dir=${PERM}/ecearth3-release - -# File for standard output. -stdout_file=${start_dir}/out/out.out - -# Configure grib api paths -export GRIB_DEFINITION_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/share/definitions -export GRIB_SAMPLES_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/ifs_samples/grib1 -export GRIB_BIN_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/bin64 - - -# Configure and load modules -pre_load_modules_cmd="" -module_list="" - - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -ifs_time_step_sec=2700 - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\2:') - -ifs_numproc=38 - -ifs_exe_file=${ecearth_source_dir}/ifs-${ifs_version}/bin/ifsmaster-${build_arch} - -ifs_lastout=false - -ifs_cmip5=TRUE -ifs_cmip5_rcp=0 -ifs_volcanoes=TRUE - -# ----------------------------------------------------------------------------- -# *** NEMO/LIM configuration -# ----------------------------------------------------------------------------- - -nem_version=3.3.1 -lim_version=3 - -nem_time_step_sec=3600 -lim_time_step_sec=3600 - -nem_res_hor=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\1:') -nem_res_ver=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\2:') - -nem_exe_file=${ecearth_source_dir}/nemo-${nem_version}/CONFIG/${nem_grid}_LIM${lim_version}/BLD/bin/nemo.exe - -nem_numproc=18 - -# ----------------------------------------------------------------------------- -# *** OASIS configuration -# ----------------------------------------------------------------------------- - -oas_namcut_script=${ecearth_source_dir}/util/namcouple-split/namsplit.pl - -oas_numproc=8 - -# Flux correction that compensates for the mismatch between P-E over the ocean, -# and run-off from land (necessary to avoid sea level rise). -# The RUNOFF and CALVING coupling fields are multiplied by this factor. See -# documentation on the EC-Earth 3 Wiki for more details. -oas_qs_fluxcorr=0.985 -oas_rnf_fluxcorr=0.87 - -oas_exe_file=${ecearth_source_dir}/oasis3/${build_arch}/bin/oasis3.MPI1.x - -# Restart files for the coupling fields -oas_cpl_flds="TAUX_OCE TAUY_OCE TAUX_ICE TAUY_ICE \ - QS___OCE QS___ICE QNS__OCE QNS__ICE DQDT_ICE \ - PRCP_LIQ PRCP_SOL EVAP_TOT EVAP_ICE RNF__OCE CALV_OCE \ - O_SSTSST O_TepIce O_AlbIce OIceFrac O_IceTck O_SnwTck" - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(gdate -uR -d "${run_start_date}") -run_end_date=$(gdate -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(gdate -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(gdate -d "${leg_end_date}" +%s) -gt $(gdate -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(gdate -d "${leg_end_date}" +%s) - $(gdate -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(gdate -d "${leg_start_date}" +%s) - $(gdate -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(gdate -d "${leg_end_date}" +%s) - $(gdate -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(gdate -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(gdate -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(gdate -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - ln -s ${nem_exe_file} - ln -s ${oas_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - # Other stuff - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Output control (ppt files) - mkdir postins - cp ${ctrl_file_dir}/ppt* postins/ - f_min=$(( ifs_output_freq * ifs_time_step_sec / 60 )) - for t in $(seq $f_min $f_min 1439) - do - hh=$(printf %02d $((t/60)) ) - mm=$(printf %02d $((t%60)) ) - ln -s pptdddddd0000 postins/pptdddddd$hh$mm - done - /bin/ls -1 postins/* > dirlist - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - - # ------------------------------------------------------------------------- - # *** Files needed for NEMO (linked) - # ------------------------------------------------------------------------- - - # Various stuff - ln -s ${ini_data_dir}/nemo/${nem_grid}/bathy_meter.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/coordinates.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/ahmcoef - - # IOM files - ln -s ${ctrl_file_dir}/xmlio_server.def - ln -s ${ctrl_file_dir}/iodef.xml - - # ------------------------------------------------------------------------- - # *** Files needed for OASIS (linked) - # ------------------------------------------------------------------------- - - # Name table file - ln -s ${ini_data_dir}/oasis/cf_name_table.txt - - oas_grid_dir=${ini_data_dir}/oasis/T${ifs_res_hor}-ORCA${nem_res_hor} - - # Grid definition files - ln -s ${oas_grid_dir}/areas.nc - ln -s ${oas_grid_dir}/grids.nc - ln -s ${oas_grid_dir}/masks.nc - - # Weight files - case ${ifs_res_hor} in - 159) oas_agrd=080 - ;; - 255) oas_agrd=128 - ;; - 511) oas_agrd=256 - ;; - 799) oas_agrd=400 - ;; - *) error "Unsupported horizontal resolution (IFS): ${ifs_res_hor}" - ;; - esac - - case ${nem_res_hor} in - 1) oas_ogrd=O1t0 - ;; - 025) oas_ogrd=Ot25 - ;; - *) error "Unsupported horizontal resolution (NEMO): ${nem_res_hor}" - ;; - esac - - for n in $(seq 0 $((oas_numproc-1)) ) - do - ln -s \ - ${oas_grid_dir}/rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT.nc \ - rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT_${n}.nc - ln -s \ - ${oas_grid_dir}/rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT.nc \ - rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT_${n}.nc - done - - for f in ${oas_cpl_flds} - do - cp ${oas_grid_dir}/rst/$f . - done - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS, NEMO, LIM namelist and OASIS namcouple files -case ${ifs_grid} in - T255L91) . ${ctrl_file_dir}/namelist.ifs-T255L91.sh > fort.4 - ;; - *) . ${ctrl_file_dir}/namelist.ifs-default.sh > fort.4 - ;; -esac -. ${ctrl_file_dir}/namelist.nemo-${nem_grid}.sh > namelist -. ${ctrl_file_dir}/namelist.lim${lim_version}-ORCA${nem_res_hor}.sh > namelist_ice -. ${ctrl_file_dir}/namcouple.sh > namcouple - -# Split OASIS namcouple file (if necessary) -if (( oas_numproc == 1 )) -then - ln -s namcouple namcouple_0 -elif [ -n "$oas_namcut_script" -a -x $oas_namcut_script ] -then - ${oas_namcut_script} ${oas_numproc} namcouple -else - error "Couldn't run script to split the OASIS namcouple file (\$oas_namcut_script)." -fi - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ -grib_set=${GRIB_BIN_PATH}${GRIB_BIN_PATH:+/}grib_set - -# Create data for december, the year before the leg starts -${grib_set} \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy} ) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - ${grib_set} -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -${grib_set} -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Link the appropriate NEMO restart files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - ns=$(printf %08d $(( leg_start_sec / nem_time_step_sec ))) - for n in $( seq 0 $((nem_numproc-1)) ) - do - np=$(printf %04d ${n}) - ln -fs ${exp_name}_${ns}_restart_oce_${np}.nc restart_oce_${np}.nc - ln -fs ${exp_name}_${ns}_restart_ice_${np}.nc restart_ice_${np}.nc - done -fi - -# ----------------------------------------------------------------------------- -# *** Remove some OASIS files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - rm -f anaisout_* -fi - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=yes -export OASIS3DEBUGLEVEL=2 - -# Use the launch function from the platform configuration file -t1=$(gdate +%s) -rm -f configmpmd -for node in $(seq 1 $oas_numproc) -do - echo "$oas_exe_file" >> configmpmd -done - -for node in $(seq 1 $ifs_numproc) -do - echo "$ifs_exe_file -v ecmwf -e $exp_name" >> configmpmd -done - -for node in $(seq 1 $nem_numproc) -do - echo "$nem_exe_file" >> configmpmd -done - -t2=$(gdate +%s) -/usr/bin/poe -pgmmodel mpmd -cmdfile configmpmd -tr=$(gdate -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `gdate '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="NODE.001_01 rcf $oas_cpl_flds" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -exit 0 diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/compilation.cmd b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/compilation.cmd deleted file mode 100755 index 6d7ab041d2cd6d3cbe941b6c5ae0d71d45eb2d6e..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/compilation.cmd +++ /dev/null @@ -1,397 +0,0 @@ -#!/bin/ksh - -# nohup ./compilation.cmd >& compiation.log & - -module add python/2.7.2-01 -PATH=/perm/ms/spesiccf/c3m/opt/make-3.81:${PATH} - -set -xuve -date - -MPI= -LAPACK=/usr/local/apps/lapack/3.1.1/LP64 -SZIP=/usr/local/apps/szip/2.1/LP64 -HDF5=/usr/local/apps/hdf5/1.8.9/LP64 -NetCDF=/usr/local/apps/netcdf4/4.1.3/LP64 -GribAPI=/usr/local/lib/metaps/lib/grib_api/1.9.16 -GribEX=/perm/ms/spesiccf/c3m/opt/gribex_000370/ibm-xlc -JASPER=/usr/local/apps/jasper/1.900.1/LP64 - -cd .. -export ECEARTH=$(pwd) -cd - - -PLATFORM=ecmwf-xlc-poe -CONFIG=config.xml - -cat > $CONFIG < - - - - - Nemo 3.3.1 config file - - nemo-3.3.1/ARCH/arch-ecconf.fcm - - - - - - IFS/36r4 makefile configuration - - ifs-36r4/Makefile.d/Makefile.config.ecconf - - - - - - OASIS makefile configuration - - oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf - - - - - - - HOST: c2a at ecmwf - ARCH: AIX - CPU MODEL: IBM Power7 - COMPILER: IBM XL - MPI: IBM POE - BLAS/LAPACK: IBM ESSL - - - - Base directory for EC-Earth sources - PATH - $ECEARTH - - - - MPI base directory - PATH - - - - - MPI include directory relative to base dir - PATH - - - - - MPI lib directory relative to base dir - PATH - - - - - MPI libraries (without -l prefix) - STRING - - - - - LAPACK base directory - PATH - $LAPACK - - - - LAPACK lib directory relative to base dir - PATH - - - - - LAPACK libraries (without -l prefix) - STRING - lapack_essl essl - - - - NetCDF base directory - PATH - $NetCDF - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf netcdff - - - - GRIB API base directory - PATH - $GribAPI - - - - GRIB API include directory relative to base dir - PATH - include64 - - - - GRIB API lib directory relative to base dir - PATH - lib64 - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api grib_api_f90 - - - - GRIBEX base directory - PATH - $GribEX - - - - GRIBEX lib directory relative to base dir - PATH - lib - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - Fortran 90 Compiler - STRING - mpxlf90 - - - - General F90 flags for compiling - STRING - -O2 -g -q64 -qrealsize=8 -qport=mod -qspillsize=8162 - - - - Allow for free format Fortran - STRING - -qfree=f90 - - - - Expect fixed Fortran format - STRING - -qfixed - - - - Fortran preprocessor flag prefix - STRING - -WF\$(comma)-D - - - - C Compiler - STRING - xlc - - - - General C flags for compiling - STRING - -O2 -g -q64 - - - - C preprocessor flag prefix - STRING - -D - - - - Linker - STRING - mpxlf90 - - - - General flags for linking - STRING - -O2 -g -q64 -qarch=auto -qrealsize=8 -L${HDF5}/lib -lhdf5 -lhdf5_hl -L${SZIP}/lib -lsz -lz -L${JASPER}/lib -ljasper - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - -curv -X64 - - - - Flags for library building command (When using ar: include u) - STRING - -p -X64 - - - - C preprocessor command - STRING - - - - - C preprocessor flags - STRING - - - - - More F90 flags for Oasis - STRING - - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - POINTER_64 BLAS DOUBLE_KIND_EQUALS_REAL - - - - More F90 flags for ifs/ifsaux - STRING - - - - - Additional Fortran compiler flags for EMOSLIB - STRING - -i4 - - - - Fortran preprocessor defs for EMOSLIB - STRING - linux LITTLE_ENDIAN POINTER_64 INTEGER_IS_INT REAL_8 REAL_BIGGER_THAN_INTEGER - - - - C preprocessor defs for EMOSLIB - STRING - \$(EMOS_FPPDEFS) FOPEN64 - - - - F90 dependency generator - STRING - \$(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90-ecmwf - - - - - -EOF -cat $CONFIG - -# MAKEDEP90 Compilation -# ===================== - -#if [ ! -d makedepf90-2.8.8 ]; then -# tar -zxvf ../util/makedepf90/src/makedepf90-2.8.8.tar.gz -# cd makedepf90-2.8.8 -# ./configure --prefix=$ECEARTH/util/makedepf90/ -# make -# make install -# cd - -#fi - -# EC-CONF Usage -# ============= - -cd .. -$ECEARTH/util/ec-conf/ec-conf --platform $PLATFORM build-config/$CONFIG -BA=ecconf # Build Arch -cd - - -# OASIS Compilation -# ================= - -cd $ECEARTH/oasis*/util/make_dir/ -#make realclean -f TopMakefileOasis3 BUILD_ARCH=$BA -make -f TopMakefileOasis3 BUILD_ARCH=$BA - -# NEMO Compilation -# ================ - -cd $ECEARTH/nemo*/CONFIG/ -nemo_configs=`ls -1 | grep ORCA` -#set +e -#./makenemo clean -#set -e -for nemo_config in $nemo_configs; do - ./makenemo -m $BA -n $nemo_config -j 8 -done - -# IFS Compilation -# =============== - -cd $ECEARTH/ifs*/ -#make clean BUILD_ARCH=$BA -#make realclean BUILD_ARCH=$BA -#make dep-clean BUILD_ARCH=$BA -make -j 8 BUILD_ARCH=$BA lib -make BUILD_ARCH=$BA master - -date diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/cp.cmd b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/cp.cmd deleted file mode 100755 index e0dc239d47fd91203798f41a4e04bfdcd9ff8cab..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/cp.cmd +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/ksh - -bin=bin - -while getopts b: option -do - case $option in - b) bin=$OPTARG;; - \?) exit 1;; - esac -done - -set -xuve - -bin="../../../$bin" -mkdir -p $bin -ls -lrt $bin - -cp -p ../oasis3/*con*/bin/oasis3.MPI1.x $bin -for nemo_config in `ls -1 ../nemo*/CONFIG | grep ORCA`; do - mkdir -p $bin/$nemo_config - cp -pf ../nemo-3.3.1/CONFIG/$nemo_config/BLD/bin/*.exe $bin/$nemo_config -done -cp -p ../ifs-36r4/bin/ifsmaster-*con* $bin - -ls -lrt $bin diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/run-atm.cmd b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/run-atm.cmd deleted file mode 100755 index 7bd53a8dd07adc70b41c58274ea0ad7e4a606871..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/run-atm.cmd +++ /dev/null @@ -1,362 +0,0 @@ -#!/bin/ksh -############################################################################### -# RUN EC_EARTH -############################################################################### -#@ shell = /usr/bin/ksh -#@ class = np -#@ job_type = parallel -#@ job_name = run-atm -#@ output = $(job_name).$(jobid).out -#@ error = $(job_name).$(jobid).err -#@ notification = error -#@ resources = ConsumableCpus(1) ConsumableMemory(1200mb) -#@ ec_smt = no -#@ total_tasks = 48 -#@ wall_clock_limit = 00:30:00 -#@ queue -# -############################################################################### - -# modules setup - -# setup the grib_api env. -PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/bin64:$PATH -PATH=/opt/freeware/bin:$PATH - -set -xuve -# module list - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -ifs_grid=T255L62 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=0 - -# Directories -ecearth_base_dir=/perm/ms/spesiccf/c3m/models/ecearth/v3.0.1 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/ms/spesiccf/$USER/test/run_${ifs_grid}_atm_${LOADL_STEP_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -grib_api_path=/usr/local/lib/metaps/lib/grib_api/1.9.16 - -export GRIB_DEFINITION_PATH=${grib_api_path}/share/definitions -export GRIB_SAMPLES_PATH=${grib_api_path}/ifs_samples/grib1 -export GRIB_BIN_PATH=${grib_api_path}/bin64 - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -case ${ifs_grid} in - T159*) ifs_time_step_sec=3600 ;; - T255*) ifs_time_step_sec=2700 ;; - T511*) ifs_time_step_sec=900 ;; - T799*) ifs_time_step_sec=720 ;; - *) error "Unsupported grid type: ${ifs_grid}" - ;; -esac - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]\*\)L\([0-9]\*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]\*\)L\([0-9]\*\):\2:') - -ifs_numproc=48 - -ifs_exe_file=${bin_dir}/ifsmaster-${build_arch} - -ifs_lastout=true - -ifs_cmip5=TRUE -ifs_cmip5_rcp=0 -ifs_volcanoes=TRUE -ifs_ncmip5fixyr=0 - - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/climate/ICMSEAECE3INIT \ - ICMSEA${exp_name}INIT - - # Other stuff - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Output control (ppt files) - mkdir postins - cp ${ctrl_file_dir}/ppt* postins/ - f_min=$(( ifs_output_freq * ifs_time_step_sec / 60 )) - for t in $(seq $f_min $f_min 1439) - do - hh=$(printf %02d $((t/60)) ) - mm=$(printf %02d $((t%60)) ) - ln -s pptdddddd0000 postins/pptdddddd$hh$mm - done - /bin/ls -1 postins/* > dirlist - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS namelist file -. ${ctrl_file_dir}/namelist.ifs-${ifs_grid}.sh > fort.4 - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ - -# Create data for december, the year before the leg starts -grib_set \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - grib_set -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -grib_set -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=no - -### --- PLATFORM DEPENDENT CODE --- -# ulimit -s unlimited -### --- END of PLATFORM DEPENDENT CODE --- - -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -rm -f model.conf -for node in $(seq 1 $ifs_numproc) -do - echo "$ifs_exe_file -v ecmwf -e $exp_name" >> model.conf -done - -/usr/bin/poe -pgmmodel mpmd -cmdfile model.conf -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToRename="NODE.001_01 rcf" -for file in ${filesToRename} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/run.cmd b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/run.cmd deleted file mode 100755 index c71e9e9613d7078a10d435a5be63bada8f7db532..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/run.cmd +++ /dev/null @@ -1,527 +0,0 @@ -#!/bin/ksh -############################################################################### -# RUN EC_EARTH -############################################################################### -#@ shell = /usr/bin/ksh -#@ class = np -#@ job_type = parallel -#@ job_name = run -#@ output = $(job_name).$(jobid).out -#@ error = $(job_name).$(jobid).err -#@ notification = error -#@ resources = ConsumableCpus(1) ConsumableMemory(1200mb) -#@ ec_smt = no -#@ total_tasks = 55 -#@ wall_clock_limit = 00:30:00 -#@ queue -# -############################################################################### - -# modules setup - -# setup the grib_api env. -PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/bin64:$PATH -PATH=/opt/freeware/bin:$PATH - -set -xuve -#module list - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -ifs_grid=T255L62 -nem_grid=ORCA1L46 -lim=LIM2 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=3 - -# Directories -ecearth_base_dir=/perm/ms/spesiccf/c3m/models/ecearth/v3.0.1 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/ms/spesiccf/$USER/test/run_${ifs_grid}_${nem_grid}_${LOADL_STEP_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -grib_api_path=/usr/local/lib/metaps/lib/grib_api/1.9.16 - -export GRIB_DEFINITION_PATH=${grib_api_path}/share/definitions -export GRIB_SAMPLES_PATH=${grib_api_path}/ifs_samples/grib1 -export GRIB_BIN_PATH=${grib_api_path}/bin64 - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -case ${ifs_grid} in - T159*) ifs_time_step_sec=3600 ;; - T255*) ifs_time_step_sec=2700 ;; - T511*) ifs_time_step_sec=900 ;; - T799*) ifs_time_step_sec=720 ;; - *) error "Unsupported grid type: ${ifs_grid}" - ;; -esac - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\2:') - -ifs_numproc=32 - -ifs_exe_file=${bin_dir}/ifsmaster-${build_arch} - -ifs_lastout=true - -ifs_cmip5=TRUE -ifs_cmip5_rcp=0 -ifs_volcanoes=TRUE -ifs_ncmip5fixyr=0 - -# ----------------------------------------------------------------------------- -# *** NEMO/LIM configuration -# ----------------------------------------------------------------------------- - -nem_version=3.3.1 -lim_version=$(echo $lim | cut -d 'M' -f 2) - -case ${nem_grid} in - ORCA1*) nem_time_step_sec=3600 ;; - ORCA025*) nem_time_step_sec=1200 ;; - *) error "Unsupported grid type: ${nem_grid}" - ;; -esac -lim_time_step_sec=3600 - -nem_res_hor=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\1:') -nem_res_ver=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\2:') - -nem_exe_file=${bin_dir}/${nem_grid}_${lim}/nemo.exe - -nem_numproc=16 - -advsch=tvd -rstctl=1 - -# ----------------------------------------------------------------------------- -# *** OASIS configuration -# ----------------------------------------------------------------------------- - -oas_namcut_script=${ecearth_base_dir}/sources/sources/util/namcouple-split/namsplit.pl - -oas_numproc=7 - -# Flux correction that compensates for the mismatch in the LSM of IFS and NEMO -# The QS, RUNOFF and CALVING coupling fields are multiplied by this factor. See -# documentation on the EC-Earth 3 Wiki for more details. -oas_qs_fluxcorr=0.985 -oas_rnf_fluxcorr=0.985 - -oas_exe_file=${bin_dir}/oasis3.MPI1.x - -# Restart files for the coupling fields -oas_cpl_flds="TAUX_OCE TAUY_OCE TAUX_ICE TAUY_ICE \ - QS___OCE QS___ICE QNS__OCE QNS__ICE DQDT_ICE \ - PRCP_LIQ PRCP_SOL EVAP_TOT EVAP_ICE RNF__OCE CALV_OCE \ - O_SSTSST O_TepIce O_AlbIce OIceFrac O_IceTck O_SnwTck" - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - ln -s ${nem_exe_file} - ln -s ${oas_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - # Other stuff - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Output control (ppt files) - mkdir postins - cp ${ctrl_file_dir}/ppt* postins/ - f_min=$(( ifs_output_freq * ifs_time_step_sec / 60 )) - for t in $(seq $f_min $f_min 1439) - do - hh=$(printf %02d $((t/60)) ) - mm=$(printf %02d $((t%60)) ) - ln -s pptdddddd0000 postins/pptdddddd$hh$mm - done - /bin/ls -1 postins/* > dirlist - - # Run-off file - #ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - - # ------------------------------------------------------------------------- - # *** Files needed for NEMO (linked) - # ------------------------------------------------------------------------- - - # Various stuff - ln -s ${ini_data_dir}/nemo/${nem_grid}/bathy_meter.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/coordinates.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/ahmcoef - - # Initial data - ln -s ${ini_data_dir}/nemo/${nem_grid}/temperature_*.nc . - ln -s ${ini_data_dir}/nemo/${nem_grid}/salinity_*.nc . - - # IOM files - ln -s ${ctrl_file_dir}/xmlio_server.def - ln -s ${ctrl_file_dir}/iodef.xml - - # ------------------------------------------------------------------------- - # *** Files needed for OASIS (linked) - # ------------------------------------------------------------------------- - - # Name table file - ln -s ${ini_data_dir}/oasis/cf_name_table.txt - - oas_grid_dir=${ini_data_dir}/oasis/T${ifs_res_hor}-ORCA${nem_res_hor} - - # Run-off file - ln -s ${oas_grid_dir}/runoff_maps.txt - - # Grid definition files - ln -s ${oas_grid_dir}/areas.nc - ln -s ${oas_grid_dir}/grids.nc - ln -s ${oas_grid_dir}/masks.nc - - # Weight files - case ${ifs_res_hor} in - 159) oas_agrd=080 - ;; - 255) oas_agrd=128 - ;; - 511) oas_agrd=256 - ;; - 799) oas_agrd=400 - ;; - *) error "Unsupported horizontal resolution (IFS): ${ifs_res_hor}" - ;; - esac - - case ${nem_res_hor} in - 1) oas_ogrd=O1t0 - ;; - 025) oas_ogrd=Ot25 - ;; - *) error "Unsupported horizontal resolution (NEMO): ${nem_res_hor}" - ;; - esac - - for n in $(seq 0 $((oas_numproc-1))) - do - ln -s \ - ${oas_grid_dir}/rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT.nc \ - rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT_${n}.nc - ln -s \ - ${oas_grid_dir}/rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT.nc \ - rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT_${n}.nc - done - - for f in ${oas_cpl_flds} - do - cp ${oas_grid_dir}/rst/$f . - done - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS, NEMO, LIM namelist and OASIS namcouple files -. ${ctrl_file_dir}/namelist.ifs-${ifs_grid}.sh > fort.4 -. ${ctrl_file_dir}/namelist.nemo-${nem_grid}.sh > namelist -. ${ctrl_file_dir}/namelist.lim${lim_version}-ORCA${nem_res_hor}.sh > namelist_ice -. ${ctrl_file_dir}/namcouple.sh > namcouple - -# Split OASIS namcouple file (if necessary) -if (( oas_numproc == 1 )) -then - ln -s namcouple namcouple_0 -elif [ -n "$oas_namcut_script" -a -x $oas_namcut_script ] -then - ${oas_namcut_script} ${oas_numproc} namcouple -else - error "Couldn't run script to split the OASIS namcouple file (\$oas_namcut_script)." -fi - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ - -# Create data for december, the year before the leg starts -grib_set \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - grib_set -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -grib_set -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Link the appropriate NEMO restart files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - ns=$(printf %08d $(( leg_start_sec / nem_time_step_sec ))) - for n in $(seq 0 $((nem_numproc-1))) - do - np=$(printf %04d ${n}) - ln -fs ${exp_name}_${ns}_restart_oce_${np}.nc restart_oce_${np}.nc - ln -fs ${exp_name}_${ns}_restart_ice_${np}.nc restart_ice_${np}.nc - done -fi - -# ----------------------------------------------------------------------------- -# *** Remove some OASIS files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - rm -f anaisout_* -fi - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=yes -export OASIS3DEBUGLEVEL=2 - -### --- PLATFORM DEPENDENT CODE --- -# ulimit -s unlimited -### --- END of PLATFORM DEPENDENT CODE --- - -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -rm -f model.conf -for node in $(seq 1 $oas_numproc) -do - echo "$oas_exe_file" >> model.conf -done - -for node in $(seq 1 $ifs_numproc) -do - echo "$ifs_exe_file -v ecmwf -e $exp_name" >> model.conf -done - -for node in $(seq 1 $nem_numproc) -do - echo "$nem_exe_file" >> model.conf -done - -/usr/bin/poe -pgmmodel mpmd -cmdfile model.conf -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="NODE.001_01 rcf $oas_cpl_flds fort.4 ifs.stat ocean.output" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml deleted file mode 100644 index 4823c74dc6f56aae9bd92c89ce9193d895a4e464..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml deleted file mode 100644 index 2a13d1a731f3268c9352584795e262207c709aa7..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.xml b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.xml deleted file mode 100644 index 48a0484df19f291cfd1a854089099d137a6af474..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.xml +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh deleted file mode 100755 index 00706d45b2f9e3b72f682df8bdf7c45bf1e2c8fc..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh +++ /dev/null @@ -1,279 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ECE3 - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 5 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 5 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple.sh deleted file mode 100755 index 65ef0c2c8c525ffba283d9269110611c2f1b3888..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple.sh +++ /dev/null @@ -1,279 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ${exp_name} - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 5 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 5 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh deleted file mode 100755 index e46b31c194ee8709c93e8ad0314388a10b144d42..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh +++ /dev/null @@ -1,446 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAMGWWMS - GFLUXLAUN=0.002 - ZLAUNCHP=45000 - LOZPR=true - NGAUSS=4 - GGAUSSB=1.0 -/ -&NAMGWD - GTENLIM=0.02 -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh deleted file mode 100755 index b2da9b7b3d693a93e5d9132beefca0259a7abbc5..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.0e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 250 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 2.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-09 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 100.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 360 ! number of EVP subcycling iterations - telast = 3600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.6 , 0.5 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh deleted file mode 100755 index c2234c7d60ee5a1af0baf329c79cf70f4c48e72d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 1.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 120 ! number of EVP subcycling iterations - telast = 9600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.3 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh deleted file mode 100755 index 43c245e80e4edd26379b58c9938a8e09f14f1cb3..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 5.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh deleted file mode 100755 index ee5a8c37de6c8e91224ea17cf0c25f3ff90cd251..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh deleted file mode 100755 index 1d99d92c2a3b3a69c7b06cec699c7babb7a946f5..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'none' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 1 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 2.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0.5 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 3.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .false. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 1 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 300. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 0. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .false. ! laplacian operator - ln_dynldf_bilap = .true. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 0. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -1.5e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 10. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.4 ! surface buoyancy lenght scale minimum value - ln_lc = .false. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-15 ! absolute precision of the solver - nn_nmin = 340 ! minimum of iterations for the SOR solver - nn_nmax = 15000 ! maximum of iterations for the SOR solver - nn_nmod = 5 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.975 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh deleted file mode 100755 index 7a7dbb3baa4d6febd89342e61fb4ce9608330751..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh +++ /dev/null @@ -1,412 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!----------------------------------------------------------------------- -&namrun ! Parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! Job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! Start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! Restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! Suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! Suffix of ocean restart name (output) - nn_istate = 0 ! Output the initial state (1) or not (0) - nn_stock = 0 ! Frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! Frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) -/ -!----------------------------------------------------------------------- -&namzgr ! Vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namdom ! Space and time domain (bathymetry, mesh, timestep) -!----------------------------------------------------------------------- - nn_bathy = 1 ! Compute (=0) or read (=1) the bathymetry file - nn_closea = 0 ! Remove (=0) or keep (=1) closed seas and lakes (ORCA) - nn_msh = 0 ! Create (=1) a mesh file or not (=0) - ! - rn_e3zps_min= 25. ! Partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.2 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! Flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2") - ln_dm2dc = .false. ! Daily mean to diurnal cycle on short wave - ln_rnf = .false. ! Runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! Coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! SEND -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! RECEIVE -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! Penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - ! - cn_dir = './' ! Root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! Bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! Runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - ! - cn_dir = './' ! Root directory for the location of the runoff files - ln_rnf_emp = .false. ! Runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! Specific treatment at rivers mouths - rn_hrnf = 0.e0 ! Depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! Value of the additional vertical mixing coef. [m2/s] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! Albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! Cloud correction to snow and ice albedo - rn_albice = 0.53 ! Albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! Coefficients for linear interpolation used to - rn_alphc = 0.65 ! Compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ -!----------------------------------------------------------------------- -&namlbc ! Lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0.5 ! shlat = 0 : free slip - ! 0 < shlat < 2 : partial slip - ! shlat = 2 : no slip - ! 2 < shlat : strong slip -/ -!----------------------------------------------------------------------- -&namcla ! Cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! Advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&nambfr ! Bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! Type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! Bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! Bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! Bottom turbulent kinetic energy background (m2/s2) -/ -!----------------------------------------------------------------------- -&nambbc ! Bottom temperature boundary condition -!----------------------------------------------------------------------- -! Use defaults -/ -!----------------------------------------------------------------------- -&nambbl ! Bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! Diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! Advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! Lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! Advective bbl coefficient [s] -/ -!----------------------------------------------------------------------- -&nameos ! Ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! Type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! Thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! Saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! Advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! Lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! Laplacian operator - ln_traldf_bilap = .false. ! Bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! Iso-level - ln_traldf_hor = .false. ! Horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! Iso-neutral (require "key_ldfslp") -! ! Coefficient - rn_aht_0 = 300. ! Horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! Background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 0. ! Eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namdyn_adv ! Formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! Vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! Flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! Flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! Option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! Enstrophy conserving scheme - ln_dynvor_ens = .false. ! Energy conserving scheme - ln_dynvor_mix = .false. ! Mixed scheme - ln_dynvor_een = .true. ! Energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! Weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! Hydrostatic pressure gradient: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -&namdyn_ldf ! Lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .false. ! Laplacian operator - ln_dynldf_bilap = .true. ! Bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! Iso-level - ln_dynldf_hor = .true. ! Horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! Iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 0. ! Horizontal laplacian eddy viscosity [m2/s] - rn_ahm_0_blp = -1.5e11 ! Horizontal bilaplacian eddy viscosity [m4/s] - rn_ahmb_0 = 0. ! Background eddy viscosity for ldf_iso [m2/s] -/ -!----------------------------------------------------------------------- -&namzdf ! Vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.e-4 ! Vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.e-5 ! Vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! Profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! Horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! Enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! Evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 10. ! Evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! Frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! Time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! Number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! Richardson number dependent vertical diffusion ("key_zdfric") -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! Maximum value of the vertical viscosity - rn_alp = 5. ! Coefficient of the parameterization - nn_ric = 2 ! Coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! Turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! Coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! Coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! Coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! Minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! Surface minimum value of tke [m2/s2] - nn_mxl = 3 ! Mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! Surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! Surface buoyancy lenght scale minimum value - ln_lc = .false. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! Coef. associated to Langmuir cells - nn_etau = 1 ! Penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! Fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! Type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ - ln_kpprimix = .true. ! Shear instability mixing - rn_difmiw = 1.0e-04 ! Constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! Constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! Local Richardson Number limit for shear instability - rn_difri = 0.0050 ! Maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! Maximum mixing in interior convection [m2/s] - nn_avb = 0 ! Horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! Constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! Double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! Maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! Heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namsol ! Elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 2 ! Elliptic solver: =1 Preconditioned conjugate gradient (PCG) - ! =2 Successive-over-relaxation (SOR) - ! =3 FETI (fet) ("key_feti") - ! =4 SOR with extra outer halo - nn_sol_arp = 0 ! Absolute/relative (0/1) precision convergence test - nn_nmin = 340 ! Minimum of iterations for the SOR solver - nn_nmax = 15000 ! Maximum of iterations for the SOR solver - nn_nmod = 5 ! Frequency of test for the SOR solver - rn_eps = 1.e-15 ! Absolute precision of the solver - rn_resmax = 1.e-10 ! Absolute precision for the SOR solver - rn_sor = 1.975 ! Optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi") -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! MPI send/recieve type ='S', 'B', or 'I' for standard send, - ! Buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! Size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni Number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj Number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij Number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! Trends control print (expensive!) - nn_print = 0 ! Level of print (0 no extra print) - nn_ictls = 0 ! Start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! End i indice of control sum multi processor runs - nn_jctls = 0 ! Start j indice of control over a subdomain) - nn_jctle = 0 ! End j indice of control - nn_isplt = 1 ! Number of processors in i-direction - nn_jsplt = 1 ! Number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ -!----------------------------------------------------------------------- -&namtrd ! Diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! Time step frequency dynamics and tracers trends - nn_ctls = 0 ! Control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! Suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! Suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! Restart for ML diagnostics - ln_trdmld_instant = .false. ! Flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! Float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! Float restart (T) or not (F) - nn_writefl = 75 ! Frequency of writing in float output file - nn_stockfl = 5475 ! Frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! Trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- -! Use defaults -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- -! Use defaults -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh deleted file mode 100755 index b07b13ae3cdbe85f55b0f6ce8063fa2b64ac8f5f..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulae -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! specific treatment at rivers mouths - rn_hrnf = 15.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.40 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.60 ! compute albedo between two extremes values - rn_alphdi = 0.67 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 1 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 1 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUICKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1400. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1400. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -100.e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.0e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.0e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 50. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 2 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 1800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh deleted file mode 100755 index a5d0ecc5a4290f0ad0de6a5a586262613c4acd4c..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh +++ /dev/null @@ -1,854 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ -!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulae -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! -sn_wndi = 'u10_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'u10', .false., .true., 'yearly', 'weight_bicub_320x161-ORCA1', 'Uwnd' -sn_wndj = 'v10_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'v10', .false., .true., 'yearly', 'weight_bicub_320x161-ORCA1', 'Vwnd' -sn_qsr = 'radsw_DFS4.3_${leg_start_date_yyyy}' , 24, 'radsw', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_qlw = 'radlw_DFS4.3_${leg_start_date_yyyy}' , 24, 'radlw', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_tair = 't2_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 't2', .false., .true., 'yearly', 'weight_bilin_320x161-ORCA1', '' -sn_humi = 'q2_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'q2', .false., .true., 'yearly', 'weight_bilin_320x161-ORCA1', '' -sn_prec = 'precip_DFS4.3_${leg_start_date_yyyy}' , -1, 'precip', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_snow = 'snow_DFS4.3_${leg_start_date_yyyy}' , -1, 'snow', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_tdif = 'taudif_core' , 24, 'taudif', .false., .true., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namtra_qsr ! Penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! specific treatment at rivers mouths - rn_hrnf = 15.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = 0. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.40 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.60 ! compute albedo between two extremes values - rn_alphdi = 0.67 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 1 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 1 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUICKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1400. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1400. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = 0. ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.0e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.0e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 50. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 2 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 1800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 deleted file mode 100644 index 34ea69429f6d2534aa29c06262eadbc71e48fa5c..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 +++ /dev/null @@ -1,32 +0,0 @@ - &NAMFPC - CFPFMT ='MODEL', - LFITP =true, - - NFP3DFP = 5, - MFP3DFP = 129,130,131,132,133, - RFP3P = 100000,92500,85000,70000,50000,40000,30000,20000,10000,5000,1000, - - NFP2DF = 1, - MFP2DF = 152, - - NFPPHY = 53, - MFPPHY = 129,172,031,032,034,035,039,040,041,042,078,079,136,137,139,141,142,143,144,146,147,151,164,165,166,167,168,169,170,175,176,177,178,179,180,181,182,183,186,187,188,201,202,205,208,209,210,211,212,235,236,238,243, - / - &NAMFPDY2 - / - &NAMFPDYP - / - &NAMFPDYH - / - &NAMFPDYT - / - &NAMFPDYV - / - &NAMFPDYS - / - &NAMFPPHY - / - &NAMPPC - LRSACC=.TRUE. - / - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 deleted file mode 100644 index ffd51cca941e5b47fe4cdcf665905e29ea970af4..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 +++ /dev/null @@ -1,32 +0,0 @@ - &NAMFPC - CFPFMT ='MODEL', - LFITP =true, - - NFP3DFP = 5, - MFP3DFP = 129,130,131,132,133, - RFP3P = 100000,92500,85000,70000,50000,40000,30000,20000,10000,5000,1000, - - NFP2DF = 1, - MFP2DF = 152, - - NFPPHY = 51, - MFPPHY = 031,032,034,035,039,040,041,042,078,079,136,137,139,141,142,143,144,146,147,151,164,165,166,167,168,169,170,175,176,177,178,179,180,181,182,183,186,187,188,201,202,205,208,209,210,211,212,235,236,238,243, - / - &NAMFPDY2 - / - &NAMFPDYP - / - &NAMFPDYH - / - &NAMFPDYT - / - &NAMFPDYV - / - &NAMFPDYS - / - &NAMFPPHY - / - &NAMPPC - LRSACC=.TRUE. - / - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def deleted file mode 100644 index 3a6f0e234de9c8173fb30784d1fad6c72f8b1330..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def +++ /dev/null @@ -1,35 +0,0 @@ -! xmlio_server namelist -! -! using_server: .TRUE.(.FALSE.) to use(bypass) the io_server -! using_oasis : .TRUE.(.FALSE.) if nemo is coupled through OASIS -! client_id : used only for OASIS, NEMO id in the namecouple -! server_id : used only for OASIS, io_server id in the namecouple -! -&coupling_param - using_server = .FALSE. - using_oasis = .TRUE. - client_id = 'nemo.x' - server_id = 'ionemo' -/ - -! global_mpi_buffer_size: size in Mo of the MPI buffer used by the io_server -&mpi_param - global_mpi_buffer_size = 512 -/ - -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings -!!====================================================================== -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings - ! (benign if "key_netcdf4" is not used) -!----------------------------------------------------------------------- - nn_nchunks_i = 4 ! number of chunks in i-dimension - nn_nchunks_j = 4 ! number of chunks in j-dimension - nn_nchunks_k = 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .TRUE. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/config-build.xml b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/config-build.xml deleted file mode 100644 index 377cf78b6c515dbf3699ca7c209c179888363d9d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/config-build.xml +++ /dev/null @@ -1,2243 +0,0 @@ - - - - - - Nemo 3.3.1 config file - - nemo-3.3.1/ARCH/arch-ecconf.fcm - - - - - - IFS/36r4 makefile configuration - - ifs-36r4/Makefile.d/Makefile.config.ecconf - - - - - - OASIS makefile configuration - - oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf - - - - - - - HOST: ekman.pdc.kth.se - ARCH: linux_x86_64 - CPU MODEL: Quad-Core AMD Opteron Processor 2374 HE - USER: ufla - COMPILER: i-compilers (icc+ifort) - MPI: Intel MPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3/sources - - - - MPI base directory - PATH - /pdc/vol/intelmpi/4.0.3/intel64 - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi mpigf mpigi - - - - LAPACK base directory - PATH - /pdc/vol/i-compilers/11.1/icc/mkl - - - - LAPACK lib directory relative to base dir - PATH - lib/em64t - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /pdc/vol/netcdf/4.1.1/intel - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf - - - - GRIB API base directory - PATH - /pdc/vol/grib/1.9.9/intel - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - /pdc/vol/gribex/000370/intel/64 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback -L/pdc/vol/hdf5/1.8.3/lib -lhdf5 -lhdf5_hl -L/pdc/vol/szip/2.1/lib -lsz - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: gimle.nsc.liu.se - ARCH: linux_x86_64 - CPU MODEL: Intel Xeon - USER: sm_uflad - COMPILER: i-compilers (icc+ifort) - MPI: Intel MPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3/sources - - - - MPI base directory - PATH - /software/intel/impi/4.0.3.008 - - - - MPI include directory relative to base dir - PATH - include64 - - - - MPI lib directory relative to base dir - PATH - lib64 - - - - MPI libraries (without -l prefix) - STRING - mpi mpiif mpigi - - - - LAPACK base directory - PATH - /software/intel/mkl/10.2.1.017 - - - - LAPACK lib directory relative to base dir - PATH - lib/em64t - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /software/libs/netcdf/3.6.2/i101008 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf - - - - GRIB API base directory - PATH - $(HOME)/Projects/gribapi/1.9.9 - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - $(HOME)/Projects/gribex/370 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: lindgren.pdc.kth.se - ARCH: linux_x86_64 - CPU MODEL: 6-Core AMD Opteron(tm) Processor 23 (D0) - USER: cbasu - COMPILER: i-compilers (icc+ifort) - MPI: Cray MPI - BLAS/LAPACK: Cray BLAS - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3/sources - - - - MPI base directory - PATH - - - - - MPI include directory relative to base dir - PATH - - - - - MPI lib directory relative to base dir - PATH - - - - - MPI libraries (without -l prefix) - STRING - - - - - LAPACK base directory - PATH - - - - - LAPACK lib directory relative to base dir - PATH - - - - - LAPACK libraries (without -l prefix) - STRING - - - - - NetCDF base directory - PATH - /opt/cray/netcdf/4.2.0/intel/120 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdff netcdf hdf5_hl hdf5 z - - - - GRIB API base directory - PATH - /cfs/klemming/nobackup/w/wyser/grib/grib_api-1.9.9 - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - /cfs/klemming/nobackup/w/wyser/gribex/gribex_000370 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ftn - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - cc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ftn - - - - General flags for linking - STRING - -O2 -g -traceback -L/opt/cray/hdf5/default/intel/120/lib - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - cc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - Additional Fortran compiler flags for EMOSLIB - STRING - -i4 - - - - Fortran preprocessor defs for EMOSLIB - STRING - linux LITTLE_ENDIAN POINTER_64 INTEGER_IS_INT REAL_8 REAL_BIGGER_THAN_INTEGER - - - - C preprocessor defs for EMOSLIB - STRING - $(EMOS_FPPDEFS) FOPEN64 - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: krypton.nsc.liu.se - ARCH: linux_x86_64 - CPU MODEL: Intel E5-2660 - USER: sm_uflad - COMPILER: i-compilers (icc+ifort) - MPI: Intel MPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3/sources - - - - MPI base directory - PATH - /software/intel/impi/4.0.3.008/intel64 - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi mpiif mpigi - - - - LAPACK base directory - PATH - /software/intel/composer_xe_2011_sp1.10.319/mkl - - - - LAPACK lib directory relative to base dir - PATH - lib/intel64 - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /software/apps/netcdf/4.2/i1214-hdf5-1.8.9 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdff - - - - GRIB API base directory - PATH - $(HOME)/Projects/gribapi/1.9.9 - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - $(HOME)/Projects/gribex/370 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: c2a at ecmwf - ARCH: - CPU MODEL: IBM Power7 - USER: - COMPILER: IBM XL - MPI: IBM POE - BLAS/LAPACK: IBM ESSL - - - - EC-Earth base directory - PATH - $(PERM)/ecearth3/sources - - - - MPI base directory - PATH - - - - - MPI include directory relative to base dir - PATH - - - - - MPI lib directory relative to base dir - PATH - - - - - MPI libraries (without -l prefix) - STRING - - - - - LAPACK base directory - PATH - /usr/local/apps/lapack/3.1.1/LP64 - - - - LAPACK lib directory relative to base dir - PATH - - - - - LAPACK libraries (without -l prefix) - STRING - lapack_essl essl - - - - NetCDF base directory - PATH - /usr/local/apps/netcdf4/4.1.3/LP64 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdff netcdf - - - - GRIB API base directory - PATH - /usr/local/lib/metaps/lib/grib_api/1.9.16 - - - - GRIB API include directory relative to base dir - PATH - include64 - - - - GRIB API lib directory relative to base dir - PATH - lib64 - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api grib_api_f90 - - - - GRIBEX base directory - PATH - /perm/ms/se/sm0g/gribex_3.7 - - - - GRIBEX lib directory relative to base dir - PATH - lib - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - /ws/home/ms/se/sm0g/Projects/make-3.81/make - - - - Fortran 90 Compiler - STRING - mpxlf90 - - - - General F90 flags for compiling - STRING - -O2 -g -q64 -qrealsize=8 -qport=mod -qspillsize=8162 - - - - Allow for free format Fortran - STRING - -qfree=f90 - - - - Expect fixed Fortran format - STRING - -qfixed - - - - Fortran preprocessor flag prefix - STRING - -WF$(comma)-D - - - - C Compiler - STRING - xlc - - - - General C flags for compiling - STRING - -O2 -g -q64 - - - - C preprocessor flag prefix - STRING - -D - - - - Linker - STRING - mpxlf90 - - - - General flags for linking - STRING - -O2 -g -q64 -qarch=auto -qrealsize=8 -L/usr/local/apps/hdf5/1.8.9/LP64/lib -lhdf5 -lhdf5_hl -L/usr/local/apps/szip/2.1/LP64/lib -lsz -lz -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - -curv -X64 - - - - Flags for library building command (When using ar: include u) - STRING - -p -X64 - - - - C preprocessor command - STRING - - - - - C preprocessor flags - STRING - - - - - More F90 flags for Oasis - STRING - - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - POINTER_64 BLAS DOUBLE_KIND_EQUALS_REAL - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90-ecmwf - - - - - - - HOST: MareNostrum III (mnr?.bsc.es) - ARCH: linux_x86_64 - CPU MODEL: Intel Sandy Bridge - USER: pr1e4407 (ufla) - COMPILER: Intel Compilers (icc+ifort) - MPI: Intel MPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - /gpfs/projects/pr1e4400/ufla/ece/sources - - - - MPI base directory - PATH - /gpfs/apps/MN3/INTEL/impi/4.1.0.024/intel64 - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi mpigf mpigi - - - - LAPACK base directory - PATH - /apps/INTEL/mkl - - - - LAPACK lib directory relative to base dir - PATH - lib/intel64 - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /apps/NETCDF/4.1.3 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf netcdff - - - - GRIB API base directory - PATH - /gpfs/projects/pr1e4400/ufla/lib/gribapi - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - /gpfs/projects/pr1e4400/ufla/lib/gribex - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback -L/apps/HDF5/1.8.10/lib/ -lhdf5 -lhdf5_hl -L/apps/SZIP/2.1/lib/ -lsz - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: MareNostrum III (mnr?.bsc.es) - ARCH: linux_x86_64 - CPU MODEL: Intel Sandy Bridge - USER: pr1e4407 (ufla) - COMPILER: Intel Compilers (icc+ifort) - MPI: OpenMPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - /gpfs/projects/pr1e4400/ufla/ece/sources - - - - MPI base directory - PATH - /apps/OPENMPI/1.5.4 - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi_f77 mpi - - - - LAPACK base directory - PATH - /apps/INTEL/mkl - - - - LAPACK lib directory relative to base dir - PATH - lib/intel64 - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /apps/NETCDF/4.1.3 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf netcdff - - - - GRIB API base directory - PATH - /gpfs/projects/pr1e4400/ufla/lib/gribapi - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - /gpfs/projects/pr1e4400/ufla/lib/gribex - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback -L/apps/HDF5/1.8.10/lib/ -lhdf5 -lhdf5_hl -L/apps/SZIP/2.1/lib/ -lsz - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - ARCH: linux_x86_64 - USER: ufla - COMPILER: GCC (gcc+gfortran) - MPI: OpenMPI - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3/sources - - - - MPI base directory - PATH - /usr - - - - MPI include directory relative to base dir - PATH - include/openmpi-x86_64 - - - - MPI lib directory relative to base dir - PATH - lib64/openmpi/lib - - - - MPI libraries (without -l prefix) - STRING - mpi_f90 mpi_f77 mpi - - - - LAPACK base directory - PATH - - - - - LAPACK lib directory relative to base dir - PATH - - - - - LAPACK libraries (without -l prefix) - STRING - lapack blas - - - - NetCDF base directory - PATH - - - - - NetCDF include directory relative to base dir - PATH - /usr/lib64/gfortran/modules - - - - NetCDF lib directory relative to base dir - PATH - - - - - NetCDF libraries (without -l prefix) - STRING - netcdff - - - - GRIB API base directory - PATH - /usr/lib64 - - - - GRIB API include directory relative to base dir - PATH - gfortran/modules - - - - GRIB API lib directory relative to base dir - PATH - - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api jasper - - - - GRIBEX base directory - PATH - /local_disk/Projects/lib/gribex - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - gfortran - - - - General F90 flags for compiling - STRING - -O2 -g -ffree-line-length-0 -fdefault-real-8 -fbacktrace - - - - C Compiler - STRING - gcc - - - - General C flags for compiling - STRING - -O2 -g - - - - Linker - STRING - gfortran - - - - General flags for linking - STRING - -O2 -g -fbacktrace - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - cpp - - - - C preprocessor flags - STRING - -C -P - - - - More F90 flags for Oasis - STRING - - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -fcray-pointer - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: triolith.nsc.liu.se - ARCH: linux_x86_64 - CPU MODEL: Intel E5-2660 - USER: struthers - COMPILER: i-compilers (icc+ifort) - MPI: Intel MPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3/sources - - - - MPI base directory - PATH - /software/intel/impi/4.0.3.008/intel64 - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi mpiif mpigi - - - - LAPACK base directory - PATH - /software/intel/composer_xe_2011_sp1.10.319/mkl - - - - LAPACK lib directory relative to base dir - PATH - lib/intel64 - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /software/apps/netcdf/4.2/i1214-hdf5-1.8.9 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdff - - - - GRIB API base directory - PATH - /software/apps/grib_api/1.9.9/i1214 - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - /software/apps/gribex/000370/i1214 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.config.ecconf.tmpl b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.config.ecconf.tmpl deleted file mode 100644 index 152c2c91899ee70042aa49c8b70380af2da487ad..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.config.ecconf.tmpl +++ /dev/null @@ -1,65 +0,0 @@ -$(info --> Reading $(lastword $(MAKEFILE_LIST))) - -comma := , - -ECEARTH_SRC_DIR := [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]] - -MPI_BASE_DIR := [[[PLT:ACTIVE:MPI_BASE_DIR]]] -ifneq ($(strip $(MPI_BASE_DIR)),) -MPI_INC_DIR := $(MPI_BASE_DIR)$(addprefix /,[[[PLT:ACTIVE:MPI_INC_SUBDIR]]]) -MPI_LIB_DIR := $(MPI_BASE_DIR)$(addprefix /,[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]) -endif -MPI_LIBS := [[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]] - -OASIS_BASE_DIR := $(ECEARTH_SRC_DIR)/oasis3 -OASIS_ARCH := ecconf -OASIS_MPI_CHAN := MPI1 -OASIS_MOD_DIR := $(OASIS_BASE_DIR)/$(OASIS_ARCH)/build/lib/psmile.$(OASIS_MPI_CHAN) -OASIS_LIB_DIR := $(OASIS_BASE_DIR)/$(OASIS_ARCH)/lib -OASIS_LIBS := psmile.MPI1 mpp_io clim.MPI1 - -ifneq ($(strip [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]),) -NETCDF_LIB_DIR := [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]/[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]] -NETCDF_INC_DIR := [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]/[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]] -endif -NETCDF_LIBS := [[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]] - -LAPACK_BASE_DIR := [[[PLT:ACTIVE:LAPACK_BASE_DIR]]] -ifneq ($(strip $(LAPACK_BASE_DIR)),) -LAPACK_LIB_DIR := $(LAPACK_BASE_DIR)$(addprefix /,[[[PLT:ACTIVE:LAPACK_LIB_SUBDIR]]]) -endif -LAPACK_LIBS := [[[PLT:ACTIVE:LAPACK_LIBS_WITHOUT_L]]] - -ifneq ($(strip [[[PLT:ACTIVE:GRIBAPI_BASE_DIR]]]),) -GRIBAPI_INC_DIR := [[[PLT:ACTIVE:GRIBAPI_BASE_DIR]]]/[[[PLT:ACTIVE:GRIBAPI_INC_SUBDIR]]] -GRIBAPI_LIB_DIR := [[[PLT:ACTIVE:GRIBAPI_BASE_DIR]]]/[[[PLT:ACTIVE:GRIBAPI_LIB_SUBDIR]]] -endif -GRIBAPI_LIBS := [[[PLT:ACTIVE:GRIBAPI_LIBS_WITHOUT_L]]] - -ifneq ($(strip [[[PLT:ACTIVE:GRIBEX_BASE_DIR]]]),) -GRIBEX_LIB_DIR := [[[PLT:ACTIVE:GRIBEX_BASE_DIR]]]/[[[PLT:ACTIVE:GRIBEX_LIB_SUBDIR]]] -endif -GRIBEX_LIBS := [[[PLT:ACTIVE:GRIBEX_LIBS_WITHOUT_L]]] - -MAKEDEPF90 := [[[PLT:ACTIVE:MAKEDEPF90]]] - -F90 := [[[PLT:ACTIVE:FC]]] -F90FLAGS := [[[PLT:ACTIVE:FFLAGS_FREEFORM]]] [[[PLT:ACTIVE:FFLAGS]]] - -IFSAUX_ADD_F90FLAGS := [[[PLT:ACTIVE:IFSAUX_ADD_FFLAGS]]] - -FC := [[[PLT:ACTIVE:FC]]] -FFLAGS := [[[PLT:ACTIVE:FFLAGS_FIXEDFORM]]] [[[PLT:ACTIVE:FFLAGS]]] - -FPPDEFS := $(addprefix [[[PLT:ACTIVE:FFLAGS_FPP_PREFIX]]],[[[PLT:ACTIVE:IFS_PPDEFS]]]) - -CC := [[[PLT:ACTIVE:CC]]] -CFLAGS := [[[PLT:ACTIVE:CFLAGS]]] -CPPDEFS := $(addprefix [[[PLT:ACTIVE:CFLAGS_CPP_PREFIX]]],[[[PLT:ACTIVE:IFS_PPDEFS]]]) - -LD := $(F90) -LDFLAGS := [[[PLT:ACTIVE:LDFLAGS]]] - -AR := [[[PLT:ACTIVE:AR]]] -ARFLAGS := [[[PLT:ACTIVE:ARFLAGS]]] -ARFLAGS_EXTRACT := [[[PLT:ACTIVE:ARFLAGS_EXTRACT]]] diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.master b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.master deleted file mode 100644 index c9831864673de24b5685f935843ad78abb4724af..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.master +++ /dev/null @@ -1,25 +0,0 @@ -.PHONY: master clean realclean dep-clean - -include $(MAKEFILE_CONFIG) - -master:$(IFS_BIN_DIR)/$(IFS_EXE_NAME) - -$(IFS_BIN_DIR)/$(IFS_EXE_NAME): $(addprefix $(IFS_LIB_DIR)/lib,$(addsuffix .a,$(sort $(IFS_LIBS)))) - $(AR) $(ARFLAGS_EXTRACT) $(IFS_LIB_DIR)/libifs.a master.o > $(IFS_BIN_DIR)/master.o - $(LD) -o $@ $(IFS_BIN_DIR)/master.o $(LDFLAGS) \ - $(addprefix -L,$(IFS_LIB_DIR)) $(addprefix -l,$(IFS_LIBS)) \ - $(addprefix -L,$(OASIS_LIB_DIR)) $(addprefix -l,$(OASIS_LIBS)) \ - $(addprefix -L,$(MPI_LIB_DIR)) $(addprefix -l,$(MPI_LIBS)) \ - $(addprefix -L,$(NETCDF_LIB_DIR)) $(addprefix -l,$(NETCDF_LIBS)) \ - $(addprefix -L,$(GRIBAPI_LIB_DIR)) $(addprefix -l,$(GRIBAPI_LIBS)) \ - $(addprefix -L,$(GRIBEX_LIB_DIR)) $(addprefix -l,$(GRIBEX_LIBS)) \ - $(addprefix -L,$(LAPACK_LIB_DIR)) $(addprefix -l,$(LAPACK_LIBS)) - -%.a: - @echo "==> WARNING: Library '$(notdir $@)' out of date! Run 'make lib' first." - -clean: - rm -f $(IFS_BIN_DIR)/master.o - -realclean: clean - rm -f $(IFS_BIN_DIR)/$(IFS_EXE_NAME) diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.rules b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.rules deleted file mode 100644 index d4c283de20244dcd9da6fc28c91ba3037669258f..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/Makefile.d/Makefile.rules +++ /dev/null @@ -1,39 +0,0 @@ -$(info --> Reading $(lastword $(MAKEFILE_LIST))) - -.SUFFIXES: -.SUFFIXES: .o .F90 .F .c - -.PHONY: $(LIB_FILE) lib master clean realclean dep-clean - -lib: $(LIB_FILE) - -$(LIB_FILE): $(OBJS) - $(AR) $(ARFLAGS) $@ $^ - -%.o: %.F90 - $(F90) -c $(F90FLAGS) $(FPPDEFS) $(addprefix -I,$(F90_INC_DIRS)) $< - -%.o: %.F - $(FC) -c $(FFLAGS) $(FPPDEFS) $(addprefix -I,$(F77_INC_DIRS)) $< - -%.o: %.f - $(FC) -c $(FFLAGS) $(addprefix -I,$(F77_INC_DIRS)) $< - -%.o: %.c - $(CC) -c $(CFLAGS) $(CPPDEFS) $(addprefix -I,$(C_INC_DIRS)) $< - -clean: - -rm -f $(OBJS) - -rm -f $(OBJS:.o=.mod) - -realclean: clean - -rm -f $(LIB_FILE) - -dep-clean: - -rm -f $(F90_DEP_FILE) - -ifneq (,$(filter %.F90 %.f90,$(SRCS))) -$(F90_DEP_FILE): $(filter %.F90 %.f90,$(SRCS)) - $(MAKEDEPF90) $(filter %.F90 %.f90,$(SRCS)) > $@ --include $(F90_DEP_FILE) -endif diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/algor/external/linalg/minv.F b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/algor/external/linalg/minv.F deleted file mode 100644 index 41ca75333aec14a0e8f3691721a6e268b23ac4b1..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/algor/external/linalg/minv.F +++ /dev/null @@ -1,183 +0,0 @@ - SUBROUTINE MINV(AB,N,LDBA,ZSCRA,DET1,TOL,M,MODE) - IMPLICIT LOGICAL (L) - INTEGER N,LDBA,M,MODE - REAL TOL,DET1 - REAL AB(LDBA,N+M),ZSCRA( 2*N ) -c internal variables - REAL RCOND,SCRATCH( 4*N ),ZMAT(LDBA,N),DET(2),ANORM - REAL ALPHA,beta, X(N),Y(LDBA) - CHARACTER*1 TRANS - INTEGER IPVT( N ),incx, IWORK(N) - DOUBLE PRECISION DL - INTEGER, PARAMETER :: N_REAL_KIND=KIND(TOL) - -#ifdef DOUBLE_KIND_EQUALS_REAL - INTEGER, PARAMETER :: N_DOUBLE_KIND=KIND(TOL) -#else - INTEGER, PARAMETER :: N_DOUBLE_KIND=KIND(DL) -#endif -c -c - IF (LDBA.NE.N) THEN - write(6,*) ' ERROR IN MINV -- Matrix MUST be square' - CALL ABOR1 (' ERROR IN MINV -- Matrix MUST be square') - ENDIF -c -c - IF (M.LT.0) THEN - write(6,*) ' ERROR IN MINV -- M MUST BE >= 0 ' - CALL ABOR1 (' ERROR IN MINV -- M MUST BE >= 0 ') - ENDIF -C -C Extraction de la matrice ZMAT a factoriser -C - DO JL = 1,LDBA - DO JC = 1,N - ZMAT(JL,JC) = AB(JL,JC) - ENDDO - ENDDO - CALL GECO - IF(RCOND.LE.TOL) THEN - WRITE(6,*)'MINV : MATRIX IS SINGULAR ' - RETURN - ENDIF -C -C Inversion de ZMAT -C - CALL GEDI -C - DET1 = DET(1) * 10.0 ** DET(2) -c -C Remplacement de A (ou ZMAT) par son inverse: -C - IF (MODE.NE.0) THEN - DO JL = 1,LDBA - DO JC = 1,N - AB(JL,JC) = ZMAT(JL,JC) - ENDDO - ENDDO - ENDIF -C -C Resolution des differents systemes lineaires -C - IF (M.GT.0) THEN - TRANS = 'N' - alpha = 1. - beta = 0. - incx = 1 - DO ISYS = 1,M -C -C Extraction du second membre X -C - DO JL = 1,LDBA - X(JL) = AB(JL,N+ISYS) - ENDDO - y = 0. - IF (N_REAL_KIND == N_DOUBLE_KIND) THEN - CALL dgemv(trans,ldba,n,alpha,zmat,ldba,x,incx,beta,y,incx) - ELSE - CALL sgemv(trans,ldba,n,alpha,zmat,ldba,x,incx,beta,y,incx) - ENDIF -C -C Sauvegarde de la solution -C - DO JL = 1,LDBA - AB(JL,N+ISYS) = y(JL) - ENDDO -C - ENDDO -C - ENDIF -C -c - RETURN - - CONTAINS - SUBROUTINE GECO - -c--- simulate LINPAC routines SGECO/DGECO using LAPACK - - ANORM= 0. - DO J = 1, N - ANORM = MAX(ANORM,SUM(ZMAT(1:N,J))) - ENDDO - - IF (N_REAL_KIND == N_DOUBLE_KIND) THEN - - CALL DGETRF (N,N,ZMAT,LDBA,IPVT,INFO) - IF (INFO < 0) THEN - WRITE(6,*) 'DGETRF RETURNS NEGATIVE INFO: ',INFO - CALL ABOR1 ('DGETRF RETURNS NEGATIVE INFO') - ENDIF - - CALL DGECON ('1',N,ZMAT,LDBA,ANORM,RCOND,SCRATCH,IWORK,INFO) - IF (INFO /= 0) THEN - WRITE(6,*) 'DGECON RETURNS NON-ZERO INFO: ',INFO - CALL ABOR1 ('DGECON RETURNS NON-ZERO INFO') - ENDIF - - ELSE - - CALL SGETRF (N,N,ZMAT,LDBA,IPVT,INFO) - IF (INFO < 0) THEN - WRITE(6,*) 'SGETRF RETURNS NEGATIVE INFO: ',INFO - CALL ABOR1 ('SGETRF RETURNS NEGATIVE INFO') - ENDIF - - CALL SGECON ('1',N,ZMAT,LDBA,ANORM,RCOND,SCRATCH,IWORK,INFO) - IF (INFO /= 0) THEN - WRITE(6,*) 'SGECON RETURNS NON-ZERO INFO: ',INFO - CALL ABOR1 ('SGECON RETURNS NON-ZERO INFO') - ENDIF - - ENDIF - - RETURN - END SUBROUTINE GECO - - SUBROUTINE GEDI - -c--- simulate LINPAC routines SGEDI/DGEDI using LAPACK - - DET(1) = 1.0E0 - DET(2) = 0.0E0 - TEN = 10.0E0 - - IF (JOB/10 /= 0) THEN - DETLOOP: DO I = 1, N - IF (IPVT(I) .NE. I) DET(1) = -DET(1) - DET(1) = ZMAT(I,I)*DET(1) - IF (DET(1) .EQ. 0.0E0) EXIT DETLOOP - - DO - IF (ABS(DET(1)) .GE. 1.0E0) EXIT - DET(1) = TEN*DET(1) - DET(2) = DET(2) - 1.0E0 - ENDDO - - DO - IF (ABS(DET(1)) .LT. TEN) EXIT - DET(1) = DET(1)/TEN - DET(2) = DET(2) + 1.0E0 - ENDDO - ENDDO DETLOOP - ENDIF - - IF (N_REAL_KIND == N_DOUBLE_KIND) THEN - CALL DGETRI (N,ZMAT,LDBA,IPVT,SCRATCH,SIZE(SCRATCH),INFO) - IF (INFO /= 0) THEN - WRITE(6,*) 'DGETRI RETURNS NON-ZERO INFO: ',INFO - CALL ABOR1 ('DGETRI RETURNS NON-ZERO INFO') - ENDIF - ELSE - CALL SGETRI (N,ZMAT,LDBA,IPVT,SCRATCH,SIZE(SCRATCH),INFO) - IF (INFO /= 0) THEN - WRITE(6,*) 'SGETRI RETURNS NON-ZERO INFO: ',INFO - CALL ABOR1 ('SGETRI RETURNS NON-ZERO INFO') - ENDIF - ENDIF - - RETURN - END SUBROUTINE GEDI - - END SUBROUTINE MINV diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/control/cnt3.F90 b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/control/cnt3.F90 deleted file mode 100644 index 2dc3e1878374e61527e641764cfa6ebc62065388..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/control/cnt3.F90 +++ /dev/null @@ -1,335 +0,0 @@ -SUBROUTINE CNT3 - -!**** *CNT3* - Controls integration job at level 3 - -! Purpose. -! -------- - -!** Interface. -! ---------- -! *CALL* *CNT3 - -! Explicit arguments : -! -------------------- -! None - -! Implicit arguments : -! -------------------- -! None - -! Method. -! ------- -! See documentation - -! Externals. -! ---------- -! Calls SU3YOM, SUALSPA, RERESF, CSTA, UPSPEC, SUORCTV, ARCHFP, -! CNMI, CMAC, FLTMODE, FLTRG, DFI, CNT4, SPNORM. -! Called by CNT2, TESTLI, ... - -! Reference. -! ---------- -! ECMWF Research Department documentation of the IFS - -! Author. -! ------- -! Mats Hamrud and Philippe Courtier *ECMWF* - -! Modifications. -! -------------- -! Original : 87-10-15 -! Modified : 90-01-22 Bill Heckley - option to filter initial state -! Modified : 91-09-25 p.c and JN.T - remove useless logic -! Modified : 92-10-19 Bill Heckley - reduce gravity mode amplitude -! to aid 3/4DVAR conditioning -! Modified : 92-12-24 G. Radnoti - option for digital filter init. -! Modified : 92-12-25 J-N Thepaut - update spectral array (conf 131) -! Modified : 93-04-13 L. Labbe - Init. grid point orography as -! control variable -! Modified : 94-03-03 R. El Khatib - Full-POS inplementation -! Modified : 94-03_09 " " - Use of NMI after the run (821) -! Modified : 94-07-05 J-N Thepaut - dummy call to cnt4 (conf 131) -! Modified : 94-07-26 D. Giard - call to MATCLOSE after filtering -! Modified : 95-09-04 R. El Khatib - FullPOS internal part 2 out of CNT4 -! Modified : 95-10-30 M.Hamrud - Changed CLCONF -! Modified : 95-09-25 J.-N Thepaut - write spec traj with FullPos -! Modified : 97-10-02 D. Dent - replace SECOND with USER_CLOCK -! Modified : 98-10-05 A. Untch - setup ozone chemistry if restart -! Modified : 99-09-17 M. Fisher - Don't modify SITR and SIPR -! Modified : 00-11-06 J. Barkmeijer- Use perturbed tendencies -! R. El Khatib : 01-08-07 Pruning options -! Modified : 02-09-30 V.Guidard&C.Fischer - 3dfgat coupling switched on -! J. Masek : 12-10-2002: Call of SUPONG moved from SUDYN. -! R. El Khatib : 02-21-20 Fullpos B-level distribution + remove IO scheme -! R. El Khatib : 02-11-12 Pruning LREFFP -! M.Hamrud 01-Oct-2003 CY28 Cleaning -! C. Fischer 04-02-26 Merge Aladin into Arpege/IFS cnt3 -! C. Fischer 04-10-20 call sueqlimsat -! Y.Tremolet 21-Jul-2004 Model error -! M. Jidane : 13-04-2006 : SWAP37 NO MORE IN USE -! M. Drusch: 17-Jan-2007 introduce nconf 302 -! B. Chapnik: 22-sep-2008 allows upspec for aladin -! G. Desroziers 22-Dec-2008: Enable transf. of ARPEGE file in GRIB format (to be used in femars) -! ------------------------------------------------------------------ - -USE PARKIND1 ,ONLY : JPIM, JPIB, JPRB -USE YOMHOOK ,ONLY : LHOOK, DR_HOOK - -USE YOMDIM , ONLY : NFLEVG, NFLEVL, NSPEC2 ,NSMAX -USE YOMLUN , ONLY : NULOUT -USE YOMCT0 , ONLY : LFPART2, NCONF, NSTOP, LNF, LOBSC1, LELAM, NPROC -USE YEMCT0 , ONLY : LEQLIMSAT -USE YOMNMIA , ONLY : NVMOD ,NVMODPP ,LNMIRQ ,LSTDNMI ,& - & LNPROJ -USE YOMINI , ONLY : NEINI -USE YOMTIM , ONLY : RSTART ,RVSTART ,RTIMEF -USE YOMVAR , ONLY : LTEST ,LINITCV, LFEMARSF, LFEMARSD -USE YOMMP , ONLY : NUMVMO -USE YOEPHY , ONLY : LEO3CH, LEPCLD, LEPHYS -USE YOERAD , ONLY : LECO2VAR, LHGHG -USE YOMPHY , ONLY : LREASUR -USE YOMSP , ONLY : SPA3 ,SPA2 ,SPVOR ,SPDIV ,& - &SPT ,SPQ ,SPSP ,SPOR -USE YOMGEM , ONLY : VAH, VBH -USE YOMRIP , ONLY : NINDAT ,NSSSSS -USE STOPH_MIX , ONLY : LFORCENL -USE GFL_SUBS_MOD , ONLY : DEACT_CLOUD_GFL, REACT_CLOUD_GFL - -IMPLICIT NONE - -LOGICAL :: LLOVER - -REAL(KIND=JPRB) :: ZCT, ZVT, ZWT -REAL(KIND=JPRB), ALLOCATABLE :: ZSPA3(:,:,:), ZSPA2(:,:) - -CHARACTER (LEN = 9) :: CLCONF -REAL(KIND=JPRB) :: ZHOOK_HANDLE - -! ----------------------------------------------------------- - -INTERFACE -#include "user_clock.h" -END INTERFACE - -#include "cmac.intfb.h" -#include "cnmi.intfb.h" -#include "cnt4.intfb.h" -#include "pertsekf_v2.intfb.h" -#include "cprep4.intfb.h" -#include "csta.intfb.h" -#include "dealnmi.intfb.h" -#include "dfi.intfb.h" -#include "elsac.intfb.h" -#include "fltmode.intfb.h" -#include "opdis.intfb.h" -#include "reresf.intfb.h" -#include "spnorm.intfb.h" -#include "su3yom.intfb.h" -#include "su4fpos.intfb.h" -#include "sueqlimsat.intfb.h" -#include "suforce.intfb.h" -#include "supong.intfb.h" -#include "swap73.intfb.h" -#include "updo3ch.intfb.h" -#include "updrgas.intfb.h" -#include "upspec.intfb.h" -#include "grbspa.intfb.h" -#include "suinif.intfb.h" - -! ----------------------------------------------------------- - -!* 1. Initialize LEVEL 3 COMMONS. -! --------------------------- - -IF (LHOOK) CALL DR_HOOK('CNT3',0,ZHOOK_HANDLE) -WRITE(UNIT=NULOUT,FMT='('' START CNT3'')') -CALL SU3YOM -IF (LEPHYS) THEN - IF (LEPCLD) THEN - CALL REACT_CLOUD_GFL - ELSE - CALL DEACT_CLOUD_GFL - ENDIF -ENDIF -! ----------------------------------------------------------- - -!* 2. RESTART. -! -------- - -IF(NCONF == 1.OR.NCONF == 302) THEN -! ** OPDIS IS CALLED HERE ONLY TO AVOID MEMORY FRAGMENTAION ** - CLCONF='000000000' - CALL USER_CLOCK(PELAPSED_TIME=ZWT,PVECTOR_CP=ZVT,PTOTAL_CP=ZCT) - ZCT=ZCT-RSTART - ZVT=ZVT-RVSTART - ZWT=ZWT-RTIMEF - CALL OPDIS(CLCONF,'CNT3 ',ZCT,ZVT,ZWT,RSTART,RVSTART,RTIMEF) -ENDIF - -IF (.NOT.LELAM) THEN - -!* 3.0 ARPEGE/IFS INITIALIZATION -! ------------------------- - - IF ((NCONF == 1.OR.NCONF == 302).AND..NOT.LFPART2) THEN - CALL RERESF -! SETUP OZONE CHEMISTRY IN CASE OF RESTART - IF(.NOT.LNF.AND.LEO3CH) THEN - CALL UPDO3CH - ENDIF - IF(.NOT.LNF.AND.(LECO2VAR.OR.LHGHG)) THEN - CALL UPDRGAS - ENDIF - ELSE - LNF=.TRUE. - ENDIF -! ----------------------------------------------------------- - -!* 3. START. -! ------ - - IF (LNF) THEN - IF (LFORCENL) CALL SUFORCE - CALL CSTA - ENDIF - -!* 3.0 PERTURB INITIAL CONDITIONS FOR THE SEKF RUN -! ------------------------------------------- - - IF (NCONF == 302) THEN - CALL PERTSEKF_V2 - ENDIF - -!* 3.1 OASIS3 check -! ------------ - CALL SETOASIS3 - -!* 3.2 Update spectral array. -! ---------------------- - - IF (.NOT.LFPART2) THEN - IF (LOBSC1.AND.LINITCV) CALL UPSPEC - ENDIF - -!* 3.3 Read in ARPEGE format and write in GRIB format -! ---------------------------------------------- - - IF (LFEMARSF.OR.LFEMARSD) THEN - IF (NPROC /= 1) THEN - WRITE (NULOUT,*)'CNT3: must run conf CNT3 with LFEMARSF or LFEMARSD with one proc only !' - CALL ABOR1('CNT3: ABOR1 CALLED') - ENDIF -! Read first file - LREASUR=.FALSE. - CALL SUINIF(6) - IF (LFEMARSD) THEN - ALLOCATE (ZSPA3(SIZE(SPA3,1),SIZE(SPA3,2),SIZE(SPA3,3))) - ALLOCATE (ZSPA2(SIZE(SPA2,1),SIZE(SPA2,2))) - ZSPA3(:,:,:)=SPA3(:,:,:) - ZSPA2(:,:)=SPA2(:,:) -! Read second file and make the difference - CALL SUINIF(7) - SPA3(:,:,:)=SPA3(:,:,:)-ZSPA3(:,:,:) - SPA2(:,:)=SPA2(:,:)-ZSPA2(:,:) - DEALLOCATE (ZSPA3) - DEALLOCATE (ZSPA2) - ENDIF - WRITE(NULOUT,*) 'norms of increments at date ',NINDAT - CALL SPNORM(0) -! Write in GRIB format - CALL GRBSPA(NFLEVL,NSMAX,NSPEC2,VAH,VBH,SPVOR,SPDIV,SPT,SPQ,SPSP,& - &SPOR,NINDAT,NSSSSS) - IF (LHOOK) CALL DR_HOOK('CNT3',1,ZHOOK_HANDLE) - RETURN - ENDIF - -! ----------------------------------------------------------- - -!* 4. FILTERING -! --------- - - IF (.NOT.LFPART2) THEN - -!* 4.1 Jc COMPUTATION. -! --------------- -! ALL COMPUTATION IN CNT3AD - -!* 4.2 NORMAL MODE INITIALIZATION. -! --------------------------- - - IF(LNF) THEN - CALL SPNORM(0) - IF (LNMIRQ) THEN - IF (LSTDNMI) THEN - CALL CNMI - ELSE - CALL CMAC - ENDIF - ELSEIF (LNPROJ) THEN - CALL FLTMODE(NVMOD,NVMODPP,NUMVMO) - ENDIF - ENDIF - -!* 4.4 Jg COMPUTATION. -! --------------- -! ALL COMPUTATION IN CNT3AD - -! ----------------------------------------------------------- - -!* 4.5 DIGITAL FILTER INITIALIZATION -! ----------------------------- - - IF (LNF.AND.(NEINI == 2.OR.NEINI == 4)) CALL DFI - - ENDIF - -ELSE - -!* 4.7 LAM INITIALIZATION -! ------------------ - - IF (NCONF/100 == 0.OR.NCONF/100 == 2.OR.NCONF == 801.OR.& - & NCONF == 302.OR.NCONF == 501.OR.NCONF == 401.OR.& - & ((NCONF/100==1).AND.(NSTOP>0)).OR.& - & NCONF == 601) THEN - IF(LTEST.AND.NCONF == 801) CALL SWAP73 - CALL ELSAC - IF(LTEST.AND.NCONF == 801) CALL SWAP73 - ENDIF - - IF (.NOT. LFPART2 .AND. LEQLIMSAT) CALL SUEQLIMSAT - - ! sponge setup - IF ( NFLEVG > 1 ) THEN - CALL SUPONG - ENDIF - -ENDIF - -! ----------------------------------------------------------- - -!* 5. INTEGRATION. -! ------------ - -IF (.NOT.LFPART2) THEN - -! Deallocate arrays only used in normal mode initialization - - IF (NCONF/100 == 0 .OR. NCONF == 302) THEN - CALL DEALNMI - ENDIF - - CALL CNT4 - -ELSE - CALL SU4FPOS(INT(0,JPIB)) - CLCONF(1:1)='0' - CALL CPREP4(CLCONF,LLOVER) -ENDIF - -WRITE(UNIT=NULOUT,FMT='('' END CNT3'')') - -! ------------------------------------------------------------------ - -IF (LHOOK) CALL DR_HOOK('CNT3',1,ZHOOK_HANDLE) -END SUBROUTINE CNT3 diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/control/cnt4ad.F90 b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/control/cnt4ad.F90 deleted file mode 100644 index 1223fc5b0c2c655b2d72ed6bc03fdf8c718d77f9..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/control/cnt4ad.F90 +++ /dev/null @@ -1,1007 +0,0 @@ -SUBROUTINE CNT4AD - -USE PARKIND1 ,ONLY : JPIM, JPIB, JPRB -USE YOMHOOK ,ONLY : LHOOK ,DR_HOOK - -USE YOMDIMO , ONLY : NACTIM -USE YOMECTAB , ONLY : NTSLOTNO ,NTSLOTNOS,NTSLOTNOE,NTSLVSTST -USE YOMLUN , ONLY : NULOUT -USE YOMCT0 , ONLY : LFPART2 ,LNHDYN ,NCONF ,NSTOP ,NFRPOS ,NFRISP ,& - & NFRHIS ,NFSRHIS ,NFRGDI ,NFRSDI ,NFRDHFG ,NFRDHFZ ,& - & NFRDHFD ,NFRDHP ,NFRMASSCON,LTWOTL ,& - & LFPOS ,LOBS ,LSIMOB ,LSITRIC ,NPRINTLEV ,& - & NSTART ,LELAM -USE YOMCT2 , ONLY : NSTAR2 ,NSTOP2 -USE YOMCT3 , ONLY : NSTEP -USE YOMDYN , ONLY : TSTEP, TDT, LSTRHD, LSIDG, NSITER, NCURRENT_ITER -USE YOMVAR , ONLY : NSIM4D ,NFRREF ,NFRANA ,& - & NFRGRA ,NSIM4DL ,LTRREF ,& - & LTWGRA ,LGRASCAL, LJCDFI, LUSEJCDFI, LMODERR ,LAVARC , LFCOBSTEST -USE YOMGLOBS , ONLY : LPREMPOBS -USE YOMHCP , ONLY : NHECP -USE YOMCFU , ONLY : NFRCFU -USE YOMXFU , ONLY : NFRXFU ,NFRRAZ -USE YOMSENS , ONLY : NJROPT -USE YOMVRTL , ONLY : L801TL ,LOBSTL -USE YOMRES , ONLY : NFRRES -USE YOMSKF , ONLY : LTWSKFZ -USE YOMPPC , ONLY : LOPPCNT -USE YOMMP , ONLY : NOUTTYPE, NPSP -USE YOMIO , ONLY : LPPTSF -USE YOMTIM , ONLY : RSTART ,RVSTART ,RTIMEF -USE YOMTNEWT , ONLY : LIDMODEL -USE YOMSP , ONLY : SPSP, SPA3, SPD2D, SP5A3, SP5A2, SPA1, SP5A1 -USE TRAJECTORY_MOD, ONLY: LTRAJGP, GET_TRAJ_SPEC -USE YOMLCZ , ONLY: L_SOS, L_EOFS, NSTEPS_PER_STATE, YSTATE_VECTOR_4D, & - & LOCNORM, LFORCE, YSPFORCE -USE YOMMODEL_ERROR,ONLY: NTYPE_MODERR, NDIM_MODERR, MSTEPERR, NPRTMODERR, & - & SPMODERR, GPMODERR, SPMODERR_HYB, GPMODERR_HYB, & - & N_COUPLED_WINDOWS -USE YEMCT0 , ONLY : NECOAD ,LE0COTA ,NFRLSG ,N1LSG -USE YOMDFI , ONLY : NSTDFI -USE CONTROL_VECTORS -USE SPECTRAL_FIELDS_MOD -USE YEMJK , ONLY : LEJK - -!**** *CNT4AD* - Controls adjoint model at level 4 - -! Purpose. -! -------- -! Controls adjoint integration. - -!** Interface. -! ---------- -! *CALL* *CNT4AD - -! Explicit arguments : -! -------------------- -! None - -! Implicit arguments : -! -------------------- -! None - -! Method. -! ------- -! See documentation - -! Externals. -! ---------- -! Called by CNT3. - -! Reference. -! ---------- -! ECMWF Research Department documentation of the IFS - -! Author. -! ------- -! Mats Hamrud and Philippe Courtier *ECMWF* - -! Modifications -! ------------- -! Original : 87-10-15 -! Modified by D. Vasiljevic and J. Pailleux: 90-11-23 -! Modified by F. Rabier and J.N Thepaut: 91-01-15 -! P. Courtier: 91-08-07 (transforms calls) -! J.N Thepaut: 91-08-22 (4D with real data events managment -! + comparison model - op.analysis) -! W Heckley : 91-10-02 3-D (comparison model - obs) -! D. Vasiljevic: 92-05-08 IO and OBS. IO schemes -! L. Labbe: 93-04-15 Gradient for sensitivity job 8xx -! 08/03/1993 Additional horizontal diffusion on not stretched sphere -! (K. YESSAD). -! F. Rabier : 93-12-10 Write gradient according to post-processing set-u -! + possibility of writing it with respect to SCALP inner-pr -! K. YESSAD (MARCH 1994): Modifications in the semi-implicit scheme -! (add of call to SUHEG, call SUHEL useless). -! K. YESSAD (APRIL 1994): Unified horizontal diffusion scheme. -! M.Hamrud: 95-10-30 (New form of CLCONF) -! K. YESSAD (NOV 1995): removal of HDC horizontal diffusion scheme. -! F. Rabier : 96-09-25 Proper call to stepo(V00..0) in nconf 801 -! M.Hamrud : Optim, cleaning -! M. Fisher : 97-01-31 Write gradient at intermediate time -! C. Temperton 97-02-24: modified first timestep when XIDT>0 -! T. Bergot 97-08 : write gradient / IHISTS -! + read RFfile only if NJROPT=1 -! G. Hello : 97-08-05 Write gradient with implicit inner product -! F. Rabier : 98-01-06 call PPFLUSH in nconf 801 -! C. Soci : 98-06-15 introduction of YOMCAIN/YEMECAIN -! M. Charron: November 98 (nonhydrostatic dynamics, incomplet) -! C. Temperton 98-11-05: adjoint of two-time-level scheme -! C. Fischer : 98-11-20 Nullify boundaries for aladin/AD if asked -! C. Temperton 99-08-16: removed redundant RKROMA -! P. Gauthier :99-08-10: Jc-dfi (adjoint) -! C. Fischer : 99-12-27 Prepare for nsiter>0 -! C. Soci : 00-04-05 ZVANA&ZVAGR allocatable to include mean wind; -! write LSG at intermediate timesteps -! C. Temperton 00-03-24: bugfixes for 2TL scheme: RSTATI=>ZSTATI -! Y. Tremolet 00-08-11: use module TRAJECTORY -! C. Fischer: 02-03-13: merge ecain* into cain* -! J.Vivoda (03-2002) PC schemes for NH dynamics (LPC_XXXX keys) -! G. Desroziers : 02-09-16 also treat Aladin mean wind trajectory -! 01-Oct-2003 M. Hamrud CY28 Cleaning -! 25-Feb-2004 C. Fischer Merge Aladin into Arpege/IFS cnt4ad -! Dec-2003 K. Yessad cleaning in horizontal diffusion. -! 10-Jun-2004 J. Masek NH cleaning (LPC_NOTR) -! 01-Jul-2004 K. Yessad Cleaning in PC scheme, and paragraph numbering -! harmonisation with the direct and the TL codes (when possible!). -! Y.Tremolet 18-Mar-2004 Model error changes -! R. El Khatib : 05-02-21 specific frequency array to reset instant. fluxes -! V.Guidard&C.Fischer: 01-Apr-2004 Introduction of Jk event -! K. Yessad 08-Feb-2005 SI scheme for ARPEGE NH model -! K. Yessad 21-Apr-2005 cleanings for SPNORM-printings. -! D. Salmond 21-09-05 Fix for LTRAJGP=true -! B. Chapnik 02-May-2007 fgat : temporal loop considered only if Tstep corresponds to tslot -! and call to stepo only when needed -! Y. Seity 11-01-08 add ISHISTS for surfex output files -! Y.Tremolet 27-Nov-2008 Jc-DFI for long windows -! F. Vana 13-Jan-2009: removed special specHD setup when LSLHD -! End Modifications - -!------------------------------------------------------------------------------ - -IMPLICIT NONE - -CHARACTER (LEN = 9) :: CLCONF -CHARACTER (LEN = 9) :: CLCON9 -CHARACTER (LEN = 120) :: CLYFILE -CHARACTER (LEN = 10) :: CLTIMEOD, CLDAT(3) - -! 1 : configuration of WRTRA write the trajectory -! 2 : configuration of LTINV inverse Legendre transform -! 3 : configuration of FTINV inverse Fourier transform -! 4 : configuration of GPC grid point computations -! 5 : configuration of POS post processing -! 6 : configuration of OBS comparison to observations -! 7 : configuration of FTDIR direct Fourier transform -! 8 : configuration of LTDIR direct Legendre transform -! 9 : configuration of SPC spectral space computations - -! ZVANA : working array containing the model state. -! ZVAGR : working array containing the gradient. -TYPE(control_vector) :: YL_ZVANA, YL_ZVAGR - -! - IPOSTS : ARRAY CONTAINING POST-PROCESSING TIME STEPS -INTEGER(KIND=JPIM) :: IPOSTS(0:NSTOP/NFRPOS) -! - IPISPS : ARRAY CONTAINING ISP (Animation !) TIME STEPS -INTEGER(KIND=JPIM) :: IPISPS(0:NSTOP/NFRISP) -! - IHISTS : ARRAY CONTAINING TRAJECTORY TIME STEPS -INTEGER(KIND=JPIM) :: IHISTS(0:NSTOP/NFRHIS) -! - ISHISTS : ARRAY CONTAINING TRAJECTORY TIME STEPS FOR SURFACE -INTEGER(KIND=JPIM) :: ISHISTS(0:NSTOP/NFSRHIS) -! - IRESTS : ARRAY CONTAINING RESTART TIME STEPS -INTEGER(KIND=JPIM) :: IRESTS(0:NSTOP/NFRRES) -! - IGDITS : GRID POINT DIAGNOSTICS TIME STEPS -INTEGER(KIND=JPIM) :: IGDITS(0:NSTOP/NFRGDI) -! - ISDITS : SPECTRAL DIAGNOSTICS TIME STEPS -INTEGER(KIND=JPIM) :: ISDITS(0:NSTOP/NFRSDI) -! - IREFTS : ARRAY CONTAINING SIMULATED OBS. EVENTS STEPS -INTEGER(KIND=JPIM) :: IREFTS(0:NSTOP/NFRREF) -! - IDHFGTS : WRITE OUT TIME STEPS FOR GLOBAL MEANS DDH -INTEGER(KIND=JPIM) :: IDHFGTS(0:NSTOP/NFRDHFG) -! - IDHFZTS : WRITE OUT TIME STEPS FOR ZONAL MEANS DDH -INTEGER(KIND=JPIM) :: IDHFZTS(0:NSTOP/NFRDHFZ) -! - IDHFDTS : WRITE OUT TIME STEPS FOR LIMITED AREAS DDH -INTEGER(KIND=JPIM) :: IDHFDTS(0:NSTOP/NFRDHFD) -! - IDHPTS : PAS DE TEMPS DE SORTIES IMPRIMEES DES DDH -INTEGER(KIND=JPIM) :: IDHPTS(0:NSTOP/NFRDHP) -! - ICFUTS : CONTROLS ACCUMULATED FLUX WRITE-UP -INTEGER(KIND=JPIM) :: ICFUTS(0:NSTOP/NFRCFU) -! - IXFUTS : CONTROLS INSTANTANEOUS FLUX WRITE-UP -INTEGER(KIND=JPIM) :: IXFUTS(0:NSTOP/NFRXFU) -! - IRAZTS : CONTROLS INSTANTANEOUS FLUX RESET -INTEGER(KIND=JPIM) :: IRAZTS(0:NSTOP/NFRRAZ) -! - IANATS : ANALYSIS WRITE-OUT EVENTS -INTEGER(KIND=JPIM) :: IANATS(0:NSIM4DL/NFRANA) -! - IGRATS : GRADIENT WRITE-OUT EVENTS -INTEGER(KIND=JPIM) :: IGRATS(0:NSIM4DL/NFRGRA) -! - IMASSCONS: ARRAY CONTAINING mass conservation fixup time steps -INTEGER(KIND=JPIM) :: IMASSCONS(0:NSTOP/NFRMASSCON) -! - ILSGTS : LBC GRADIENT WRITE-OUT EVENTS -INTEGER(KIND=JPIM) :: ILSGTS(0:NSTOP/NFRLSG) -! - IHECPS : AVARC WRITE-OUT EVENTS -INTEGER(KIND=JPIM) :: IHECPS(0:NSTOP) - -REAL(KIND=JPRB), ALLOCATABLE :: ZSPA3(:,:,:), ZSPSP(:) - -INTEGER(KIND=JPIM) :: IACTIM, IDIGLST, IOUTTYPE, ITIME, JSTEP, I, jj -INTEGER(KIND=JPIM) :: IHOUR, IMIN -INTEGER(KIND=JPIM) :: IVALUES(9) -INTEGER(KIND=JPIM) :: JTSLOT, JSITER, IWEAK -INTEGER(KIND=JPIM) :: IAVARE, ipersub, istep, isub - -! LLSLOT: logical switched on if a slot is available. -LOGICAL :: LL3DVAR, LLMLPP, LLNOPPFIL, LLSLOT, LLFIRST -LOGICAL :: LLSPNRM, LLGPNRM -LOGICAL :: LLWRELSG,llevs -LOGICAL :: LLSLOT_FGAT, LLFGATLAM - -REAL(KIND=JPRB) :: ZCT, ZVT, ZWT, ZSTATI -REAL(KIND=JPRB) :: ZSEC, ZT1, ZT2 -REAL(KIND=JPRB) :: ZHOOK_HANDLE - -! ----------------------------------------------------------------- - -INTERFACE -#include "user_clock.h" -END INTERFACE - -#include "abor1.intfb.h" -#include "avarcad.intfb.h" -#include "cain.intfb.h" -#include "cainad.intfb.h" -#include "cainin.intfb.h" -#include "caininad.intfb.h" -#include "copygom5t0.intfb.h" -#include "costra.intfb.h" -#include "digfilad.intfb.h" -#include "elsin0ta.intfb.h" -#include "evarjkad.intfb.h" -#include "ewrlsgrad.intfb.h" -#include "gpnorm_gfl.intfb.h" -#include "lcnorad.intfb.h" -#include "moevar.intfb.h" -#include "monio.intfb.h" -#include "monvar.intfb.h" -#include "obsprep.intfb.h" -#include "obsvad.intfb.h" -#include "ppclose.intfb.h" -#include "ppflush.intfb.h" -#include "ppreq.intfb.h" -#include "pre_obshorad.intfb.h" -#include "spnorm.intfb.h" -#include "stepo.intfb.h" -#include "stepoad.intfb.h" -#include "suhdu.intfb.h" -#include "suheg.intfb.h" -#include "sunhsi.intfb.h" -#include "sutric.intfb.h" -#include "tslvstst.intfb.h" -#include "updtim.intfb.h" -#include "gridpoint_norm.intfb.h" -#include "add_moderr_ad.intfb.h" -#include "weak_constraint_ad.intfb.h" - -! ----------------------------------------------------------------- - -IF (LHOOK) CALL DR_HOOK('CNT4AD',0,ZHOOK_HANDLE) - -! ----------------------------------------------------------------- - -!* 1. Initialize. -! ----------- - -CALL GSTATS(23,0) -WRITE(NULOUT,*)'START CNT4AD, NSIM4D=',NSIM4D - -LL3DVAR = (NCONF == 131.AND.NSTOP == 0) -LLWRELSG=NCONF/100 == 8 .AND. LELAM .AND. N1LSG==1 -LLFGATLAM=LELAM .AND. LIDMODEL !BC fgat for aladin -! ----------------------------------------------------------------- - -!* 2. Prepare occurences of I/O and 3D/4D var events. -! ---------------------------------------------- - -CALL MONIO(IPOSTS,IPISPS,IHISTS,ISHISTS,IGDITS,ISDITS,IDHFGTS,IDHFZTS,& - & IDHFDTS,IDHPTS,ICFUTS,IXFUTS,IRESTS,IMASSCONS,IRAZTS) -CALL MONVAR(IREFTS,IANATS,IGRATS,IHECPS) - -IAVARE = NHECP(0) -IF (LELAM) THEN - CALL MOEVAR(ILSGTS) -ENDIF - -!* events not implemented -IDHFGTS(0:NSTOP/NFRDHFG) = 0 -IDHFZTS(0:NSTOP/NFRDHFZ) = 0 -IDHFDTS(0:NSTOP/NFRDHFD) = 0 -IDHPTS (0:NSTOP/NFRDHP) = 0 - -! print config - -IF (NPRINTLEV >= 1) THEN - WRITE(UNIT=NULOUT,FMT='('' GRADIENT WRITE-UP, IGRATS '')') - WRITE(UNIT=NULOUT,FMT='(40I2)')IGRATS - WRITE(UNIT=NULOUT,FMT='('' HISTORY WRITE-UP, IHISTS '')') - WRITE(UNIT=NULOUT,FMT='(40I2)')IHISTS -ENDIF -! ----------------------------------------------------------- - -!* 3. ADJOINT integration. -! -------------------- - -!* 3.0 Preliminary calculations. - -NSTEP = NSTOP - -LLSLOT = .FALSE. -ZSTATI=REAL(NINT(NSTEP*TSTEP),JPRB) - -LLMLPP = LTWSKFZ .AND. IHISTS(NSTEP/NFRHIS) == 1.AND. MOD(NSTEP,NFRHIS) == 0 - -IACTIM = NACTIM - -LLSPNRM=ISDITS(NSTEP/MAX(1,NFRSDI)) == 1.AND.MOD(NSTEP,MAX(1,NFRSDI)) == 0 -IF(LLSPNRM) THEN - WRITE(UNIT=NULOUT,FMT='('' NORMS AT START CNT4AD '')') - CALL SPNORM(0) - CALL GPNORM_GFL -ENDIF - -CLCONF(1:9) = '000000000' - -!* 3.21 Miscellaneous. - -! Computations in observation space - -IF (.NOT.LSIMOB) THEN - IF(NCONF/100 == 1) THEN - IF (LOBSTL.AND.LOBS) THEN - -! PREPARE TRAJECTORY IN OBSERVATION SPACE - - CALL USER_CLOCK(PELAPSED_TIME=ZWT,PVECTOR_CP=ZVT,PTOTAL_CP=ZCT) - ZCT=ZCT-RSTART - ZVT=ZVT-RVSTART - ZWT=ZWT-RTIMEF - RSTART=RSTART+ZCT - RVSTART=RVSTART+ZVT - RTIMEF=RTIMEF+ZWT - CALL COPYGOM5T0 - WRITE(NULOUT,'('' NSTEP ='',I6,'' OBSVAD '',A9)')& - & NSTEP,CLCONF - CALL OBSVAD - IF(LPREMPOBS) THEN - CALL PRE_OBSHORAD - ENDIF - ENDIF - LLFIRST = .TRUE. - LLSLOT = .FALSE. - DO JTSLOT=NACTIM,1,-1 -! DIRECT - IF(LL3DVAR.OR.NTSLVSTST(JTSLOT) == NSTEP ) THEN - LLSLOT = .TRUE. - NTSLOTNO = IACTIM - IF(LLFIRST) THEN - LLFIRST = .FALSE. - NTSLOTNOS = IACTIM - ENDIF - NTSLOTNOE = IACTIM - IACTIM = IACTIM-1 - WRITE(UNIT=NULOUT,FMT='('' CNT4AD (ADJOINT INTEGRATION);'' & - & ,'' TIME SLOT NO : '',I3 & - & ,'' TO BE USED WITH TIME STEP (NSTEP) : '',I3 & - & ,'' ; MODEL TIME (SINCE START) : '',F6.0)')& - & NTSLOTNO,NSTEP,ZSTATI - CALL FLUSH(NULOUT) - IF (LOBS) THEN - CALL OBSPREP('V') - ENDIF - ENDIF - ENDDO - IF(LLSLOT) THEN - NTSLOTNO = NTSLOTNOE - IF (LOBSTL) THEN -! GOM-ARRAYS ALREADY PREPARED - ELSE - IF (LTRREF) THEN - CLCONF(1:9) = 'B00000000' - ELSE - CALL GSTATS(15,0) - CALL GET_TRAJ_SPEC(SP5A3,SP5A2,SP5A1,KSTEP=NSTEP) - CALL GSTATS(15,1) - ENDIF - IF(LL3DVAR) THEN - CLCONF(2:2) = 'K' - CLCONF(3:3) = 'D' - ELSE - CLCONF(2:2) = 'E' - CLCONF(3:3) = 'C' - ENDIF - CLCONF(6:6) = 'V' - CALL STEPO(CLCONF) - ENDIF - ENDIF -! ADJOINT - CLCON9(1:9) = '000000000' - IF (LLSLOT) THEN - IF (LL3DVAR) THEN - CLCON9(2:2) = 'G' - CLCON9(3:3) = 'B' - ELSEIF (.NOT.LIDMODEL) THEN - CLCON9(2:2) = 'A' - CLCON9(3:3) = 'A' - ENDIF - IF (LOBS) CLCON9(6:6) = 'V' - ENDIF - IF (CLCON9(1:9)/='000000000') CALL STEPOAD(CLCON9) - ENDIF -ELSE - IF(.NOT.LTRAJGP) THEN - IF (LTRREF) THEN - CLCONF(1:9) = 'B00000000' - ELSE - CALL GSTATS(15,0) - CALL GET_TRAJ_SPEC(SP5A3,SP5A2,SP5A1,KSTEP=NSTEP) - CALL GSTATS(15,1) - ENDIF - ENDIF -ENDIF - -IF (.NOT.LSIMOB) THEN -ELSE - IF(NCONF == 801) THEN - -! ----- observation events management ---------------------- - - IF(IREFTS(NSTEP/NFRREF) == 1.AND.MOD(NSTEP,NFRREF) == 0.0_JPRB ) THEN - -! ----- read observations ---------------------------------- - - LTRREF=.TRUE. - - IF (NJROPT /= 1) THEN - -! do nothing!! - - ELSE - -! read RF file - - IF(L801TL)THEN - CLCONF(1:1)='V' - ELSE - CLCONF(1:1)='B' - ENDIF - CLCONF(2:9)='00000000' - CALL STEPO(CLCONF) - ENDIF - CALL COSTRA - LTRREF=.FALSE. - - ENDIF - ENDIF -ENDIF - -!* 3.9.4 a Comparison to reference state (AVARC) -IF (LAVARC.AND.IHECPS(NSTEP) == 1) THEN - WRITE(NULOUT,*) 'adjoint starts: AVARC event at NSTOP event = ',IAVARE - CALL AVARCAD(IAVARE) - IAVARE = IAVARE - 1 -ENDIF -! ----- add the gradient of the Jk cost function - IF (LELAM) THEN - IF (LEJK) CALL EVARJKAD - ENDIF - -! 3.1.1 a Time filtering constraint based on digital filter -! is being computed -! Its contribution is added to SPA3, SPA2 and SPA1. -! ----- adjoint of Jc-dfi for NSTOP ---------------- - -IF (LJCDFI.AND.LUSEJCDFI) THEN -! Step should be local to subwindow - IF (N_COUPLED_WINDOWS>1) THEN - isub=1 - istep=0 - IF (NSTEP>0) THEN - ipersub=NSTOP/N_COUPLED_WINDOWS - istep=MOD(NSTEP-1,ipersub)+1 - isub=(NSTEP-1)/ipersub+1 - ENDIF - ELSE - isub=1 - istep=NSTEP - ENDIF - IDIGLST = 2*NSTDFI - IF (NSIM4D==0.AND.N_COUPLED_WINDOWS>0) THEN - write(nulout,*)'CNT4AD: Calling DIGFILAD nstep,isub,istep=',nstep,isub,istep - ENDIF - CALL DIGFILAD(istep, IDIGLST, isub, SPA3, SPD2D, SPA1, .TRUE.) -ENDIF - -! 3.??? Write-up of the gradient (part not present in cnt4tl) - -IF ((NCONF/100 == 1.OR.NCONF/100 == 8) .AND. LGRASCAL) THEN - CALL ALLOCATE_CTLVEC(YL_ZVANA) - CALL ALLOCATE_CTLVEC(YL_ZVAGR) -ENDIF - -! 3.??? ??? (part not present in cnt4tl) - -IF (NCONF == 601.AND. LLMLPP) THEN - CLCONF='A00000000' - IOUTTYPE=NOUTTYPE - NOUTTYPE=1 - CALL STEPO(CLCONF) - NOUTTYPE=IOUTTYPE -ELSEIF (NCONF/100 == 1.OR.NCONF/100 == 8) THEN - IF ( (IGRATS(NSIM4D/NFRGRA) == 1.AND.& - & MOD(NSIM4D,NFRGRA) == 0.OR.NSIM4D == NSIM4DL)& - & .AND.(IHISTS(NSTEP/NFRHIS) == 1.AND.& - & MOD(NSTEP,NFRHIS) == 0) )THEN - - IF (LGRASCAL) THEN -! WRITE GRADIENT WITH RESPECT TO SCALP INNER-PRODUCT -! SAVE GRADIENT WITH RESPECT TO STANDARD INNER-PRODUCT - WRITE(NULOUT,'(''LGRASCAL=true, sens-grad scaled by the inverse of scalp'')') - CALL CAININ (YL_ZVANA) -! GET GRADIENT WITH RESPECT TO SCALP INNER-PRODUCT - YL_ZVAGR = 0.0_JPRB - IF (LFORCE) THEN - CALL CAIN (YSPFORCE) - ENDIF - CALL CAINAD (YL_ZVAGR) - CALL CAIN (YL_ZVAGR) - LTWGRA = .TRUE. - CLCONF(1:9)='A00000000' - CALL STEPO(CLCONF) - CALL PPFLUSH - CALL PPCLOSE - LTWGRA = .FALSE. -! FETCH GRADIENT WITH RESPECT TO STANDARD INNER-PRODUCT - CALL CAIN (YL_ZVANA) - ELSE -! WRITE GRADIENT WITH RESPECT TO IMPLICIT(STANDARD) INNER-PRODUCT - WRITE(NULOUT,'(''LGRASCAL=false, sens-grad not scaled'')') - IF (LFORCE) THEN - CALL CAIN(YSPFORCE) - ENDIF - LTWGRA = .TRUE. - CLCONF(1:9)='A00000000' - CALL STEPO(CLCONF) - CALL PPFLUSH - CALL PPCLOSE - LTWGRA = .FALSE. - ENDIF - ENDIF -ENDIF - -!* TEMPORAL LOOP - -IF(NSTART /= NSTAR2 .OR.& - & NSTOP /= NSTOP2 ) THEN - WRITE(NULOUT,'('' NSTART, NSTOP ARE DIFFERENT FROM NSTAR2, NSTOP2'')') - WRITE(NULOUT,'('' NSTART, NSTOP, NSTAR2, NSTOP2: '',4(I5,1X))') & - & NSTART, NSTOP, NSTAR2, NSTOP2 - WRITE(NULOUT,'('' THEREFORE, TIMESLOT VS TIMESTEP IS RECALCULATED'')') - CALL TSLVSTST(NSTAR2,NSTOP2,TSTEP,NACTIM,NTSLVSTST) -ENDIF - -!* 3.1 Main temporal loop - -TEMPORAL_LOOP: DO JSTEP=NSTOP2-1,NSTAR2,-1 - -IF (LLFGATLAM .AND. (ALL(NTSLVSTST /= JSTEP)) ) CYCLE - - CALL USER_CLOCK(PTOTAL_CP=ZT1) - -!* 3.2 Current value of the time step length - - IF(JSTEP == 0.OR.LTWOTL)THEN - TDT=TSTEP - ELSE - TDT=2.0_JPRB*TSTEP - ENDIF - -!* 3.3 Reset of time dependant constants (clock,astronomy...) - - CALL UPDTIM(JSTEP,TDT,TSTEP,.FALSE.) - -!* 3.4 Reset semi-implicit solver in the multilevel model, and the -! additional horizontal diffusion operator. - - IF (.NOT.LELAM) THEN - - ! * SI scheme: - IF (LNHDYN) THEN - CALL SUNHSI(NULOUT,.FALSE.) - ELSE - IF (LSIDG) THEN - CALL SUHEG - ENDIF - IF (LSITRIC.AND.(JSTEP == NSTOP-2.OR.(JSTEP == 1.AND..NOT.LTWOTL))) THEN - CALL SUTRIC - ENDIF - ENDIF - - ! * HD scheme: - IF (LSTRHD) THEN - ! * This call to SUHDU actually does something in a leap-frog scheme if - ! TDT=2*TSTEP for the current jstep, and TDT=TSTEP for the previous one - CALL SUHDU - ENDIF - - ELSE - - ! * SI scheme: - IF (LNHDYN .AND. (NSTOP > 0 .AND. .NOT.LFPART2)) THEN - CALL SUNHSI(NULOUT,.FALSE.) - ENDIF - - ! * HD scheme: - - ENDIF - -!* 3.6 Reset YOMCT3 etc. - - NSTEP=JSTEP - LLSLOT=.FALSE. - ZSTATI=REAL(NINT(NSTEP*TSTEP),JPRB) - - LLSPNRM=ISDITS(JSTEP/MAX(1,NFRSDI)) == 1.AND.MOD(JSTEP,MAX(1,NFRSDI)) == 0 - LLGPNRM=IGDITS(JSTEP/MAX(1,NFRGDI)) == 1.AND.MOD(JSTEP,MAX(1,NFRGDI)) == 0 - IF(LLSPNRM) THEN - WRITE(UNIT=NULOUT,FMT='('' NORMS AT NSTEP CNT4AD '',I4)')NSTEP - CALL SPNORM(0) - ENDIF - IF (LLGPNRM) THEN - CALL GPNORM_GFL - ENDIF - IF (LFCOBSTEST.AND.(NSIM4D<=4.OR.NSIM4D==NSIM4DL)) THEN - WRITE(NULOUT,*)'LFSOBS NORMS AT CNT4AD' - CALL SPNORM(0) - CALL GPNORM_GFL - ENDIF - -!* 3.6.1 Nullify GT3 - - IF (LELAM.AND.(NECOAD < 0.OR.LE0COTA).AND.(NSTOP /= 0)) THEN - CALL ELSIN0TA - ENDIF - -!* 3.8 Reset time dependent variables - - LLMLPP = LTWSKFZ .AND. IHISTS(JSTEP/NFRHIS) == 1 & - & .AND. MOD(JSTEP,NFRHIS) == 0 - -!* 3.8.6 Add the forcing that was saved during the TL integration - - IF (L_SOS) THEN - IF (MOD((JSTEP+1),NSTEPS_PER_STATE)==0 .AND. JSTEP+1 < NSTOP) THEN - I = (JSTEP+1)/NSTEPS_PER_STATE - ALLOCATE (ZSPA3(SIZE(SPA3,1),SIZE(SPA3,2),SIZE(SPA3,3))) - ZSPA3(:,:,:) = SPA3(:,:,:) - IF (NPSP==1) THEN - ALLOCATE (ZSPSP(SIZE(SPSP))) - ZSPSP(:) = SPSP(:) - ENDIF - CALL CAININAD (YSTATE_VECTOR_4D(I)) - IF(LOCNORM) CALL LCNORAD - SPA3(:,:,:) = SPA3(:,:,:) + ZSPA3(:,:,:) - DEALLOCATE (ZSPA3) - IF (NPSP==1) THEN - SPSP(:) = SPSP(:) + ZSPSP(:) - DEALLOCATE (ZSPSP) - ENDIF - ENDIF - ENDIF - -!* 3.??? Prepare for post-processing (part not present in cnt4tl). - - IF(LOPPCNT.AND.LLMLPP .AND. NCONF == 601.AND..NOT.LFPOS) THEN - ITIME=JSTEP*TSTEP+0.5_JPRB - CALL PPREQ(INT(ITIME,JPIB),LLNOPPFIL,CLYFILE) - IF(LLNOPPFIL) THEN - LLMLPP=.FALSE. - ENDIF - ENDIF - -!* 3.8.7 Manage trajectory -! Initialize CLCONF for call to STEPO (trajectory) - - IF (LTRREF) THEN - CLCONF(1:9) = 'BE0000000' - ELSE - IF(.NOT.LTRAJGP) THEN - CALL GSTATS(15,0) - CALL GET_TRAJ_SPEC(SP5A3,SP5A2,SP5A1,KSTEP=NSTEP) - CALL GSTATS(15,1) - ENDIF - CLCONF(1:9)='0E0000000' - ENDIF - -! first call for (first-guess) trajectory -! don't understand anymore why this is only for Aladin (CF) ... -! In cnt4tl this is also called for lelam=false (K.Y.) - IF(.NOT.LTRAJGP.AND.LELAM .AND. .NOT. LIDMODEL) THEN - CALL STEPO(CLCONF) - ENDIF - -!* 3.12 MODERR - - IF (LMODERR.AND.NTYPE_MODERR==2) CALL ADD_MODERR_AD(SPMODERR,GPMODERR,NSTEP) - -!* 3.11 Corrector step. - - IF(NSITER > 0) THEN - - ! Last step: - - NCURRENT_ITER=NSITER - CLCON9(1:9)='0AAS00AAA' - CALL STEPOAD(CLCON9) - - ! Iteration step: - - DO JSITER = NSITER-1, 1, -1 - NCURRENT_ITER=JSITER - CLCON9(1:9)='0AAS00AAS' - CALL STEPOAD(CLCON9) - ENDDO - - ENDIF - -!* 3.10 Ordinary time step (predictor if PC scheme). -! Initialize CLCON9 for call to STEPOAD - - CLCON9(1:9)='0AAA00AAA' - NCURRENT_ITER=0 - - IF (NSITER == 0) THEN - CLCON9(9:9)='A' - ELSEIF (NSITER > 0) THEN - CLCON9(9:9)='T' - ELSEIF(NSITER < 0) THEN - CALL ABOR1('NEGATIVE NSITER NOT ALLOWED') - ENDIF - - IF (LIDMODEL) THEN - IF (JSTEP/=0) THEN - CLCON9(2:2)='0' - CLCON9(3:3)='0' - ENDIF - CLCON9(4:4)='0' - CLCON9(5:5)='0' - CLCON9(7:7)='0' - CLCON9(8:8)='0' - CLCON9(9:9)='0' - ENDIF - -!* 3.??? Observations (part not present in cnt4tl) - - IF (.NOT.LSIMOB) THEN - ! Real observations - - LLSLOT = .FALSE. - LLFIRST = .TRUE. - LLSLOT_FGAT = .FALSE. - CALL GSTATS(1832,0) - DO JTSLOT=NACTIM,1,-1 - IF(LOBS.AND.NTSLVSTST(JTSLOT) == NSTEP ) THEN - LLSLOT = .TRUE. - LLSLOT_FGAT=( LLSLOT .AND. LIDMODEL ) - NTSLOTNO = IACTIM - IF(LLFIRST) THEN - LLFIRST = .FALSE. - NTSLOTNOS = IACTIM - ENDIF - NTSLOTNOE = IACTIM - IACTIM = IACTIM-1 - IF (LOBSTL) THEN - ! GOM-ARRAYS ALREADY PREPARED - ELSE - CLCONF(3:3) = 'C' - CLCONF(6:6) = 'V' - ENDIF - WRITE(UNIT=NULOUT,FMT='('' CNT4AD (TEMPORAL LOOP);'' & - & ,'' TIME SLOT NO : '',I3 & - & ,'' TO BE USED WITH TIME STEP (NSTEP) : '',I3 & - & ,'' ; MODEL TIME (SINCE START) : '',F6.0)')& - & NTSLOTNO,NSTEP,ZSTATI - CALL FLUSH(NULOUT) - IF (LOBS) THEN - CALL OBSPREP('V') - ENDIF - ENDIF - ENDDO - CALL GSTATS(1832,1) - IF ((.NOT.LTRAJGP .AND. .NOT. LIDMODEL) .OR. LLSLOT_FGAT ) THEN - CALL STEPO(CLCONF) - ENDIF - - IF(LLSLOT) THEN - NTSLOTNO = NTSLOTNOE - CLCON9(6:6)='V' - ENDIF - - IF (CLCON9(1:9)/='000000000') CALL STEPOAD(CLCON9) - ELSE - - ! Simulated observations - - ! Trajectory. - IF(.NOT.LTRAJGP) THEN - CALL STEPO(CLCONF) - ENDIF - ! Adjoint integration. - CALL STEPOAD(CLCON9) - - IF(IREFTS(JSTEP/NFRREF) == 1.AND.MOD(JSTEP,NFRREF) == 0 & - & .AND.NCONF == 801) THEN - - !* read observations and not trajectory - LTRREF=.TRUE. - IF(L801TL)THEN - CLCONF(1:1)='V' - ELSE - CLCONF(1:1)='B' - ENDIF - CLCONF(2:9)='00000000' - CALL STEPO(CLCONF) - CALL COSTRA - LTRREF=.FALSE. - ENDIF - ENDIF - -!* 3.9.4 b Comparison to reference state (AVARC) - IF (LAVARC.AND.IHECPS(JSTEP) == 1) THEN - WRITE(NULOUT,*) 'adjoint run AVARC event at JSTEP = ',JSTEP,' event= '& - & , IAVARE - IF (IAVARE < 1) THEN - CALL ABOR1('AVARC error: IAVARE < 1 ') - ENDIF - CALL AVARCAD(IAVARE) - IAVARE = IAVARE - 1 - ENDIF - -!* 3.X Weak Constraints 4D-Var - - IF (LMODERR) THEN - iweak=MSTEPERR(NSTEP) - IF (NTYPE_MODERR==1.AND.iweak>0) CALL WEAK_CONSTRAINT_AD - IF (NTYPE_MODERR==4.AND.iweak>0) THEN - IF (LJCDFI.AND.N_COUPLED_WINDOWS>1) THEN - ipersub=NSTOP/N_COUPLED_WINDOWS - isub=NSTEP/ipersub+1 - istep=0 - IDIGLST=2*NSTDFI - IF (NSIM4D==0) THEN - write(nulout,*)'CNT4AD: Calling DIGFILAD estep,isub,istep=',nstep,isub,istep - ENDIF - CALL DIGFILAD(istep, IDIGLST, isub, SPA3, SPD2D, SPA1, .TRUE.) - ENDIF - CALL ADD_MODERR_AD(SPMODERR,GPMODERR,NSTEP) - ELSEIF (NTYPE_MODERR==5 .AND. iweak>0) THEN - IF (NSIM4D == NSIM4DL) THEN - CALL ADD_MODERR_AD(SPMODERR,GPMODERR,NSTEP,SPMODERR_HYB,GPMODERR_HYB) - ELSE - CALL ADD_MODERR_AD(SPMODERR,GPMODERR,NSTEP) - ENDIF - ENDIF - ENDIF - -! 3.1.1 b Time filtering constraint based on digital filter -! is being computed -! Its contribution is added to SPA3, SPA2 and SPA1. - - IF (LJCDFI.AND.LUSEJCDFI) THEN -! Step should be local to subwindow - IF (N_COUPLED_WINDOWS>1) THEN - isub=1 - istep=0 - IF (NSTEP>0) THEN - ipersub=NSTOP/N_COUPLED_WINDOWS - istep=MOD(NSTEP-1,ipersub)+1 - isub=(NSTEP-1)/ipersub+1 - ENDIF - ELSE - isub=1 - istep=NSTEP - ENDIF - IDIGLST = 2*NSTDFI - IF (NSIM4D==0.AND.N_COUPLED_WINDOWS>0) THEN - write(nulout,*)'CNT4AD: Calling DIGFILAD nstep,isub,istep=',nstep,isub,istep - ENDIF - CALL DIGFILAD(istep, IDIGLST, isub, SPA3, SPD2D, SPA1, .TRUE.) - ENDIF - -!* 3.??? Write-up of the gradient (part not present in cnt4tl). - - IF (NCONF == 601.AND. LLMLPP) THEN - CLCONF='A00000000' - IOUTTYPE=NOUTTYPE - NOUTTYPE=1 - CALL STEPO(CLCONF) - NOUTTYPE=IOUTTYPE - ELSEIF (NCONF/100 == 1.OR.NCONF/100 == 8) THEN - IF ( (IGRATS(NSIM4D/NFRGRA) == 1.AND.& - & MOD(NSIM4D,NFRGRA) == 0.OR.NSIM4D == NSIM4DL)& - & .AND.(IHISTS(NSTEP/NFRHIS) == 1.AND.& - & MOD(NSTEP,NFRHIS) == 0) )THEN - - IF (LGRASCAL) THEN -! WRITE GRADIENT WITH RESPECT TO SCALP INNER-PRODUCT -! SAVE GRADIENT WITH RESPECT TO STANDARD INNER-PRODUCT - CALL CAININ (YL_ZVANA) -! GET GRADIENT WITH RESPECT TO SCALP INNER-PRODUCT - YL_ZVAGR = 0.0_JPRB - IF (LFORCE) THEN - CALL CAIN (YSPFORCE) - ENDIF - CALL CAINAD (YL_ZVAGR) - CALL CAIN (YL_ZVAGR) - LTWGRA = .TRUE. - CLCONF(1:9)='A00000000' - CALL STEPO(CLCONF) - CALL PPFLUSH - CALL PPCLOSE - LTWGRA = .FALSE. -! FETCH GRADIENT WITH RESPECT TO STANDARD INNER-PRODUCT - CALL CAIN (YL_ZVANA) - ELSE -! WRITE GRADIENT WITH RESPECT TO IMPLICIT(STANDARD) INNER-PRODUCT - IF (LFORCE) THEN - CALL CAIN(YSPFORCE) - ENDIF - LTWGRA = .TRUE. - CLCONF(1:9)='A00000000' - CALL STEPO(CLCONF) - CALL PPFLUSH - CALL PPCLOSE - LTWGRA = .FALSE. - ENDIF - ENDIF - IF (LLWRELSG) THEN - IF (((ILSGTS(NSTEP/NFRLSG) == 1.AND.MOD(NSTEP,NFRLSG) == 0) & - & .OR.(NSTEP == 1)).AND.NSTEP /= 0) THEN - CALL EWRLSGRAD - ENDIF - ENDIF - ENDIF - -!* 3.13 Copy state for use as forcing during the TL integration - - IF (L_EOFS) THEN - IF (MOD((JSTEP+1),NSTEPS_PER_STATE)==0 .AND. JSTEP+1 < NSTOP) THEN - I = (JSTEP+1)/NSTEPS_PER_STATE - YSTATE_VECTOR_4D(I)%data = 0.0_JPRB - CALL CAINAD (YSTATE_VECTOR_4D(I)) - ENDIF - ENDIF - -!* 3.15 Signal SMS event for completion of post_processing - - IF(LLMLPP) THEN - IF(NOUTTYPE /= 2) THEN - CALL PPFLUSH - IF( LPPTSF )THEN - CALL PPCLOSE - ENDIF - ENDIF - ENDIF - - CALL USER_CLOCK(PTOTAL_CP=ZT2) - CALL DATE_AND_TIME(CLDAT(1),CLTIMEOD,CLDAT(3),IVALUES) - ZSEC = REAL(NSTEP,JPRB)*TSTEP +0.5_JPRB - IHOUR = INT( ZSEC/3600._JPRB ) - IMIN = INT( (ZSEC-REAL(IHOUR,JPRB)*3600._JPRB)/60._JPRB ) - -ENDDO TEMPORAL_LOOP - -!* 3.20 Miscellaneous (deallocations and final call to SPNORM). - -IF ((NCONF/100 == 1.OR.NCONF/100 == 8) .AND. LGRASCAL) THEN - CALL DEALLOCATE_CTLVEC(YL_ZVANA) - CALL DEALLOCATE_CTLVEC(YL_ZVAGR) -ENDIF - -LLSPNRM=ISDITS(NSTEP/MAX(1,NFRSDI)) == 1.AND.MOD(NSTEP,MAX(1,NFRSDI)) == 0 -IF (LLSPNRM.OR.NSIM4D<=1.OR.NSIM4D==NSIM4DL) THEN - WRITE(UNIT=NULOUT,FMT='('' NORMS AT END CNT4AD '')') - CALL SPNORM(0) - CALL GPNORM_GFL - IF (LMODERR) THEN - llevs=(NPRTMODERR>=2) - DO jj=1,NDIM_MODERR - CALL SPECTRAL_NORM (SPMODERR(jj),'CNT4AD MODERR') - CALL GRIDPOINT_NORM(GPMODERR(jj),'CNT4AD MODERR',llevs) - ENDDO - ENDIF -ENDIF - -CALL GSTATS(23,1) -! ----------------------------------------------------------------- - -IF (LHOOK) CALL DR_HOOK('CNT4AD',1,ZHOOK_HANDLE) -END SUBROUTINE CNT4AD diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/module/yommsc.F90 b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/module/yommsc.F90 deleted file mode 100644 index a036cdba027fff7e5d29cf08d6c165dcdb2de5cd..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/module/yommsc.F90 +++ /dev/null @@ -1,36 +0,0 @@ -MODULE YOMMSC - -USE PARKIND1 ,ONLY : JPIM ,JPRB - -IMPLICIT NONE - -SAVE - -! ------------------------------------------------------------------ -!* Basic parameters - -! NINTLEN - length of INTEGER_M variables in bytes -! NLOGLEN - length of logicals in bytes -! NREALEN - length of REAL_B variables in bytes -! NDBLLEN - length of REAL_H variables in bytes -! N_DEFAULT_REAL_KIND - The KIND value of the default REAL kind -! N_DOUBLE_KIND - The KIND value of double precision - -INTEGER(KIND=JPIM) :: NINTLEN -INTEGER(KIND=JPIM) :: NREALEN -INTEGER(KIND=JPIM) :: NLOGLEN -INTEGER(KIND=JPIM) :: NDBLLEN - -REAL, PRIVATE :: Z_DEFAULT_REAL ! intentionally not REAL(KIND=JPRB) -INTEGER(KIND=JPIM), PARAMETER :: N_DEFAULT_REAL_KIND = KIND(Z_DEFAULT_REAL) - -DOUBLE PRECISION, PRIVATE :: DL_DOUBLE_PRECISION ! intentionally not REAL(KIND=JPRH) - -#ifdef DOUBLE_KIND_EQUALS_REAL -INTEGER(KIND=JPIM), PARAMETER :: N_DOUBLE_KIND = KIND(Z_DEFAULT_REAL) -#else -INTEGER(KIND=JPIM), PARAMETER :: N_DOUBLE_KIND = KIND(DL_DOUBLE_PRECISION) -#endif - -! ------------------------------------------------------------------ -END MODULE YOMMSC diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/phys_ec/su_aerw.F90 b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/phys_ec/su_aerw.F90 deleted file mode 100644 index cd5cb11a5c5e1f487e97398a03a20a5e2f2d8ad0..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/ifs-36r4/src/ifs/phys_ec/su_aerw.F90 +++ /dev/null @@ -1,857 +0,0 @@ -SUBROUTINE SU_AERW - -!**** *SU_AERW* - DEFINES INDICES AND PARAMETERS FOR VARIOUS AEROSOL VARIABLES - -! PURPOSE. -! -------- -! INITIALIZE YOEAERATM, YOEAERSRC, YOEAERSNK, THE MODULES THAT CONTAINS INDICES -! ALLOWING TO GET THE AEROSOL PARAMETERS RELEVANT FOR THE PROGNOSTIC AEROSOL -! CONFIGURATION. - -!** INTERFACE. -! ---------- -! *CALL* *SU_AERW - -! EXPLICIT ARGUMENTS : -! -------------------- -! NONE - -! IMPLICIT ARGUMENTS : -! -------------------- -! YOEAERATM, YOEAERSRC - -! METHOD. -! ------- -! SEE DOCUMENTATION - -! EXTERNALS. -! ---------- - -! REFERENCE. -! ---------- -! ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS - -! AUTHOR. -! ------- -! JEAN-JACQUES MORCRETTE *ECMWF* - -! MODIFICATIONS. -! -------------- -! ORIGINAL : 2005-07-08 - -! ------------------------------------------------------------------ - -USE PARKIND1 ,ONLY : JPIM ,JPRB -USE YOMHOOK ,ONLY : LHOOK, DR_HOOK - -USE YOEAERATM, ONLY : LAERSCAV ,LAERSEDIM, LAERSURF, LAER6SDIA, & - & LAERCLIMG, LAERCLIMZ, LAERCLIST, LAERDRYDP, LAERGTOP, LAERLISI, LAERNGAT, & - & LAERHYGRO, LAERCCN , LAEROPT , LAERRAD , LAERUVP , LUVINDX , & - & REPSCAER , NAERCONF , NXT3DAER , NINIDAY -USE YOEAERMAP ,ONLY : RDDUAER -USE YOEAERSRC, ONLY : LEPAERO , NAERWND, NAERDUT, & - & NINDAER , NMAXTAER, NTAER , NTYPAER, RGELAV , RGEMUV , & - & RDGLAV , RDGMUV , RCLONV , RSLONV , RDCLONV, RDSLONV, & - & RSSFLX , RLATVOL , RLONVOL , NDDUST , NSSALT , RAERDUB, & - & RBCPHIL, RBCPHOB , ROMPHIL , ROMPHOB, RFCTSS , RFCTDU , RFCTDUR, RFCTSSR, & - & NBIN , NTYP, LAEROMIN - -USE YOEPHY , ONLY : LE4ALB - -USE YOEDBUG , ONLY : KSTPDBG , NSTPDBG - -USE YOMCST , ONLY : RPI -USE YOMGC , ONLY : GELAM, GEMU -USE YOMGEM , ONLY : NGPTOT -!USE YOMLEG , ONLY : RMU -USE YOMLUN , ONLY : NULNAM, NULOUT -USE YOMRIP , ONLY : NINDAT, NSSSSS - -USE YOM_YGFL , ONLY : NAERO, NACTAERO - -USE YOERAD , ONLY : LCMIP5 - -IMPLICIT NONE - -INTEGER(KIND=JPIM) :: IAER, ICAER, ITAER -INTEGER(KIND=JPIM) :: J, JAER, JL - -!-- map -INTEGER(KIND=JPIM) :: IFF, IAERWND -REAL(KIND=JPRB) :: ZDDUAER(50,2) -REAL(KIND=JPRB) :: ZBNDA, ZBNDB, ZBNDC, ZBNDD, ZBNDE, ZBNDF, ZBNDG, ZBNDH, & - & ZBNDI, ZBNDJ, ZBNDK, ZBNDL, ZBNDM -REAL(KIND=JPRB) :: ZDEGRAD, ZINCLAT, ZLAT, ZLON, ZLONE, ZLONGB, ZLONW -CHARACTER(LEN=45) :: CLAERWND(0:3) - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -! ---------------------------------------------------------------- - -#include "posnam.intfb.h" - -#include "su_aerp.intfb.h" -#include "su_aerop.intfb.h" -! ---------------------------------------------------------------- - -#include "naeaer.h" - -! ---------------------------------------------------------------- -IF (LHOOK) CALL DR_HOOK('SU_AERW',0,ZHOOK_HANDLE) - -!* 1. DEFAULT VALUES OF PARAMETERS -! ---------------------------- - -NMAXTAER=8 - -LEPAERO =.FALSE. -LAERCLIMG=.FALSE. -LAERCLIMZ=.FALSE. -LAERDRYDP=.FALSE. -LAERGTOP =.FALSE. -LAERHYGRO=.FALSE. -LAERLISI =.FALSE. -LAERNGAT =.FALSE. -LAERSCAV =.FALSE. -LAERSEDIM=.FALSE. -LAERSURF =.FALSE. -LAER6SDIA=.FALSE. -LAERRAD =.FALSE. -LAEROPT(:)=.FALSE. -LAERCCN =.FALSE. -LAERUVP =.FALSE. -LUVINDX =.FALSE. - -LAERCLIST=.FALSE. -LAEROMIN=.FALSE. - -!- note that NAERCONF is now irrelevant -NAERCONF=-99 -NXT3DAER=0 -NINIDAY=19000101 - -NTAER =0 -!-- default values -!-- DDust is "a la Ginoux et al., 2001" =f(DEP*WND3 +filter on ALUV and FrBaS) -NDDUST =7 -RAERDUB=2.E-11_JPRB -!-- SSalt is Monahan et al. 1986 -NSSALT =1 - -! the 8 types and assumed number of bins are: -! NTYPAER bins type -! 1 1- 3 sea-salt 0.03 - 0.5 - 5 - 20 microns -! 2 4- 6 dust 0.03 - 0.5 - 0.9 - 20 microns -! 3 7- 8 POM hydrophilic, hydrophobic -! 4 9-10 BC hydrophilic, hydrophobic -! 5 11-12 SO4/SO2 including sulfate prognostic stratospheric aerosols (SO4 is 11) -! 6 13 fly ash -! 7 14 pseudo-prognostic stratospheric aerosols -! 8 15 pseudo-prognostic volcanic aerosols - -DO JAER=1,NMAXTAER - NTYPAER(JAER)=0 -ENDDO - -RLATVOL=-999._JPRB -RLONVOL=-999._JPRB -RGELAV =-999._JPRB -RGEMUV =-999._JPRB -RDGLAV = 999._JPRB -RDGMUV = 999._JPRB -RCLONV =-999._JPRB -RSLONV =-999._JPRB -RDCLONV= 999._JPRB -RDSLONV= 999._JPRB - -NSTPDBG=10 -DO J=1,NSTPDBG - KSTPDBG(J)=-999 -ENDDO - -REPSCAER=1.E-20_JPRB - -RBCPHIL = 0.8_JPRB -RBCPHOB = 1.0_JPRB-RBCPHIL -ROMPHIL = 0.5_JPRB -ROMPHOB = 1.0_JPRB-ROMPHIL - -ZDDUAER(:,1) = 1.00_JPRB -ZDDUAER(:,2) = 0.10_JPRB -RDDUAER(:) = 0.0_JPRB -NAERDUT=0 - -!-- default values are for use of 10-m wind as predictor for SS and DU -NAERWND = 0 -IAERWND = 1 -RFCTDU = 1.0_JPRB -RFCTSS = 1.0_JPRB -RFCTDUR = 0.40_JPRB -RFCTSSR = 0.52_JPRB -CLAERWND(0) = '10-M WIND AS PREDICTOR FOR SS AND DU ' -CLAERWND(1) = 'PREDICTORS: WIND GUST FOR SS, 10M-WIND FOR DU' -CLAERWND(2) = 'PREDICTORS: WIND GUST FOR DU, 10M-WIND FOR SS' -CLAERWND(3) = 'WIND GUST AS PREDICTORS FOR SS AND DU ' - -! ------------------------------------------------------------------ - -!* 2. INITIALIZE GEOGRAPHICALLY-DEPENDENT AEROSOL PARAMETERS -! ------------------------------------------------------ - -! Canada 1 1. 0.1 -! Alaska 2 1. 0.1 -! USA 3 1. 0.08 -! Central America 4 0.60 0.05 -! South America 5 0.60 0.01 -! Brazil 6 1. 0.1 -! Iceland 7 1. 0.1 -! Ireland 8 1. 0.1 -! Britain 9 1. 0.1 -! Cont'al Europe 10 1. 0.1 -! Russia (Europe) 11 1. 0.1 -! Russia (Georgia) 12 1. 0.02 - -! Northern Sahara 13 0.00 0.00 *now represented by 34-37 -! Central Africa 14 0.20 0.11 -! Southern Africa 15 0.50 0.04 - -! Siberia 16 1. 0.1 -! Asian deserts 17 1. 0.1 - -! Saudi Arabia 18 0.50 0.12 -! Irak, Iran, Pakistan 19 0.50 0.12 - -! Central Asia Taklamakan 20 0.80 0.025 -! India 21 1.2 0.09 - -! Mongolia and Gobi 22 1.5 0.22 -! Central China 23 1.5 0.25 - -! South China 24 0.5 0.1 -! Japan, South Korea 25 1.0 0.1 - -!-- padding Asia 26 0.5 0.1 - -! Tropical Pacific Islands 27 1. 0.1 -! Australia. New Zealand 28 0.5 0.03 -! -! Greenland 29 1. 0.1 -! Antarctica 30 1. 0.1 - -! Additional areas - -! Atacama and Uyuni 31 0.05 0.02 -! Pipanaco and others 32 0.1 0.02 -! Argentinian pampas 33 0.3 0.02 -! Southern Sahara (West) 34 0.40 0.13 -! Southern Sahara (East) 35 0.40 0.15 -! Northern Sahara (West) 36 0.30 0.13 -! Northern Sahara (East) 37 0.30 0.15 -!============================== - -! USA 3 -ZDDUAER( 3,1) = 1.00_JPRB -ZDDUAER( 3,2) = 0.08_JPRB - -! Central America 4 -ZDDUAER( 4,1) = 0.60_JPRB -ZDDUAER( 4,2) = 0.05_JPRB - -! South America 5 -ZDDUAER( 5,1) = 0.60_JPRB -ZDDUAER( 5,2) = 0.01_JPRB - -! Russia (Georgia) 12 -ZDDUAER(12,1) = 1.00_JPRB -ZDDUAER(12,2) = 0.02_JPRB - -! Sahara 13 -! Central Africa 14 -! Southern Africa 15 -ZDDUAER(13,1) = 0.00_JPRB -ZDDUAER(14,1) = 0.20_JPRB -ZDDUAER(15,1) = 0.50_JPRB - -ZDDUAER(13,2) = 0.17_JPRB -ZDDUAER(14,2) = 0.11_JPRB -ZDDUAER(15,2) = 0.04_JPRB - -! Siberia 16 -! Asian deserts 17 - -ZDDUAER(16,1) = 1.00_JPRB -ZDDUAER(17,1) = 1.00_JPRB - -ZDDUAER(16,2) = 0.10_JPRB -ZDDUAER(17,2) = 0.10_JPRB - -! Saudi Arabia 18 -! Irak, Iran, Pakistan 19 -ZDDUAER(18,1) = 0.50_JPRB -ZDDUAER(19,1) = 0.50_JPRB - -ZDDUAER(18,2) = 0.12_JPRB -ZDDUAER(19,2) = 0.12_JPRB - -! Central Asia Taklamakan 20 -! India 21 -ZDDUAER(20,1) = 0.80_JPRB -ZDDUAER(21,1) = 1.20_JPRB - -ZDDUAER(20,2) = 0.025_JPRB -ZDDUAER(21,2) = 0.09_JPRB - -! Mongolia and Gobi 22 -! Central China 23 -ZDDUAER(22,1) = 1.50_JPRB -ZDDUAER(23,1) = 1.50_JPRB - -ZDDUAER(22,2) = 0.22_JPRB -ZDDUAER(23,2) = 0.25_JPRB - -! South China 24 -! Japan, South Korea 25 -ZDDUAER(24,1) = 0.50_JPRB -ZDDUAER(25,1) = 1.00_JPRB - -ZDDUAER(24,2) = 0.10_JPRB -ZDDUAER(25,2) = 0.10_JPRB - -!-- padding Asia 26 -ZDDUAER(26,1) = 0.50_JPRB -ZDDUAER(26,2) = 0.10_JPRB - -! Tropical Pacific Islands 27 -! Australia. New Zealand 28 -ZDDUAER(27,1) = 1.00_JPRB -ZDDUAER(28,1) = 0.50_JPRB - -ZDDUAER(27,2) = 0.10_JPRB -ZDDUAER(28,2) = 0.03_JPRB - -! Atacama and other areas, Argentinian pampas -ZDDUAER(31,1) = 0.05_JPRB -ZDDUAER(32,1) = 0.10_JPRB -ZDDUAER(33,1) = 0.30_JPRB - -ZDDUAER(31,2) = 0.02_JPRB -ZDDUAER(32,2) = 0.02_JPRB -ZDDUAER(33,2) = 0.02_JPRB - -! Southern Sahara West -ZDDUAER(34,1) = 0.40_JPRB -ZDDUAER(34,2) = 0.13_JPRB - -! Southern Sahara East -ZDDUAER(35,1) = 0.40_JPRB -ZDDUAER(35,2) = 0.13_JPRB - -! Northern Sahara West -ZDDUAER(36,1) = 0.30_JPRB -ZDDUAER(36,2) = 0.13_JPRB - -! Northern Sahara East -ZDDUAER(37,1) = 0.30_JPRB -ZDDUAER(37,2) = 0.13_JPRB - -! ------------------------------------------------------------------ - -!* 2. READ VALUES OF PROGNOSTIC AEROSOL CONFIGURATION -! ----------------------------------------------- - -WRITE(NULOUT,8000) NAERO -8000 FORMAT(1X,'Read or not the namelist? ',I3) - -IF(NAERO > 0) THEN - CALL POSNAM(NULNAM,'NAEAER') - READ (NULNAM,NAEAER) -ELSE IF (LCMIP5) THEN - WRITE(NULOUT,'("CMIP5: READ AEROSOL OPT PROPERTIES DESPITE NAERO=",I3)') NAERO - CALL SU_AERP - CALL SU_AEROP -ENDIF - -IF (NINDAT == NINIDAY .AND. NSSSSS == 00000) THEN - LAERCLIST=.TRUE. -ENDIF - -! ------------------------------------------------------------------ - -!* 3. DISTRIBUTE DUST AEROSOL SOURCE FUNCTIONS -! ---------------------------------------- - -!-- if NAERWND < 2, DU uses 10m-wind; if >= 2, DU uses gust - -if (NAERWND == 0) THEN -! for NAERWND = 0, both SS and DU use 10-m wind - RFCTDU=1.0_JPRB - RFCTSS=1.0_JPRB - IAERWND=1 -elseif (NAERWND == 1) THEN -! for NAERWND = 1, SS takes "gust" values - RFCTDU=1.0_JPRB - RFCTSS=RFCTSSR - IAERWND=1 -elseif (NAERWND == 2) THEN -! for NAERWND = 2, DU takes "gust" values - RFCTDU=RFCTDUR - RFCTSS=1.0_JPRB - IAERWND=2 -elseif (NAERWND == 3) THEN -! for NAERWND = 3, both SS and DU take 10-m wind + gust - RFCTDU=RFCTDUR - RFCTSS=RFCTSSR - IAERWND=2 -endif - -ZDEGRAD=180._JPRB/RPI -DO JL=1,NGPTOT - ZLON=GELAM(JL)*ZDEGRAD - ZLAT=ASIN(GEMU(JL))*ZDEGRAD - - zbnda= 30._JPRB+(36._JPRB -zlat)*14._JPRB/24._JPRB - zbndb= 30._JPRB+(36._JPRB -zlat)*40._JPRB/16._JPRB - zbndc= 38._JPRB+(zlon-124._JPRB)*12._JPRB/29._JPRB - zbndd= 32._JPRB-(zlon-243._JPRB)* 6._JPRB/21._JPRB - -!-- Eastern border Canada/USA - zbnde= 49._JPRB - if (zlon > 268._JPRB .and. zlon < 277._JPRB) then - zbnde= 49._JPRB-(zlon-268._JPRB)*7._JPRB/9._JPRB - elseif (zlon >= 277._JPRB .and. zlon < 285._JPRB) then - zbnde= 42._JPRB+(zlon-277._JPRB)*2._JPRB/8._JPRB - elseif (zlon >= 285._JPRB .and. zlon < 310._JPRB) then - zbnde= 44._JPRB+(zlon-285._JPRB)*3._JPRB/25._JPRB - endif - -!-- limits Britain - zlongb=-9999._JPRB - if (zlon > 354._JPRB .and. zlon < 360._JPRB) then - zlongb=zlon - elseif (zlon >= 0._JPRB .and. zlon < 3._JPRB) then - zlongb=zlon+360._JPRB - endif - zbndf= 47._JPRB+(zlongb-349._JPRB)*4.5_JPRB/14._JPRB - -!-- limits Ireland - zbndg= 61._JPRB-(zlon-349._JPRB)*7._JPRB/6._JPRB - zbndh= 45._JPRB+(zlon-349._JPRB)*9._JPRB/6._JPRB - -!-- Western border Brazil - if (zlat <= 4._JPRB .and. zlat > 2._JPRB) then - zbndi= 296._JPRB - elseif (zlat <= 2._JPRB .and. zlat > -4._JPRB) then - zbndi= 290._JPRB - elseif (zlat <= -4._JPRB .and. zlat > -7._JPRB) then - zbndi= 290._JPRB-(-4._JPRB-zlat)*4._JPRB/3._JPRB - elseif (zlat <= -7._JPRB .and. zlat > -11._JPRB) then - zbndi= 286._JPRB+(-7._JPRB-zlat)*4._JPRB/4._JPRB - endif - - if (zlat <= -11._JPRB .and. zlat > -18._JPRB) then - zbndj= 294._JPRB+(-11._JPRB-zlat)*8._JPRB/7._JPRB - elseif (zlat <= -18._JPRB .and. zlat > -27._JPRB) then - zbndj= 302._JPRB+(-18._JPRB-zlat)*4._JPRB/9._JPRB - elseif (zlat <= -27._JPRB .and. zlat > -30._JPRB) then - zbndj= 306._JPRB-(-27._JPRB-zlat)*3._JPRB/3._JPRB - elseif (zlat <= -30._JPRB .and. zlat >= -34._JPRB) then - zbndj= 303._JPRB+(-30._JPRB-zlat)*4._JPRB/4._JPRB - endif - -!-- Northern border India - if (zlon > 70._JPRB .and. zlon <= 90._JPRB) then - zbndk= 35._JPRB-(zlon-70._JPRB)*0.5_JPRB - endif - -!-- South border of Asian deserts - if (zlon > 90._JPRB .and. zlon <= 135._JPRB) then - zbndl= 25._JPRB+(zlon-90._JPRB)*15._JPRB/45._JPRB - endif - -!-- North limit of the Argentinian pampas - if (zlon > 285._JPRB .and. zlon <= 297._JPRB) then - zbndm= -42._JPRB+(zlon-285._JPRB)*6._JPRB/12._JPRB - endif - - iff=0 - -!-- North America -!----- Canada - if ( zlat >= zbnde .and. & - & (zlon > 190._JPRB .and. zlon < 330._JPRB) ) then - iff=1 -!----- USA - elseif ( (zlat >= zbndd .and. zlat < zbnde ) & - & .and. (zlon > 190._JPRB .and. zlon < 330._JPRB) ) then - iff=3 - endif -!-- Alaska - if ( (zlat < 72._JPRB .and. zlat > 52._JPRB) & - & .and. (zlon > 190._JPRB .and. zlon <= 219._JPRB) ) then - iff=2 - endif - -!-- Central America - if (zlat < zbndd .and. & - & (zlon > 190._JPRB .and. zlon < 330._JPRB) ) then - iff=4 - endif - -!-- South America - if ( zlat < 12._JPRB .and. & - & (zlon > 190._JPRB .and. zlon < 330._JPRB) ) then - iff=5 - endif -!-- Brazil - if ( (zlat <= 4._JPRB .and. zlat > 2._JPRB) & - & .and. (zlon >= 296._JPRB .and. zlon <= 300._JPRB) ) then - iff=6 - endif - if ( (zlat <= 2._JPRB .and. zlat > -11._JPRB) & - & .and. (zlon >= zbndi .and. zlon < 330._JPRB) ) then - iff=6 - endif - if ( (zlat <= -11._JPRB .and. zlat >= -34._JPRB) & - & .and. (zlon >= zbndj .and. zlon < 330._JPRB) ) then - iff=6 - endif - -!-- Western Europe - if ( zlat > 36._JPRB .and. ( zlon >= 330._JPRB .or. zlon <= 30._JPRB) ) then - iff=10 - endif - -!----- Iceland - if ( (zlat < 67._JPRB .and. zlat > 63._JPRB) & - & .and. ( zlon > 335._JPRB .and. zlon < 353._JPRB) ) then - iff=7 - endif -!----- Britain - if ( (zlat < 63._JPRB .and. zlat > zbndf) & - & .and. ( zlon > 354._JPRB .or. zlon < 3._JPRB) ) then - iff=9 - endif -!----- Ireland - if ( (zlat < zbndg .and. zlat > zbndh) & - & .and. ( zlon > 349._JPRB .and. zlon < 355._JPRB) ) then - iff=8 - endif - - -!-- Russia to Urals - if ( zlon > 30._JPRB .and. zlon <= 70._JPRB ) then - if ( zlat > 51._JPRB ) then - iff=11 - elseif ( zlat > 36._JPRB ) then - iff=12 - endif - endif - -!-- Northern Sahara -! if ( ( zlat <= 36._JPRB .and. zlat >= 21._JPRB) & -! & .and. ( zlon >= 330._JPRB .or. zlon <= zbnda) ) then -! iff=13 -!-- Northern Sahara (West) - if ( ( zlat <= 36._JPRB .and. zlat >= 21._JPRB) & - & .and. ( zlon >= 330._JPRB .or. zlon < 4._JPRB) ) then - iff=36 -!-- Northern Sahara (East) - elseif ( ( zlat <= 36._JPRB .and. zlat >= 21._JPRB) & - & .and. ( zlon >= 4._JPRB .or. zlon <= zbnda) ) then - iff=37 -!-- Southern Sahara (West) - elseif ( ( zlat < 21._JPRB .and. zlat >= 12._JPRB) & - & .and. ( zlon >= 330._JPRB .or. zlon < 15._JPRB) ) then - iff=34 -!-- Southern Sahara (East) - elseif ( ( zlat < 21._JPRB .and. zlat >= 12._JPRB) & - & .and. ( zlon >= 15._JPRB .and. zlon <= zbnda) ) then - iff=35 -!-- Central Africa - elseif ( (zlat < 12._JPRB .and. zlat >= -12._JPRB) & - & .and. ( zlon >= 330._JPRB .or. zlon <= 60._JPRB) ) then - iff=14 -!-- Southern Africa - elseif ( zlat < -12._JPRB .and. zlat >= -60._JPRB & - & .and. ( zlon >= 330._JPRB .or. zlon <= 60._JPRB) ) then - iff=15 - endif - - -!-- Australasia - if (zlon > 70._JPRB .and. zlon <= 190._JPRB) then - iff=26 - -!-- Siberia - if (zlat <= 90._JPRB .and. zlat > 51._JPRB) then - iff=16 - -!-- Australasia -!---- Tropical Pacific Islands - elseif ( zlat > -10.5_JPRB) then - iff=27 -!---- Australia - elseif ( zlat <= -10.5_JPRB .and. zlat >= -60._JPRB) then - iff=28 - endif - endif - -!-- Asian deserts - if ((zlon > 90._JPRB .and. zlon <= 135._JPRB) & - & .and. (zlat <= 51._JPRB .and. zlat > zbndl)) then - iff=17 - endif - - - -!-- Saudi Arabia - if ((zlat <= 36._JPRB .and. zlat >= 12._JPRB) & - & .and.( zlon > zbnda .and. zlon < zbndb) ) then - iff=18 - endif -!-- Irak, Iran, Pakistan - if ((zlat <= 36._JPRB .and. zlat >= 20._JPRB) & - & .and.( zlon > zbndb .and. zlon < 70._JPRB) ) then - iff=19 - endif - - - -!-- Central Asia and India - if ( zlon > 70._JPRB .and. zlon <= 90._JPRB) then -!----- Central Asia: Taklamakan - if (zlat <= 43._JPRB .and. zlat >= zbndk) then - iff=20 -!----- India - elseif (zlat <= zbndk .and. zlat > 7._JPRB) then - iff=21 - endif - endif -!-- other Gobi(s) in South Mongolia and Central China - if ( zlat <= 49._JPRB .and. zlat > 35._JPRB) then - if (zlon > 90._JPRB .and. zlon <= 110._JPRB) then - iff=22 - elseif (zlon > 110._JPRB .and. zlon <= 125._JPRB) then - iff=23 - endif - endif - -!-- South China - if ( (zlon > 90._JPRB .and. zlon <= 135._JPRB) .and. & - & (zlat <= zbndl .and. zlat > 7._JPRB) ) then - iff=24 - endif - - - -!-- Japan and S.Korea - if ( (zlon > 124._JPRB .and. zlon < 153._JPRB) & - & .and. (zlat > 24._JPRB .and. zlat < zbndc) ) then - iff=25 - endif - -!-- Greenland - if (zlat > 50._JPRB) then - zinclat=(90._JPRB-zlat)/40._JPRB*45._JPRB - zlonw=270._JPRB +zinclat - zlone=360._JPRB -zinclat - if ( zlon > zlonw .and. zlon < zlone ) then - iff=29 - endif - endif - -!-- Antarctica - if (zlat < -60._JPRB) then - iff=30 - endif - -!-- awaiting a proper recoding, new areas are set between iff=31 and 35 - - if ( zlon > 285._JPRB .and. zlon < 295._JPRB) then -!- Atacama desert and Salar de Uyuni - if ( zlat < -16._JPRB .and. zlat > -28._JPRB) then - iff=31 - endif -!- Salar de Pipanaco and other small ones - if ( zlat <= -28._JPRB .and. zlat > zbndm) then - iff=32 - endif - endif -!- Argentianian pampas - if ( (zlon > 285._JPRB .and. zlon < 297._JPRB) & - & .and. zlat <= zbndm ) then - iff=33 - endif - -!-- if area is recognized - IF (IFF /= 0) THEN -!-- either use the default value - IF (RDDUAER(iff) == 0._JPRB) THEN - RDDUAER(iff) = ZDDUAER(iff,IAERWND) - ELSE -!-- or what is read in via the namelist - ENDIF - ELSE - WRITE(NULOUT,FMT='(''su_aerw: Unassigned grid for Lat,Lon='',2F8.2)') ZLAT,ZLON - ENDIF -ENDDO - -! ------------------------------------------------------------------ - -!* 4. DEFINE VALUES OF PROGNOSTIC AEROSOL CONFIGURATION -! ------------------------------------------------- - -IF (.NOT.LE4ALB) THEN - NDDUST=2 -ENDIF - -WRITE(UNIT=NULOUT,FMT='(''NAERO='',I2,'' NACTAERO='',I2)') NAERO,NACTAERO - -IF (NACTAERO > 0) THEN - - WRITE(UNIT=NULOUT,FMT='(''NAERO='',I2,'' NACTAERO='',I2,3X,8I3)') NAERO,NACTAERO,(NTYPAER(JAER),JAER=1,8) - -! define a composite index for each bin of each different aerosol type to be used -! in source, sedimentation and deposition routines - - ICAER=0 - DO JAER=1,NMAXTAER - IF (NTYPAER(JAER) /= 0) THEN - NTAER=NTAER+1 - ITAER=NTYPAER(JAER) - DO IAER=1,ITAER - ICAER=ICAER+1 - NINDAER(ICAER)=JAER*10+IAER - NTYP(ICAER) =JAER - NBIN(ICAER) =IAER - ENDDO - ENDIF - ENDDO - -!-- if volcanic aerosols, define the model coordinates - -! IF (NTYPAER(8) /= 0) THEN -! RGEMUV=(RLATVOL+90._JPRB)*RPI/180._JPRB -! RGELAV=RLONVOL*RPI/180._JPRB -! RCLONV=COS(RGELAV) -! RSLONV=SIN(RGELAV) -! DO J=1,NGPTOT-1 -! IF (RGELAV > GELAM(J) .AND. RGELAV <= GELAM(J+1) .AND. & -! & RGEMUV < RMU(JL) .AND. RGEMUV >= RMU(JL+1) ) THEN -! RDGMUV=ABS( RMU(J+1) - RMU(J)) -! RDGLAV=ABS( GELAM(J+1)-GELAM(J) ) -! RDSLONV=ABS( SIN(GELAM(JL+1))-SIN(GELAM(JL)) ) -! RDCLONV=ABS( COS(GELAM(JL+1))-COS(GELAM(JL)) ) -! ENDIF -! ENDDO -! ENDIF - -! ------------------------------------------------------------------ - -!* 5. INITIALIZE PROGNOSTIC AEROSOL PHYSICAL AND OPTICAL PARAMETERS -! ------------------------------------------------------------- - - CALL SU_AERP - CALL SU_AEROP - - DO JAER=1,NMAXTAER - IF (LAEROPT(JAER)) THEN - LAERRAD=.TRUE. - ENDIF - ENDDO - -! ---------------------------------------------------------------- - -!* 6. PRINT FINAL VALUES. -! ------------------- - - WRITE(UNIT=NULOUT,FMT='('' LEPAERO = '',L5 & - & ,'' NTAER = '',I2 ,'' NDDUST = '',I1,'' NSSALT = '',I1,/& - & ,'' NTYPAER = '',8I3,/ & - & ,'' NINIDAY = '',I8 & - & ,'' NTYP = '',15I3,/& - & ,'' NBIN = '',15I3 & - & )')& - & LEPAERO,NTAER,NDDUST,NSSALT,(NTYPAER(JAER),JAER=1,8), & - & NINIDAY, (NTYP(JAER),JAER=1,15), (NBIN(JAER),JAER=1,15) - - WRITE(UNIT=NULOUT,FMT='('' NAERO = '',I2,'' NACTAERO = '',I2,& - &'' NXT3DAER = '',I2,'' NAERCONF = '',I3)') & - & NAERO,NACTAERO,NXT3DAER,NAERCONF - - WRITE(UNIT=NULOUT,FMT='('' LAERNGAT = '',L1 & - & ,'' LAERDRYDP= '',L1 & - & ,'' LAERSEDIM= '',L1 & - & ,'' LAERGTOP = '',L1 & - & ,'' LAERLISI = '',L1 & - & ,'' LAERHYGRO= '',L1 & - & ,'' LAERSCAV = '',L1 & - & ,'' LAER6SDIA= '',L1 & - & ,'' LAERCLIMZ= '',L1 & - & ,'' LAERCLIMG= '',L1 & - & ,'' LAERCLIST= '',L1 & - & )')& - & LAERNGAT, LAERDRYDP,LAERSEDIM,LAERGTOP,LAERHYGRO,LAERSCAV,LAER6SDIA, & - & LAERCLIMZ,LAERCLIMG,LAERCLIST - - WRITE(UNIT=NULOUT,FMT='('' RSSFLX= '',9E10.3)') RSSFLX - WRITE(UNIT=NULOUT,FMT='('' NAERWND= '',I1,'' RFCTSS= '',F4.1,'' RFCTDU= '',F4.1,2X,A45)') & - & NAERWND, RFCTSS, RFCTDU, CLAERWND(NAERWND) - WRITE(UNIT=NULOUT,FMT='('' NAERDUT= '',I2,'' RAERDUB= '',E10.3)') NAERDUT, RAERDUB - WRITE(UNIT=NULOUT,FMT='('' RDDUAER= '',25F6.3)') (RDDUAER(J),J= 1,25) - WRITE(UNIT=NULOUT,FMT='('' RDDUAER= '',25F6.3)') (RDDUAER(J),J=26,50) - WRITE(UNIT=NULOUT,FMT='('' LUVINDX= '',L3,'' LAERUVP= '',L3)') LUVINDX, LAERUVP - - WRITE(UNIT=NULOUT,FMT='('' Interaction prognostic aerosols and radiation: LAERRAD= '',L1,& - &'' LAEROPT= '',8L3)') LAERRAD,LAEROPT - WRITE(UNIT=NULOUT,FMT='('' Interaction prognostic aerosols and eff.radius of liq.wat.clouds: LAERCCN= '',& - &L1)') LAERCCN - - IF (NTYPAER(8) /= 0) THEN - WRITE(UNIT=NULOUT,FMT='('' RLATVOL= '',F5.2 & - & ,'' RLONVOL= '',F6.2,'' RGEMUV= '',F6.4,'' RGELAV= '',F6.4 & - & ,'' RCLONV = '',F6.4,'' RSLONV= '',F6.4,'' RDGMUV= '',F6.4 & - & ,'' RDGLAV = '',F6.4,'' RDCLONV= '',F6.4,'' RDSLONV= '',F6.4 & - & )')& - & RLATVOL,RLONVOL,RGEMUV,RGELAV,RCLONV,RSLONV,RDGMUV,RDGLAV,RDCLONV,RDSLONV - ENDIF -ENDIF - -! ---------------------------------------------------------------- -IF (LHOOK) CALL DR_HOOK('SU_AERW',1,ZHOOK_HANDLE) -END SUBROUTINE SU_AERW - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/ARCH/arch-ecconf.fcm.tmpl b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/ARCH/arch-ecconf.fcm.tmpl deleted file mode 100644 index 790ade444549cbd6f297d9e878d87c3c1c4bb9ac..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/ARCH/arch-ecconf.fcm.tmpl +++ /dev/null @@ -1,40 +0,0 @@ -# EC-EARTH3 ec-conf-based configuration -# NCDF_INC netcdf include file -# NCDF_LIB netcdf library -# FC Fortran compiler command -# FCFLAGS Fortran compiler flags -# FFLAGS Fortran 77 compiler flags -# LD linker -# LDFLAGS linker flags, e.g. -L if you have libraries in a -# FPPFLAGS pre-processing flags -# AR assembler -# ARFLAGS assembler flags -# MK make -# USER_INC additional include files for the compiler, e.g. -I -# USER_LIB additional libraries to pass to the linker, e.g. -l - -%OASIS_INC_DIR $(addsuffix /oasis3/ecconf/build/lib/psmile.MPI1,[[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]) -%OASIS_LIB_DIR $(addsuffix /oasis3/ecconf/lib,[[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]) -%OASIS_LIBS psmile.MPI1 mpp_io - -%NETCDF_INC_DIR $(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]] -%NETCDF_LIB_DIR $(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]] -%NETCDF_LIBS [[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]] - -%MPI_INC_DIR $(addsuffix /,[[[PLT:ACTIVE:MPI_BASE_DIR]]])[[[PLT:ACTIVE:MPI_INC_SUBDIR]]] -%MPI_LIB_DIR $(addsuffix /,[[[PLT:ACTIVE:MPI_BASE_DIR]]])[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]] -%MPI_LIBS [[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]] - -%USER_INC $(addprefix -I,%OASIS_INC_DIR %NETCDF_INC_DIR %MPI_INC_DIR) -%USER_LIB $(addprefix -L,%OASIS_LIB_DIR %NETCDF_LIB_DIR %MPI_LIB_DIR) \ - $(addprefix -l,%OASIS_LIBS %NETCDF_LIBS %MPI_LIBS) - -%MK [[[PLT:ACTIVE:MAKE]]] -%FC [[[PLT:ACTIVE:FC]]] -%FCFLAGS [[[PLT:ACTIVE:FFLAGS]]] [[[PLT:ACTIVE:NEMO_ADD_FFLAGS]]] -%FFLAGS %FCFLAGS -%FPPFLAGS [[[PLT:ACTIVE:CPPFLAGS]]] -%LD [[[PLT:ACTIVE:LD]]] -%LDFLAGS [[[PLT:ACTIVE:LDFLAGS]]] [[[PLT:ACTIVE:NEMO_ADD_LDFLAGS]]] -%AR [[[PLT:ACTIVE:AR]]] -%ARFLAGS [[[PLT:ACTIVE:ARFLAGS]]] diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/CONFIG/makenemo b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/CONFIG/makenemo deleted file mode 100755 index 91259ee0ff0768e72be96f96ebd5a4aa50cc88ec..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/CONFIG/makenemo +++ /dev/null @@ -1,314 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# =============== -# makenemo -# =============== -# -# -------------------------- -# Compile NEMO -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ makenemo -# -# -# DESCRIPTION -# =========== -# -# -# This script aims : -# -# - to choose MYCONFIG -# - to choose compiler options -# - to create the CONFIG/MYCONFIG/WORK directory -# - to compile this configuration -# -# Variables used : -# -# From user input -# -# - NEW_CONF : configuration to be created -# - REF_CONF : reference configuration to build the new one -# - CMP_NAM : compiler name -# - NBR_PRC : number of processes used to compile -# - NEM_SUBDIR : NEMO subdirectory used (specified) -# -# Locally defined : -# -# - TAB : NEMO subdirectory used (read) -# - MAIN_DIR : self explaining -# - CONFIG_DIR : " " " -# - MODELES_DIR : " " " -# - TOOLS_DIR : " " " -# - NEMO_DIR : " " " -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./makenemo -m ifort_osx - j3 -n ORCA2_LIM -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: makenemo 2731 2011-04-08 12:05:35Z rblod $ -# -# -# -# * creation -# -#- - -#- Local variables --- -b_n=$(basename ${0}) -OPTIND=1 -MAIN_DIR=$(cd $(dirname "$0"); pwd) -MAIN_DIR=${MAIN_DIR%/SETTE*} -MAIN_DIR=${MAIN_DIR%/TOOLS*} -MAIN_DIR=${MAIN_DIR%/CONFIG*} -export MAIN_DIR -# -export CONFIG_DIR=${MAIN_DIR}/CONFIG -export TOOLS_DIR=${MAIN_DIR}/TOOLS -export COMPIL_DIR=${MAIN_DIR}/TOOLS/COMPILE -export NEMO_DIR=${MAIN_DIR}/NEMO -export AGRIFUSE=10 - -declare -a TAB -#- -#- FCM and functions location --- -export PATH=${MAIN_DIR}/EXTERNAL/fcm/bin:$PATH - -#- -#- Choice of the options --- -x_d=""; -x_n=""; -x_r=""; -x_m=""; -x_t=""; -x_c=""; -x_j=1; -while getopts :hd:n:r:m:j:t: V -do - case $V in - (h) echo "Usage : "${b_n} \ - " [-h] [-n name] [-m arch] [-d "dir1 dir2"] [-r conf] [-j No]"; - echo " -h : help"; - echo " -n name : config name, [-n help] to list existing configurations"; - echo " -m arch : choose compiler, [-m help] to list existing compilers"; - echo " -d dir : choose NEMO sub-directories"; - echo " -r conf : choose reference configuration"; - echo " -j No : number of processes used to compile (0=nocompilation)"; - echo " -t dir : temporary directory for compilation" - echo ""; - echo "Example to install a new configuration MY_CONFIG"; - echo "with OPA_SRC and LIM_SRC_2 "; - echo "makenemo -n MY_CONFIG -d \"OPA_SRC LIM_SRC_2\""; - echo ""; - echo "Available configurations :"; cat ${COMPIL_DIR}/cfg.txt; - echo ""; - echo "Example to remove bad configuration "; - echo "./makenemo -n MY_CONFIG clean_config"; - echo ""; - echo "Example to clean "; - echo "./makenemo clean"; - echo ""; - echo "Example to add and remove keys"; - echo "./makenemo add_key \"key_iomput key_mpp_mpi\" del_key \"key_agrif\" "; - echo ""; - echo "Example to add and remove keys for a new configuration, and do not compile"; - echo "./makenemo -n MY_CONFIG -j0 add_key \"key_iomput key_mpp_mpi\" del_key \"key_agrif\" "; - echo ""; - . ${COMPIL_DIR}/Flist_archfile.sh ; - echo ""; - echo "Default : previous configuration and compiler"; - exit 0;; - (d) x_d=${OPTARG};; - (n) x_n=${OPTARG};; - (r) x_r=${OPTARG};; - (m) x_m=${OPTARG};; - (j) x_j=${OPTARG};; - (t) x_t=${OPTARG};; - (:) echo ${b_n}" : -"${OPTARG}" option : missing value" 1>&2; - exit 2;; - (\?) echo ${b_n}" : -"${OPTARG}" option : not supported" 1>&2; - exit 2;; - esac -done -shift $(($OPTIND-1)); - -while [ ${#1} -gt 0 ] # Get clean, clean_config options -do - case "$1" in - clean) - x_c="--$1" - ;; - clean_config) - . ${COMPIL_DIR}/Fclean_config.sh - exit - ;; - add_key) - list_add_key=$2 - export ${list_add_key} - shift - ;; - del_key) - list_del_key=$2 - export ${list_del_key} - shift - ;; - *) - echo " \"$1\" BAD OPTION" - exit - ;; - - esac - shift -done - - -#- -#- Go to NEMOGCM/config directory --- -cd ${CONFIG_DIR} - -#- -#- Initialisation from input --- -export NEW_CONF=${x_n} -NBR_PRC=${x_j} -CMP_NAM=${x_m} -NEM_SUBDIR=${x_d} -REF_CONF=${x_r} -NEMO_TDIR=${x_t:-$NEMO_TDIR} -export NEMO_TDIR=${NEMO_TDIR:-$CONFIG_DIR} - -#- Check if the tool or the compiler exist or list it -if [ "${NEW_CONF}" == help ] ; then - echo "Available configurations :" - cat ${COMPIL_DIR}/cfg.txt - exit -fi -[ "${CMP_NAM}" == help ] && . ${COMPIL_DIR}/Flist_archfile.sh && exit - -#- When used for the first time, choose a compiler --- -. ${COMPIL_DIR}/Fcheck_archfile.sh arch_nemo.fcm ${CMP_NAM} || exit - -#- -#- Choose a default configuration if needed --- -#- ORCA2_LIM or last one used --- -. ${COMPIL_DIR}/Fcheck_config.sh cfg.txt ${NEW_CONF} || exit - - -if [ ${#NEW_CONF} -eq 0 ] ; then - if [ ${#NEM_SUBDIR} -eq 0 -a ${#REF_CONF} -eq 0 ]; then - echo "You are installing a new configuration" - ind=0 - . ${COMPIL_DIR}/Fread_dir.sh OPA_SRC YES - . ${COMPIL_DIR}/Fread_dir.sh LIM_SRC_2 YES - . ${COMPIL_DIR}/Fread_dir.sh LIM_SRC_3 NO - . ${COMPIL_DIR}/Fread_dir.sh TOP_SRC NO - . ${COMPIL_DIR}/Fread_dir.sh NST_SRC YES - . ${COMPIL_DIR}/Fread_dir.sh OFF_SRC NO - REF_CONF=ORCA2_LIM - elif [ ${#NEM_SUBDIR} -gt 0 ] && [ ${#REF_CONF} -eq 0 ]; then - echo "You are installing a new configuration" - TAB=( ${NEM_SUBDIR} ) - REF_CONF=ORCA2_LIM - elif [ ${#NEM_SUBDIR} -eq 0 ] && [ ${#REF_CONF} -gt 0 ]; then - echo "You are installing a new configuration based on ${REF_CONF}" - . ${COMPIL_DIR}/Fcopy_dir.sh ${REF_CONF} - fi - NEW_CONF=${x_n} - . ${COMPIL_DIR}/Fmake_config.sh ${NEW_CONF} ${REF_CONF} -else - sed -e "/${NEW_CONF} /d" ${COMPIL_DIR}/cfg.txt > ${COMPIL_DIR}/cfg.tmp - \mv ${COMPIL_DIR}/cfg.tmp ${COMPIL_DIR}/cfg.txt -fi - -#- -#- Save new configuration and directories names --- -echo ${NEW_CONF} ${TAB[*]} >> ${COMPIL_DIR}/cfg.txt - -#- -#- Create the WORK --- -#- Clean links and librairies --- -#- Creating the good links, at first on OPA_SRC --- -. ${COMPIL_DIR}/Fmake_WORK.sh ${NEW_CONF} ${TAB[*]} || exit - -. ${COMPIL_DIR}/Fmake_bld.sh ${CONFIG_DIR} ${NEW_CONF} ${NEMO_TDIR} || exit - -#- At this stage new configuration has been added, -#- We add or remove keys -if [ ${#list_add_key} -ne 0 ] ; then - . ${COMPIL_DIR}/Fadd_keys.sh ${NEW_CONF} add_key ${list_add_key} -fi - -if [ ${#list_del_key} -ne 0 ] ; then - . ${COMPIL_DIR}/Fdel_keys.sh ${NEW_CONF} del_key ${list_del_key} -fi - -#- At this stage the configuration has beeen chosen -#- We coose the default light file -export USEBLD=bldxioxag.cfg - -#- We look after agrif -grep key_agrif ${COMPIL_DIR}/cpp.fcm && export AGRIFUSE=1 && export USEBLD=${USEBLD/xag/} -. ${COMPIL_DIR}/Fprep_agrif.sh ${NEW_CONF} ${NEMO_TDIR} || exit - -#- and test whether we need to build the ioserver -grep key_iomput ${COMPIL_DIR}/cpp.fcm && export USEBLD=${USEBLD/xio/} - -#- -#_ END OF CONFIGURATION PHASE -#_ - -#- -#- Compile --- - -if [ "${NBR_PRC}" -gt 0 ]; then - cd ${NEMO_TDIR}/${NEW_CONF} || cd - - -#if AGRIF we do a first preprocessing - if [ ${#x_c} -eq 0 ]; then - [ "$AGRIFUSE" == 1 ] && fcm build --ignore-lock -s 2 ${COMPIL_DIR}/$USEBLD - [ "$AGRIFUSE" == 1 ] && rm -rf ${NEMO_TDIR}/${NEW_CONF}/BLD/* - fi - fcm build ${x_c} --ignore-lock -v 1 -j ${NBR_PRC} ${COMPIL_DIR}/$USEBLD || cd - - [ -f ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/nemo.exe ] && ln -sf ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/nemo.exe ${CONFIG_DIR}/${NEW_CONF}/EXP00/opa - [ -f ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/server.exe ] && ln -sf ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/server.exe ${CONFIG_DIR}/${NEW_CONF}/EXP00/server.exe - -#add remove for clean option - if [ ${#x_c} -ne 0 ]; then - rm -rf ${NEMO_TDIR}/${NEW_CONF}/WORK - rm -rf ${NEMO_TDIR}/${NEW_CONF}/BLD - rm -rf ${NEMO_TDIR}/${NEW_CONF}/EXP00/opa - rm -rf ${NEMO_TDIR}/${NEW_CONF}/EXP00/server.exe - echo "cleaning ${NEW_CONF} WORK, BLD" - fi - -fi - -#- Come back to original directory --- -cd - - -#- -#- Unset variables -${COMPIL_DIR}/Fclean_var.sh - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fadd_keys.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fadd_keys.sh deleted file mode 100755 index c552c7b07468512ad7eb5a04598f6ed82c5e2b72..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fadd_keys.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Simona Flavoni for NEMO -# Contact : sflod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fadd_keys : add keys in cpp.fcm file -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============ -# Fadd_keys.sh -# ============ -# -# -------------------- -# Add compilation keys -# -------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fadd_keys.sh CONFIG_NAME add_key "LIST_KEYS" -# -# -# DESCRIPTION -# =========== -# -# -# Script to add a set off key when compiling a configuration. -# The list off key to be added has to be enclosed with " ". -# A 'sed' is performed to modify the CONFIG_NAME/cpp.fcm file to -# add the new key(s). -# -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fadd_keys.sh ORCA2_LIM add_key "key_mpp_mpi key_nproci=1 key_nprocj=10" -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fadd_keys.sh 2158 2010-10-20 17:30:03Z sflod $ -# -# -# -# * creation -# -#- - echo "Adding keys in : ${NEW_CONF}" - for i in ${list_add_key} ; do - if [ "$(echo ${i} | grep -c key_nproc )" -ne 0 ] ; then - sed -e "s/key_nproc[ij]=.[0-9]* //" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - echo " " - sed -e "s/$/ ${i}/" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - elif [ "$(cat ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm | grep -c "$i" )" -ne 0 ] ; then - echo "key $i already present in cpp_${NEW_CONF}.fcm" - else - sed -e "s/$/ ${i}/" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - echo "added key $i in ${NEW_CONF}" - fi - done - - unset -v list_add_key - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_archfile.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_archfile.sh deleted file mode 100755 index c9a1e5080f3bf316a62be8a04b75546b267bee27..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_archfile.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================== -# Fcheck_archfile.sh -# ================== -# -# -------------------------- -# Check the compilation file -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fcheck_archfile.sh -# -# -# DESCRIPTION -# =========== -# -# -# Check the choice of the compiler. -# Three cases : -# -# - There was a previous choice -# - A new one has be specified, we use this one -# - No information, exit -# -# We use TOOLS/COMPILE/arch.fcm to see if something was chosen. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fcheck_archfile.sh ARCHFILE COMPILER -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fcheck_archfile.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -if [ ${#2} -eq 0 ]; then - if [ ! -f ${COMPIL_DIR}/$1 ]; then - echo "Warning !!!" - echo "NO compiler chosen" - echo "Try makenemo -h for help" - echo "EXITING..." - exit 1 - fi -else - ln -sf ${MAIN_DIR}/ARCH/arch-${2}.fcm ${COMPIL_DIR}/$1 -fi diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_config.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_config.sh deleted file mode 100755 index 8a4524f02a9add48a0efac7924efebe206210632..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_config.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Rachid Benshila for NEMO -# Contact : rblod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fcheck_config : config checking -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================ -# Fcheck_config.sh -# ================ -# -# -------------------------- -# Check the configuration -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fcheck_config.sh FILENAME CONFNAME -# -# -# DESCRIPTION -# =========== -# -# -# Check the choice of the configuration: -# -# - Two cases -# - One is explicitely set -# - Nothing set, use the previous in use -# -# We use TOOLS/COMPILE/cfg.txt to check if the onfiguration exists. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fcheck_config.sh -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fcheck_config.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -declare -a ZTAB -if [ ${#2} -eq 0 ]; then - tail -1 ${COMPIL_DIR}/$1 > ${COMPIL_DIR}/cfg.tmp - read -a ZTAB < ${COMPIL_DIR}/cfg.tmp - NEW_CONF=${ZTAB[0]} ; TAB=( ${ZTAB[@]:1} ) - \rm ${COMPIL_DIR}/cfg.tmp - echo "Warning !!!" - echo "No configuration specified" - echo "Use makenemo -n MYCONFIG" - echo "or makenemo -h for help" - echo "Using defaut configuration : ${NEW_CONF}" -fi -if [ "$1" == cfg.txt ]; then - cat ${COMPIL_DIR}/$1 | grep "${NEW_CONF} " > ${COMPIL_DIR}/cfg.tmp - read -a ZTAB < ${COMPIL_DIR}/cfg.tmp - NEW_CONF=${ZTAB[0]} ; TAB=( ${ZTAB[@]:1} ) - \rm ${COMPIL_DIR}/cfg.tmp -fi - -unset -v ZTAB diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_script.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_script.sh deleted file mode 100755 index 335ac0df272da243df09d4563a7c4c11a6f87d0d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_script.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================ -# Fcheck_script.sh -# ================ -# -# -------------------------- -# Check -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fcheck_script.sh -# -# -# DESCRIPTION -# =========== -# -# -# Check if utilities are in the path, typically fcm. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fcheck_script.sh fcm -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fcheck_script.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -myscript=`which $1` -if [ ${#myscript} -eq 0 ]; then -echo "WARNING !!!" -echo "$1 has to be installed first" -echo "Exiting......................" -exit 1 -fi - -unset -v myscript diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_config.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_config.sh deleted file mode 100755 index be9f3beda38e266feca0612f4752dfa573038616..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_config.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Simona Flavoni for NEMO -# Contact : sflod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fclean_config : config removing -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================ -# Fclean_config.sh -# ================ -# -# ------------------------ -# Remove the configuration -# ------------------------ -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fclean_config.sh CONFNAME -# -# -# DESCRIPTION -# =========== -# -# -# Remove the configuration: -# -# - remove CONFIG_NAME/WORK -# - remove CONFIG_NAME/BLD -# - remove CONFIG_NAME from TOOLS/TOOLS/COMPILE/cfg.txt -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fclean_config.sh ORCA2_LIM -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fclean_config.sh 2158 2010-10-20 17:30:03Z sflod $ -# -# -# -# * creation -# -#- - NEW_CONF=${x_n} - echo "Are you sure that you want to remove this directory ? [y/n] " - read answer - answer=`echo $answer | sed 's/^[y].*$/y/'` - if [ -z "$answer" -o "x$answer" = "xy" ]; then - # testing if configuration exists - if [ "$(cat ${COMPIL_DIR}/cfg.txt | grep "${NEW_CONF} ")" == "" ] ; then - echo "The configuration ${NEW_CONF} does not exist in file cfg.txt" - echo "No removing configuration" - echo " " - else - rm -rf ${CONFIG_DIR}/${NEW_CONF} - sed -e "/${NEW_CONF} /d" ${COMPIL_DIR}/cfg.txt > ${COMPIL_DIR}/cfg.tmp - mv ${COMPIL_DIR}/cfg.tmp ${COMPIL_DIR}/cfg.txt - echo "${NEW_CONF} configuration REMOVED" - fi - else - echo " " - echo "nothing to remove" - fi - - unset -v answer diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_var.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_var.sh deleted file mode 100755 index 2ff65bd24fa37d39efebb7b8c91dad898608d0ea..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_var.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============= -# Fclean_var.sh -# ============= -# -# ---------------------------- -# Clean environement variables -# ---------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fclean_var.sh -# -# -# DESCRIPTION -# =========== -# -# -# Clean environement variables -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fclean_var.sh -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fclean_var.sh 2384 2010-11-15 03:20:07Z rblod $ -# -# -# -# * creation -# -#- -#- Unset variables - -unset -v NSTOP -unset -v TAB -unset -v NEW_CONF -unset -v REF_CONF -unset -v CMP_NAM -unset -v NBR_PRC -unset -v NEM_SUBDIR -unset -v MAIN_DIR -unset -v CONFIG_DIR -unset -v TOOLS_DIR -unset -v COMPIL_DIR -unset -v NEMO_DIR -unset -v USEBLD diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcopy_dir.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcopy_dir.sh deleted file mode 100755 index f4c57c8336785ba5d05e88baceb92beec282f659..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fcopy_dir.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============ -# Fcopy_dir.sh -# ============ -# -# -------------------------- -# Copy a reference directory -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fcopy_dir.sh -# -# -# DESCRIPTION -# =========== -# -# -# When a refenrence configuration is set, -# Copy NEMO sub-directories needed (OPA_SRC, TOP_SRC ...) -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fcopy_dir.sh ORCA2_LIM -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fcopy_dir.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -declare -a ZTAB -grep "$1 " ${COMPIL_DIR}/cfg.txt > ${COMPIL_DIR}/cfg.tmp -read -a ZTAB < ${COMPIL_DIR}/cfg.tmp -TAB=( ${ZTAB[@]:1} ) -\rm ${COMPIL_DIR}/cfg.tmp - -unset -v ZTAB diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fdel_keys.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fdel_keys.sh deleted file mode 100755 index fe29c6844fd0b4fc19549074714228240a4d0c6b..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fdel_keys.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Simona Flavoni for NEMO -# Contact : sflod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fdel_keys : del keys in cpp.fcm file -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================ -# Fdel_keys.sh -# ================ -# -# -------------------------- -# Add compilation keys -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fdel_keys.sh CONFIG_NAME del_key "LIST_KEYS" -# -# -# DESCRIPTION -# =========== -# -# -# Add cpp keys when compiling a configuration, key list has to be enclosed with " ". -# We perform a 'sed' on the CONFIG_NAME/CPP.fcm file, contianing the list of keys. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fdel_keys.sh CONFIG_NAME del_key "key_agrif" -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fdel_keys.sh 2158 2010-10-20 17:30:03Z sflod $ -# -# -# -# * creation -# -#- - echo "Removing keys in : ${NEW_CONF}" - for i in ${list_del_key} ; do - if [ "$(echo ${i} | grep -c key_nproc )" -ne 0 ] ; then - sed -e "s/key_nproc[ij]=.* //" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - echo " " - elif [ "$(cat ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm | grep -c "$i" )" -ne 0 ] ; then - sed -e "s/${i}//" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - echo "deleted key $i in ${NEW_CONF}" - fi - done - - unset -v list_del_key diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fgo_to_TOOLS.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fgo_to_TOOLS.sh deleted file mode 100755 index a9f9724c8e992a6d70501707b0f4e85edc050e18..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fgo_to_TOOLS.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# =============== -# Fgo_to_tools.sh -# =============== -# -# -------------------------- -# Go to the TOOLS directory -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fgo_to_tools.sh -# -# -# DESCRIPTION -# =========== -# -# -# Go to the TOOLS directory -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fgo_to_tools.sh -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fgo_to_TOOLS.sh 2263 2010-10-14 10:13:18Z rblod $ -# -# -# -# * creation -# -#- - -cd ${MAIN_DIR}/TOOLS diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Flist_archfile.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Flist_archfile.sh deleted file mode 100755 index 06764d982b93fd5c9133ea8eeec5e4f2feda6b54..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Flist_archfile.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================== -# Flist_archfile.sh -# ================== -# -# -------------------------- -# Check the compilation file -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Flist_archfile.sh -# -# -# DESCRIPTION -# =========== -# -# -# List arch file available. -# The first line of each file in NEMO/ARCH directory is echoed. -# -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Flist_archfile.sh -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Flist_archfile.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- -echo "Available compilers for -m option :" -for file in `ls ${MAIN_DIR}/ARCH` -do -zvar1=${file#arch-} -zvar2=$(head -1 ${MAIN_DIR}/ARCH/$file) -#echo "${zvar1%.fcm} : ${zvar2#\#}" -printf "%-20s %s %-s\n" "${zvar1%.fcm}" : "${zvar2#\#}" -done diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_WORK.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_WORK.sh deleted file mode 100755 index f2c9d149cfdf73255b4a7d3e923fa3c8066b33ba..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_WORK.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Rachid Benshila for NEMO -# Contact : rblod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fmake_WORK : create links in the WORK -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============= -# Fmake_WORK.sh -# ============= -# -# ----------------------- -# Make the WORK directory -# ----------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fmake_WORK.sh -# -# -# DESCRIPTION -# =========== -# -# -# Make the WORK directory: -# -# - Create lin in NEW_CONF/WORK -# - Use specified sub-directories previously -# - OPA has to be done first !!! -# -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fmake_WORK.sh ORCA2_LIM OPA_SRC LIM_SRC_2 -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fmake_WORK.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- -declare ZCONF=$1 ; shift -ZTAB=( $@ ) -declare i=0 ; declare NDIR=${#ZTAB[@]} - -echo "Creating ${ZCONF}/WORK = ${ZTAB[*]} for ${ZCONF}" -echo "" - -[ ! -d ${ZCONF}/MY_SRC ] && \mkdir ${ZCONF}/MY_SRC -[ -d ${ZCONF}/WORK ] || \mkdir ${ZCONF}/WORK - -\rm -f ../${1}/WORK/* - -while [ $i -lt $NDIR ] -do - [ "${ZTAB[i]}" = "OPA_SRC" ] && ln -sf ${NEMO_DIR}/OPA_SRC/*.[Ffh]90 ${ZCONF}/WORK - [ "${ZTAB[i]}" = "OPA_SRC" ] && ln -sf ${NEMO_DIR}/OPA_SRC/*/*.[Ffh]90 ${ZCONF}/WORK && break - let i=$i+1 -done - -i=0 -while [ $i -lt $NDIR ] -do - if [ "${ZTAB[i]}" != "OPA_SRC" ]; then - ln -sf ${NEMO_DIR}/${ZTAB[i]}/*.[Ffh]90 ${ZCONF}/WORK - ln -sf ${NEMO_DIR}/${ZTAB[i]}/*/*.[Ffh]90 ${ZCONF}/WORK 2>/dev/null - fi - let i=$i+1 -done - -for i in `(cd ${ZCONF}/MY_SRC ; ls *.[Ffh]90 2>/dev/null ) ` - do - [ -f ${ZCONF}/MY_SRC/$i ] && ln -sf $PWD/${ZCONF}/MY_SRC/${i} ${ZCONF}/WORK/. - done - -unset -v ZCONF -unset -v ZTAB -unset -v i -unset -v NDIR - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_bld.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_bld.sh deleted file mode 100755 index 951961499535f93649bec3165ee4081ac5644b8d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_bld.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============ -# Fmake_bld.sh -# ============ -# -# -------------------- -# Make build directory -# -------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fmake_bld.sh -# -# -# DESCRIPTION -# =========== -# -# -# Under CONFIG_NAME : -# - Make the build directory -# - Create repositories needed : -# - BLD for compilation -# -# A tmpdir can be specified for memory issues. -# -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fmake_bld.sh NEMOGCM/CONFIG GYRE /usr/tmp -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fmake_bld.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- -[ ! -d ${3}/${2} ] && \mkdir ${3}/${2} -[ ! -d ${3}/${2}/BLD ] && \mkdir ${3}/${2}/BLD -[ ! -d ${1}/${2}/BLD ] && ln -sf ${3}/${2}/BLD ${1}/${2}/BLD -[ -f ${1}/${NEW_CONF}/cpp_${NEW_CONF}.fcm ] && ln -sf ${1}/${NEW_CONF}/cpp_${NEW_CONF}.fcm ${COMPIL_DIR}/cpp.fcm -rm -f ${1}/${NEW_CONF}/BLD/fcm.bld.lock diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_config.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_config.sh deleted file mode 100755 index 604cd62077ac81063b6133e89afa95dbe0d970d2..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_config.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# =============== -# Fmake_config.sh -# =============== -# -# --------------- -# Make the config -# --------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fmake_config.sh -# -# -# DESCRIPTION -# =========== -# -# -# - Make the config directory -# - Create repositories needed : -# -# - EXP00 for namelist -# - MY_SRC for user sources -# - BLD for compilation -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fmake_config.sh CONFIG_NAME REF_CONFIG_NAME -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fmake_config.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- -\mkdir ${1} -\mkdir ${1}/EXP00 -\mkdir ${1}/MY_SRC -\cp -R ${2}/cpp_${2}.fcm ${1}/cpp_${1}.fcm -\cp -R ${2}/EXP00/*namelist* ${1}/EXP00/. -[ -f ${2}/EXP00/AGRIF_FixedGrids.in ] && \cp -R ${2}/EXP00/AGRIF_FixedGrids.in ${1}/EXP00/. -[ -f ${2}/EXP00/iodef.xml ] && \cp -R ${2}/EXP00/iodef.xml ${1}/EXP00/. -[ -f ${2}/EXP00/xmlio_server.def ] && \cp -R ${2}/EXP00/xmlio_server.def ${1}/EXP00/. -[ -d ${2}/MY_SRC ] && \cp ${2}/MY_SRC/* ${1}/MY_SRC/. 2> /dev/null diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fprep_agrif.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fprep_agrif.sh deleted file mode 100755 index ea397a27583c2c11338975d6618f6d3e2ed4ecfe..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fprep_agrif.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============== -# Fprep_agrif.sh -# ============== -# -# --------------------- -# Preparation for AGRIF -# --------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fprep_agrif.sh -# -# -# DESCRIPTION -# =========== -# -# -# Prepare directories for AGRIF and copy files needed -# -# Compile the conv -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fprep_agrif.sh CONFIG_NAME -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fprep_agrif.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -#- AGRIF conv -if [ "$AGRIFUSE" == 1 ]; then - -#- CONV -#fcm build ${TOOLS_DIR}/conv.cfg || exit 1 -gmake -C ${MAIN_DIR}/EXTERNAL/AGRIF/LIB - -#- AGRIF sources -[ ! -d $2/$1/OPAFILES ] && mkdir $2/$1/OPAFILES -[ ! -d $2/$1/OPAFILES/AGRIF_INC ] && mkdir $2/$1/OPAFILES/AGRIF_INC -[ ! -d $2/$1/OPAFILES/AGRIF_MODELFILES ] && mkdir $2/$1/OPAFILES/AGRIF_MODELFILES -cp -f -r ${MAIN_DIR}/EXTERNAL/AGRIF/agrif_opa.in $2/$1/OPAFILES/ -cp -f -r ${MAIN_DIR}/EXTERNAL/AGRIF/conv $2/$1/OPAFILES/ - -fi diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fread_dir.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fread_dir.sh deleted file mode 100755 index a8fd309b537b66d93d2bf761e33876a927b7ebcf..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/Fread_dir.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============ -# Fread_dir.sh -# ============ -# -# --------------------- -# Read user directories -# --------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fread_dir.sh -# -# -# DESCRIPTION -# =========== -# -# -# Read directoires needed from standard input -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fread_dir.sh Directory_NAME YES/NO -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fread_dir.sh 2542 2011-01-10 13:18:31Z rblod $ -# -# -# -# * creation -# -#- - -if [ "$2" == "YES" ]; then - echo -n " $1 [Y/n] " - read answer - answer=`echo $answer | sed 's/^[yY].*$/y/'` - if [ -z "$answer" -o "x$answer" = "xy" ]; then - TAB[$ind]="$1" - let ind=ind+1 - echo " $1 selected " - echo " " - else - echo " $1 Not selected " - echo " " - fi - unset -v answer -else - echo -n " $1 [y/N] " - read answer - answer=`echo $answer | sed 's/^[nN].*$/N/'` - if [ "x$answer" = "xy" ]; then - TAB[$ind]="$1" - let ind=ind+1 - echo " $1 selected " - echo " " - else - echo " $1 Not selected " - echo " " - fi - unset -v answer -fi diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/agrifpp.sh b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/agrifpp.sh deleted file mode 100755 index 4f1188d6feef0600808cb70865c914b41113348d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/nemo-3.3.1/TOOLS/COMPILE/agrifpp.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ========== -# agrifpp.sh -# ========== -# -# ---------------------------- -# Preform AGrif pre-processing -# ---------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ agrifpp.sh -# -# -# DESCRIPTION -# =========== -# -# -# Look after key agrif, if yes the conv is used, otherwise standard pre-processing is performed. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./agrifpp.sh 1 -Dkey -# -# or -# -# $ ./agrifpp.sh -Dkey -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: agrifpp.sh 2143 2010-10-04 12:49:55Z rblod $ -# -# -# -# * creation -# -#- - -if [ "$1" == "1" ]; then - shift - MYFILE=`echo $* |awk -F" " '{print $NF}' ` - FPP_OPT=` echo $* |awk '{ for (i=1 ; i ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/par_oce.F90 - (cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES ; ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/conv agrif_opa.in -rm -comdirin ./ -comdirout AGRIF_MODELFILES/ -convfile par_oce.F90 > /dev/null ) - cpp ${FPP_OPT} -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_MODELFILES/par_oce.F90 > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/par_oce.F90 - touch ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/param_done - elif [ "${MYFILE}" == "par_oce.F90" -a -f ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/param_done ] ; then - cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES - cpp ${FPP_OPT} -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC ${MYFILE} - exit - fi - - if [ "${MYFILE}" == agrif2model.F90 ]; then - cpp -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC $@ - exit - fi - - cpp -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC $@ > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/${MYFILE} - ( cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES ; ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/conv agrif_opa.in -rm -comdirin ./ -comdirout AGRIF_MODELFILES/ -convfile ${MYFILE} > /dev/null ) - cd ${NEMO_TDIR}/${NEW_CONF} - sed 's/[ ]*$//' OPAFILES/AGRIF_MODELFILES/${MYFILE}> OPAFILES/${MYFILE} - cpp ${FPP_OPT} -IOPAFILES/AGRIF_INC OPAFILES/${MYFILE} -else - shift - cpp $@ -fi - diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf.tmpl b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf.tmpl deleted file mode 100644 index 33160b5d6bd91afc180464c788fdccb258aa2f8a..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf.tmpl +++ /dev/null @@ -1,65 +0,0 @@ - -$(info --> Reading configuration from $(lastword $(MAKEFILE_LIST))) - -# ============================================================================ -# *** Configuration for gimle-intel-scampi -# ============================================================================ - -COUPLE := [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/oasis3 - -# CHAN : MPI1/MPI2 -CHAN := MPI1 - -# MPI library -MPIDIR := [[[PLT:ACTIVE:MPI_BASE_DIR]]] -ifneq ($(strip $(MPIDIR)),) -MPIBIN := $(MPIDIR)/bin -MPI_INCLUDE := $(MPIDIR)$(addprefix /,[[[PLT:ACTIVE:MPI_INC_SUBDIR]]]) -MPILIB := -L$(MPIDIR)$(addprefix /,[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]) -endif -MPILIB += $(addprefix -l,[[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]]) - -# NETCDF library -NETCDF_DIR := [[[PLT:ACTIVE:NETCDF_BASE_DIR]]] -ifneq ($(strip $(NETCDF_DIR)),) -NETCDF_INCLUDE := $(NETCDF_DIR)$(addprefix /,[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]]) -NETCDF_LIBRARY := -L$(NETCDF_DIR)$(addprefix /,[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]]) -endif -NETCDF_LIBRARY += $(addprefix -l,[[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]]) - -comma := , - -# Compiling and other commands -MAKE := [[[PLT:ACTIVE:MAKE]]] -F90 := [[[PLT:ACTIVE:FC]]] [[[PLT:ACTIVE:FFLAGS_FREEFORM]]] $(addprefix -I,$(MPI_INCLUDE)) -F := [[[PLT:ACTIVE:FC]]] [[[PLT:ACTIVE:FFLAGS_FIXEDFORM]]] -f90 := $(F90) -f := $(F) -CC := [[[PLT:ACTIVE:CC]]] $(addprefix -I,$(MPI_INCLUDE)) -LD := [[[PLT:ACTIVE:LD]]] -AR := [[[PLT:ACTIVE:AR]]] -ARFLAGS := [[[PLT:ACTIVE:ARFLAGS]]] - -# CPP/FPP macros -MACROS := use_libMPI use_comm_$(CHAN) use_netCDF TREAT_OVERLAY -MACROS += [[[PLT:ACTIVE:OASIS_ADD_PPDEFS]]] - -# Compiler options -F90FLAGS := [[[PLT:ACTIVE:FFLAGS]]] -F90FLAGS += [[[PLT:ACTIVE:OASIS_ADD_FFLAGS]]] -F90FLAGS += $(addprefix [[[PLT:ACTIVE:FFLAGS_FPP_PREFIX]]],$(MACROS)) -F90FLAGS += $(addprefix -I,$(NETCDF_INCLUDE)) - -f90FLAGS := $(F90FLAGS) -FFLAGS := $(F90FLAGS) -fFLAGS := $(F90FLAGS) - -CCFLAGS := [[[PLT:ACTIVE:CFLAGS]]] -CCFLAGS += $(addprefix [[[PLT:ACTIVE:CFLAGS_CPP_PREFIX]]],$(MACROS)) -CCFLAGS += $(addprefix -I,$(NETCDF_INCLUDE)) - -LDFLAGS := [[[PLT:ACTIVE:LDFLAGS]]] -LDFLAGS += [[[PLT:ACTIVE:OASIS_ADD_LDFLAGS]]] - -# MPP_IOOPT needed for compiling mpp_io -MPP_IOOPT := diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/util/ec-conf/ec-conf b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/util/ec-conf/ec-conf deleted file mode 100755 index b0b2186dd6dbdaaf98fdad6dab9ef7b89e46933d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/util/ec-conf/ec-conf +++ /dev/null @@ -1,1067 +0,0 @@ -#!/usr/bin/env python - -import sys,os,getopt,stat -# sys.path = ['/usr/local/apps/python/2.7.2-01/lib/python2.7', '/usr/local/apps/python/2.7.2-01/lib/python2.7/lib-dynload'] -sys.path.pop(sys.path.index('/usr/local/apps/python/2.7.2-01/lib/python2.7/site-packages')) -import xml.sax -import re -import operator - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION info <<< -# ------------------------------------------------------------------------------------------------- -def info(s,level=1): - """ @brief Print info to stdout - @param s string to print - """ - if VERBOSE>=level: - sys.stderr.write("*II* %s\n" % s) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION info >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION warning <<< -# ------------------------------------------------------------------------------------------------- -def warning(s): - """ @brief Print warning to stdout - @param s string to print - """ - if WARNING: - sys.stderr.write("*WW* %s\n" % s) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION warning >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION error <<< -# ------------------------------------------------------------------------------------------------- -def error(s): - """ @brief Print error to stdout - @param s string to print - """ - print "*EE* %s " % s - sys.exit(1) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION error >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION usage <<< -# ------------------------------------------------------------------------------------------------- -def usage(myname): - print "\nUsage: %s OPTIONS \n" % (myname) - - print "Read configuration from an XML file and create config files." - - print """ -%s reads a data base of configuration parameters from an XML file. -Subsequently, a number of template files are processed in order to create -configuration files (targets).""" % (myname) - - print """ -Options: -h|--help Print this help screen. - -p|--platform Set the active platform. See ... - -g|--gui Starts the graphical user interface. Turns off -x. - -x|--write-xml Writes the content of in XML format to stdout. - This can be used to normalise the XML file and for test purposes. - -v|--verbose Produces verbose output (stderr). To increase verbosity, - use more than once. - -w|--no-warning Turns off warnings (however, errors are displayed). - """ - sys.exit(2) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION usage >>> -# ------------------------------------------------------------------------------------------------- - -# ================================================================================================= -# *** CLASS TextNode <<< -# ================================================================================================= -class TextNode(object): - def __init__(self): - self.text = "" - - def addText(self,content): - self.text += content -# ================================================================================================= -# *** END of CLASS TextNode >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS NamedNode <<< -# ================================================================================================= -class NamedNode(object): - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __init__ <<< -# ------------------------------------------------------------------------------------------------- - def __init__(self,attr=None): - - self.name = None - self.description = None - - if attr: - if 'name' in attr: - self.name = attr['name'] - - info('Create named node: '+self.name+' ('+self.__class__.__name__+')',level=2) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __init__ >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION set <<< -# ------------------------------------------------------------------------------------------------- - def set(self,key,value): - self.__dict__.__setitem__(key,value) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION set >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION xml <<< -# ------------------------------------------------------------------------------------------------- - def xml(self,level=0): - """Provides XML representation of the NamedNode as a string""" - - tabwidth = 4 - - s = ' '*level*tabwidth - s += '<' + self.__class__.__name__ - if 'name' in self.__dict__ and self.name: - s += ' name="' + self.name + '"' - s += '>\n' - - for e in 'description','template','target','type','value': - if e in self.__dict__: - s += ' '*(level+1)*tabwidth - s += '<' + e.capitalize() + '>' - if self.__dict__[e]: s += self.__dict__[e] - s += '\n' - - if level<=1: s+='\n' - - for e in 'translation','platform','model','parameter': - if e in self.__dict__: - for t in self.__dict__[e]: - s += t.xml(level+1) - - s += ' '*level*tabwidth - s += '\n' - - if level>0 and level<=2: s += '\n' - - return s -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION xml >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION plt <<< -# ------------------------------------------------------------------------------------------------- - def plt(self,name=None): - """Provides short-hand access to the Platform member with name 'name'.""" - if 'platform' in self.__dict__: - if name: - for p in self.platform: - if p.name == name: - return p - else: - return self.platform - return None -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION plt >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION mod <<< -# ------------------------------------------------------------------------------------------------- - def mod(self,name=None): - """Provides short-hand access to the Model member with name 'name'.""" - - if 'model' in self.__dict__: - if name: - for m in self.model: - if m.name == name: - return m - else: - return self.model - return None -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION mod >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION par <<< -# ------------------------------------------------------------------------------------------------- - def par(self,name=None): - """Provides short-hand access to the Parameter member with name 'name'.""" - - if 'parameter' in self.__dict__: - if name: - for p in self.parameter: - if p.name == name: - return p - else: - return self.parameter - return None -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION par >>> -# ------------------------------------------------------------------------------------------------- - -# ================================================================================================= -# *** END of CLASS NamedNode >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Translation <<< -# ================================================================================================= -class Translation(NamedNode): - def __init__(self,attr): - super(Translation,self).__init__(attr) - self.template = None - self.target = None - self.properties = '' - self.isActive = 1 - - def setTarget(self,t): - self.target = t -# ================================================================================================= -# *** END of CLASS Translation >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Platform <<< -# ================================================================================================= -class Platform(NamedNode): - def __init__(self,attr): - super(Platform,self).__init__(attr) - self.parameter = [] - self.translation = [] -# ================================================================================================= -# *** END of CLASS Platform >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Model <<< -# ================================================================================================= -class Model(NamedNode): - def __init__(self,attr): - super(Model,self).__init__(attr) - self.parameter = [] -# ================================================================================================= -# *** END of CLASS Model >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Parameter <<< -# ================================================================================================= -class Parameter(NamedNode): - def __init__(self,attr): - super(Parameter,self).__init__(attr) - self.type = None - self.value = None -# ================================================================================================= -# *** END of CLASS Parameter >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Configuration <<< -# ================================================================================================= -class Configuration(NamedNode,xml.sax.handler.ContentHandler): - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __init__ <<< -# ------------------------------------------------------------------------------------------------- - def __init__(self): - - self.translation = [] - self.platform = [] - self.model = [] - - self.xmlFile = None - self.activePlatform = None - - self.__stack = [] - self.__types = { 'Translation' : Translation, - 'Platform' : Platform, - 'Model' : Model, - 'Parameter' : Parameter } -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __init__ >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION xml <<< -# ------------------------------------------------------------------------------------------------- - def xml(self,level=0): - - s = '\n\n' - s += super(Configuration,self).xml(level) - - return s -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION xml >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION startElement <<< -# ------------------------------------------------------------------------------------------------- - def startElement(self,tag,attributes): - - info("Processing XML element '"+str(tag)+"'",level=3) - - if self.__stack: - if tag in self.__types: - info("Adding NamedNode for element '"+str(tag)+"'",level=3) - self.__stack.append(self.__types[tag](attributes)) - else: - info("Adding TextNode for element '"+str(tag)+"'",level=3) - self.__stack.append(TextNode()) - else: - self.__stack.append(self) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION startElement >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION characters <<< -# ------------------------------------------------------------------------------------------------- - def characters(self,content): - if isinstance(self.__stack[-1],TextNode): - self.__stack[-1].addText(content) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION characters >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION endElement <<< -# ------------------------------------------------------------------------------------------------- - def endElement(self,tag): - n = self.__stack.pop() - if self.__stack: - if isinstance(n,TextNode): - self.__stack[-1].__dict__[tag.lower()] = n.text - else: - self.__stack[-1].__dict__[tag.lower()].append(n) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION endElement >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION parse <<< -# ------------------------------------------------------------------------------------------------- - def parse(self,file): - - parser = xml.sax.make_parser() - parser.setContentHandler(self) - - info("Parsing XML file '%s'" % (file)) - - try: parser.parse(file) - except IOError: - error("Could not open file '"+file+"' for reading") - - info("Finished parsing '%s': Translation: %d Platform: %d Model: %d" % - (file,len(self.translation),len(self.platform),len(self.model))) - self.xmlFile = file -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION parse >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION translate <<< -# ------------------------------------------------------------------------------------------------- - def translate(self,translation): - - RPN_OPS = { - 'ADD' : operator.add, - 'SUB' : operator.sub, - 'MUL' : operator.mul, - 'DIV' : operator.truediv, - 'POW' : operator.pow, - 'MOD' : operator.mod - } - - substRE = re.compile(r"\[\[\[(?P[a-zA-Z0-9_:,]+)\]\]\]") - varRE = re.compile(r"^(\w{3}):([a-zA-Z0-9_]+):([a-zA-Z0-9_]+)$") - - def parseVar(s): # <<< - - while 1: - - m = varRE.search(s) - - if not m: break - - (category,component,parameter) = m.groups() - - if category.lower()=='plt' and component.lower() == 'active': - component = self.activePlatform - - try: s = getattr(self,category.lower())(component).par(parameter).value - except: - warning("Unable to process '%s' (Line %d in '%s')" % (s,line_number,template)) - return '[[['+s+']]]' - return s - # >>> - - def parseRNP(s): # <<< - - stack = [] - - for token in s.split(','): - - token = parseVar(token) - if not token: - warning("Substitute expression with empty string (Line %d in '%s')" % (line_number,template)) - - try: result = int(token) - except ValueError: - - try: result = float(token) - except ValueError: - - if token in RPN_OPS.keys(): - - try: result = RPN_OPS[token](stack.pop(-2),stack.pop()) - except IndexError: - warning("Too few arguments to execute '%s' (Line %d in '%s')" % (token,line_number,template)) - return "[[["+s+"]]]" - except: - warning("Unable to execute '%s' (Line %d in '%s')" % (token,line_number,template)) - return "[[["+s+"]]]" - else: - result = token - - stack.append(result) - - if len(stack)>1: - warning("Too many operands in '%s' (Line %d in '%s')" % (s,line_number,template)) - return "[[["+s+"]]]" - - return result - # >>> - - template = translation.template - target = translation.target.strip() - - info("Translate: '%s' --> '%s'" % (template,target)) - - try: input = open(template,'r') - except IOError: - error("Can't open template file '%s' for reading" % (template)) - - if target: - try: output = open(target,'w') - except IOError: - error("Can't open target file '%s' for writing" % (target)) - - if 'executable' in translation.properties.split(','): - os.chmod(target,stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH | \ - stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH | \ - stat.S_IWUSR) - else: - output = sys.stdout - - line_number = 0 - for line in input: - line_number += 1 - ptr = 0 - buf = '' - for m in substRE.finditer(line): - buf += line[ptr:m.start()] - var = m.groupdict()['var'] - buf += str(parseRNP(var)) - ptr = m.end() - buf += line[ptr:] - - output.write(buf) - - input.close() - if target: output.close() - -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION translate >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION translateAll <<< -# ------------------------------------------------------------------------------------------------- - def translateAll(self): - for t in self.translation: - self.translate(t) - - if self.activePlatform: - for t in self.plt(self.activePlatform).translation: - self.translate(t) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION translateAll >>> -# ------------------------------------------------------------------------------------------------- - -# ================================================================================================= -# *** END of CLASS Configuration >>> -# ================================================================================================= - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION startGUI <<< -# ------------------------------------------------------------------------------------------------- -def startGUI(cfg): - - import Tkinter - import tkFileDialog - import tkMessageBox - -# ================================================================================================= -# *** CLASS VerticalScrolledFrame <<< -# ================================================================================================= - class VerticalScrolledFrame(Tkinter.Frame): - """A pure Tkinter scrollable frame that actually works! - - * Use the 'interior' attribute to place widgets inside the scrollable frame - * Construct and pack/place/grid normally - * This frame only allows vertical scrolling - - http://tkinter.unpythonic.net/wiki/VerticalScrolledFrame - - """ - def __init__(self, parent, *args, **kw): - Tkinter.Frame.__init__(self, parent, *args, **kw) - - # create a canvas object and a vertical scrollbar for scrolling it - vscrollbar = Tkinter.Scrollbar(self, orient=Tkinter.VERTICAL) - vscrollbar.pack(fill=Tkinter.Y, side=Tkinter.RIGHT, expand=Tkinter.FALSE) - canvas = Tkinter.Canvas(self, bd=0, highlightthickness=0, - yscrollcommand=vscrollbar.set) - canvas.pack(side=Tkinter.LEFT, fill=Tkinter.BOTH, expand=Tkinter.TRUE) - vscrollbar.config(command=canvas.yview) - - # reset the view - canvas.xview_moveto(0) - canvas.yview_moveto(0) - - # create a frame inside the canvas which will be scrolled with it - self.interior = interior = Tkinter.Frame(canvas) - interior_id = canvas.create_window(0, 0, window=interior, - anchor=Tkinter.NW) - - # track changes to the canvas and frame width and sync them, - # also updating the scrollbar - def _configure_interior(event): - # update the scrollbars to match the size of the inner frame - size = (interior.winfo_reqwidth(), interior.winfo_reqheight()) - canvas.config(scrollregion="0 0 %s %s" % size) - if interior.winfo_reqwidth() != canvas.winfo_width(): - # update the canvas's width to fit the inner frame - canvas.config(width=interior.winfo_reqwidth()) - interior.bind('', _configure_interior) - - def _configure_canvas(event): - if interior.winfo_reqwidth() != canvas.winfo_width(): - # update the inner frame's width to fill the canvas - canvas.itemconfigure(interior_id, width=canvas.winfo_width()) - canvas.bind('', _configure_canvas) - - return -# ================================================================================================= -# *** END of CLASS VerticalScrolledFrame >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS GUI <<< -# ================================================================================================= - class GUI(Tkinter.Tk): - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __init__ <<< -# ------------------------------------------------------------------------------------------------- - def __init__(self,cfg): - - Tkinter.Tk.__init__(self) - - self.columnconfigure(1,weight=1) - self.rowconfigure(0,pad=10) - self.rowconfigure(2,weight=1) - - self.__cfg = cfg - self.__varList = [] - self.__varDict = {} - - for t in self.__cfg.translation + [t for p in self.__cfg.platform for t in p.translation]: - v = Tkinter.IntVar() - v.set(1) - v.trace('w',lambda n,i,m,t=t: t.set('isActive',int(self.globalgetvar(n)))) - self.__addVar(v,t) - - self.__activeComponent = Tkinter.StringVar() - - self.__status = Tkinter.StringVar() - - self.__componentFrame = None - self.__parameterFrame = None - self.__translationFrame = None - - self.__initTopPanel() - self.__initStatusPanel() - self.__initMainPanel() - - self.grid_propagate(flag=0) - - self.__setStatus("Welcome to EC-CONF's graphical user interface!",time=3000) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __init__ >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __addVar <<< -# ------------------------------------------------------------------------------------------------- - def __addVar(self,var,obj=None): - self.__varList.append(var) - if obj: - self.__varDict[obj] = len(self.__varList)-1 -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __addVar >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __setStatus <<< -# ------------------------------------------------------------------------------------------------- - def __setStatus(self,message,time=8000): - - try: self.after_cancel(self.__statusAfterID) - except: pass - - self.__defaultStatusMessage = 'Basic usage: SELECT XML database and template/target files, ' \ - ' CONFIGURE parameters, ' \ - ' and CREATE the configuration files.' - self.__status.set(message) - self.__statusAfterID = self.after(time,self.__status.set,self.__defaultStatusMessage) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __setStatus >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initTopPanel <<< -# ------------------------------------------------------------------------------------------------- - def __initTopPanel(self): - - w = Tkinter.Label(text='The active platform is:') - w.grid(row=0,column=0) - - if not self.__cfg.activePlatform: - self.__cfg.activePlatform = self.__cfg.platform[0].name - - v = Tkinter.StringVar() - v.set(self.__cfg.activePlatform) - v.trace('w',lambda n,i,m: self.__setStatus("Active platform changed to '"+self.__cfg.activePlatform+"'")) - v.trace('w',lambda n,i,m: self.__fillParameterFrame(self.__parameterFrame)) - v.trace('w',lambda n,i,m: self.__fillComponentFrame(self.__componentFrame)) - v.trace('w',lambda n,i,m: self.__fillTranslationFrame(self.__translationFrame)) - v.trace('w',lambda n,i,m: self.__cfg.set('activePlatform',self.globalgetvar(n))) - self.__addVar(v) - - w = Tkinter.OptionMenu(None,v,*[p.name for p in self.__cfg.platform]) - w.grid(row=0,column=1,sticky='W',padx=8) - - w = Tkinter.Button(text='Select',width=10,height=2,bg='tan') - w['command'] = self.__doSelect - w.grid(row=0,column=2,padx=8) - - w = Tkinter.Button(text='Configure',width=10,height=2,bg='tan') - w['command'] = self.__doConfigure - w.grid(row=0,column=3,padx=8) - - w = Tkinter.Button(text='Create!',width=10,height=2,bg='darkgrey',fg='white') - w['command'] = self.__doCreate - w.grid(row=0,column=4,padx=8) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initTopPanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initStatusPanel<<< -# ------------------------------------------------------------------------------------------------- - def __initStatusPanel(self): - w = Tkinter.Label(textvariable=self.__status,height=2,bg='orange') - w.grid(row=1,column=0,columnspan=5,sticky='EW',pady=5) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initStatusPanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initMainPanel <<< -# ------------------------------------------------------------------------------------------------- - def __initMainPanel(self): - - self.__initSelectPanel() - self.__initConfigurePanel() - - self.__selectPanel.grid_remove() - self.__configurePanel.grid_remove() - - self.__activeMainPanel = self.__selectPanel - self.__activeMainPanel.grid() -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initMainPanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initSelectPanel <<< -# ------------------------------------------------------------------------------------------------- - def __initSelectPanel(self): - - self.__selectPanel = Tkinter.Frame() - self.__selectPanel.grid(row=2,column=0,columnspan=5,sticky='NEWS') - self.__selectPanel.columnconfigure(0,weight=1) - self.__selectPanel.rowconfigure(2,weight=1) - - f = Tkinter.LabelFrame(self.__selectPanel,text='XML database file') - f.grid(sticky='NEWS') - f.columnconfigure(1,weight=1) - - w = Tkinter.Label(f,text='The current file is: ') - w.grid(row=0,column=0,sticky='W') - - v = Tkinter.StringVar() - v.set(self.__cfg.xmlFile) - v.trace('w',lambda n,i,m: self.__cfg.set('xmlFile',self.globalgetvar(n))) - self.__addVar(v,'xmlFile') - - w = Tkinter.Label(f,textvariable=v,bg='darkgrey',fg='white') - w.grid(row=0,column=1,sticky='W') - - w = Tkinter.Button(f,text='Save as',width=8) - w['command'] = lambda :self.__saveAsXmlFile() - w.grid(row=0,column=2,sticky='E',padx=4,pady=5) - - w = Tkinter.Button(f,text='Save',width=8) - w['command'] = lambda :self.__saveXmlFile() - w.grid(row=0,column=3,sticky='E',padx=4,pady=5) - - Tkinter.Frame(self.__selectPanel).grid(pady=5) - - self.__translationFrame = Tkinter.LabelFrame(self.__selectPanel,text='Templates and Targets') - self.__translationFrame.grid(sticky='NEWS') - self.__translationFrame.columnconfigure(1,weight=1) - self.__translationFrame.columnconfigure(3,weight=9) - - self.__fillTranslationFrame(self.__translationFrame) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initSelectPanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initConfigurePanel <<< -# ------------------------------------------------------------------------------------------------- - def __initConfigurePanel(self): - - self.__configurePanel = Tkinter.Frame() - self.__configurePanel.grid(row=2,column=0,columnspan=5,sticky='NEWS') - self.__configurePanel.rowconfigure(0,weight=1) - self.__configurePanel.columnconfigure(2,weight=1) - - # Component frame - self.__componentFrame = Tkinter.LabelFrame(self.__configurePanel,text='Configurable components') - self.__componentFrame.grid(sticky='NEWS') - - self.__fillComponentFrame(self.__componentFrame) - - # Spacer frame - f = Tkinter.Frame(self.__configurePanel) - f.grid(row=0,column=1,padx=2) - - # Parameter frame - f = Tkinter.LabelFrame(self.__configurePanel,text='Configuration parameters') - f.grid(row=0,column=2,sticky='NEWS') - - f = VerticalScrolledFrame(f) - f.pack(fill=Tkinter.BOTH,expand=Tkinter.TRUE) - - self.__parameterFrame = f.interior - self.__parameterFrame.columnconfigure(2,weight=1) - - self.__fillParameterFrame(self.__parameterFrame) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initConfigurePanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __fillTranslationFrame <<< -# ------------------------------------------------------------------------------------------------- - def __fillTranslationFrame(self,frame): - - for w in frame.children.values(): - w.destroy() - - v = Tkinter.IntVar() - v.set(1) - v.trace('w',lambda n,i,m: [ self.__varList[self.__varDict[t]].set(self.globalgetvar(n)) - for t in self.__cfg.translation + - self.__cfg.plt(self.__cfg.activePlatform).translation ]) - self.__addVar(v) - - w = Tkinter.Checkbutton(frame,text='Activate/deactivate all',variable=v) - w.grid(row=0,column=0,sticky='W',pady=5) - - r = 1 - for t in self.__cfg.translation + self.__cfg.plt(self.__cfg.activePlatform).translation: - - w = Tkinter.Checkbutton(frame,text=t.description,variable=self.__varList[self.__varDict[t]]) - w.grid(row=r,column=0,sticky='W',pady=5) - - w = Tkinter.Label(frame,text=t.template,bg='darkgrey',fg='white') - w.grid(row=r,column=1,sticky='E') - - w = Tkinter.Label(frame,text=' --> ') - w.grid(row=r,column=2) - - v = Tkinter.StringVar() - v.set(t.target) - v.trace('w',lambda n,i,m,t=t: t.setTarget(self.globalgetvar(n))) - self.__addVar(v) - w = Tkinter.Entry(frame,textvariable=v) - - w.grid(row=r,column=3,sticky='EW') - r+=1 - -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __fillTranslationFrame >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __fillComponentFrame <<< -# ------------------------------------------------------------------------------------------------- - def __fillComponentFrame(self,frame): - - for w in frame.children.values(): - w.destroy() - - if self.__cfg.activePlatform: - - self.__activeComponent.set(self.__cfg.activePlatform) - - w = Tkinter.Label(frame,text='Active platform') - w.pack(anchor='w') - - c = self.__cfg.plt(self.__cfg.activePlatform) - w = Tkinter.Radiobutton(frame,text=c.name,variable=self.__activeComponent,value=c.name) - w['command'] = lambda:self.__fillParameterFrame(self.__parameterFrame) - w.pack(anchor='w',pady=5) - - if self.__cfg.model: - - if not self.__activeComponent.get(): - self.set(self.__cfg.model[0].name) - - w = Tkinter.Label(frame,text='Configurable models') - w.pack(anchor='w') - - for c in self.__cfg.model: - w = Tkinter.Radiobutton(frame,text=c.name,variable=self.__activeComponent,value=c.name) - w['command'] = lambda:self.__fillParameterFrame(self.__parameterFrame) - w.pack(anchor='w',pady=5) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __fillComponentFrame >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __fillParameterFrame <<< -# ------------------------------------------------------------------------------------------------- - def __fillParameterFrame(self,frame): - - for w in frame.children.values(): - w.destroy() - - for (name,component) in [(c.name,c) for c in self.__cfg.platform + self.__cfg.model]: - if self.__activeComponent.get()==name: - break - - r = 0 - for p in component.par(): - - w = Tkinter.Label(frame,text=p.description,anchor="w",width=35) - w.grid(row=r,column=0,sticky='W') - - w = Tkinter.Label(frame,text='['+str(p.name)+']') - w.grid(row=r,column=1,sticky='W',padx=20) - - v = Tkinter.StringVar() - v.set(p.value) - v.trace('w',lambda n,i,m,p=p: p.set('value',self.globalgetvar(n))) - self.__addVar(v) - w = Tkinter.Entry(frame,textvariable=v) - w.grid(row=r,column=2,sticky='EW') - - r+=1 - - self.__setStatus('Configure parameters for component \''+self.__activeComponent.get()+'\'') -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __fillParameterFrame >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __doSelect <<< -# ------------------------------------------------------------------------------------------------- - def __doSelect(self): - self.__activeMainPanel.grid_remove() - self.__activeMainPanel = self.__selectPanel - self.__activeMainPanel.grid() - self.__setStatus('Select the XML data base file and active translations in the panel below.') -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __doSelect >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __doConfigure <<< -# ------------------------------------------------------------------------------------------------- - def __doConfigure(self): - self.__activeMainPanel.grid_remove() - self.__activeMainPanel = self.__configurePanel - self.__activeMainPanel.grid() - self.__setStatus('Configure the configuration parameters for the available components in the panel below.') -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __doConfigure >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __doCreate <<< -# ------------------------------------------------------------------------------------------------- - def __doCreate(self): - - fw = [] - for t in self.__cfg.translation + self.__cfg.plt(self.__cfg.activePlatform).translation: - if t.isActive: - self.__cfg.translate(t) - fw.append(t.target) - - if fw: - msg = 'Active target files written: '+fw.pop() - while fw: msg += ', '+fw.pop() - else: - msg = 'No targets where written' - - self.__setStatus(msg) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __doCreate >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __saveAsXmlFile <<< -# ------------------------------------------------------------------------------------------------- - def __saveAsXmlFile(self): - f = tkFileDialog.asksaveasfilename(title='Select a file name for saving:', - filetypes=[('XML files','*.xml'),('All files','*')]) - if f: - try: - self.__varList[self.__varDict['xmlFile']].set(os.path.relpath(f)) - except AttributeError: - self.__varList[self.__varDict['xmlFile']].set(os.path.realpath(f)) - self.__saveXmlFile() - else: - self.__setStatus("Current XML file NOT saved") - -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __saveAsXmlFile >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __saveXmlFile <<< -# ------------------------------------------------------------------------------------------------- - def __saveXmlFile(self): - - if os.path.isfile(self.__cfg.xmlFile): - msg = "The file '"+self.__cfg.xmlFile+"' exists. Do you want to replace it?" - if not tkMessageBox.askyesno('Save XML file',msg): return - - try: f = open(self.__cfg.xmlFile,'w') - except IOError: - msg = "The file '"+self.__cfg.xmlFile+"' could not be opened for writing" - tkMessageBox.showerror('Save XML file',msg) - self.__setStatus("XML database NOT saved") - return - - f.write(self.__cfg.xml()) - f.close() - self.__setStatus("XML database saved to file '"+self.__cfg.xmlFile+"'") -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __saveXmlFile >>> -# ------------------------------------------------------------------------------------------------- - -# ================================================================================================= -# *** END of CLASS GUI >>> -# ================================================================================================= - - root = GUI(cfg) - root.title('ec-conf GUI') - - minWindowWidth = min(900,int(0.9*root.winfo_screenwidth())) - minWindowHeight = min(800,int(0.9*root.winfo_screenheight())) - root.minsize(minWindowWidth,minWindowHeight) - - root.resizable() - root.mainloop() -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION startGUI >>> -# ------------------------------------------------------------------------------------------------- - -if __name__ == "__main__": - - # Try to get command line options and arguments - try: opts,args = getopt.getopt(sys.argv[1:],"hp:gxvw",["help","platform=","gui","write-xml","verbose","no-warning"]) - except getopt.GetoptError: - usage(os.path.split(sys.argv[0])[-1]) - - # Default values, to be overwritten by command line options - WARNING = 1 - VERBOSE = 0 - writeXML = False - wantGUI = False - platform = None - - # Parse command line options - for opt,arg in opts: - if opt in ('-h','--help'): - usage(os.path.split(sys.argv[0])[-1]) - elif opt in ('-p','--platform'): - platform = arg - elif opt in ('-g','--gui'): - wantGUI = True - elif opt in ('-x','--write-xml'): - writeXML = True - elif opt in ('-v','--verbose'): - VERBOSE += 1 - elif opt in ('-w','--no-warning'): - WARNING=0 - - # The XML file is all that should be left on the command line - if len(args)!=1: - usage(os.path.split(sys.argv[0])[-1]) - - # Create the Configuration object and fill the data structures by parsing the XML file - cfg = Configuration() - - try: cfg.parse(args[0]) - except xml.sax._exceptions.SAXParseException, e: - msg = 'XML parse error: ' - msg += "'"+e._msg+"'" - msg += " (line %s, column %s in file '%s')" % (e._linenum,e._colnum,e._systemId) - error(msg) - - # If a platform was given on the command line, try to set it - if platform: - if cfg.plt(platform): - cfg.activePlatform = platform - else: - error("Platform '%s' not defined in the configuration file '%s'" % (platform,args[0])) - elif not wantGUI: - warning('No active platform given') - - # Select activity to be done according to the command line options - # Default is to translate all Translations in the Configuration - if wantGUI: - info("Starting GUI") - startGUI(cfg) - elif writeXML: - sys.stdout.write(cfg.xml()) - else: - cfg.translateAll() diff --git a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/util/makedepf90/bin/makedepf90-ecmwf b/deploy/patches/ecmwf/ecearth/v3.0.1/sources/util/makedepf90/bin/makedepf90-ecmwf deleted file mode 100755 index 660ffdd23ec67f6aaeb1ed36f07596b61142e90d..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0.1/sources/util/makedepf90/bin/makedepf90-ecmwf and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0/doc/compiling-and-running-short-guide.pdf b/deploy/patches/ecmwf/ecearth/v3.0/doc/compiling-and-running-short-guide.pdf deleted file mode 100644 index e4dbe4c704d988f4054495fe4475ab040d28689e..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0/doc/compiling-and-running-short-guide.pdf and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0/doc/ec-conf-manual.pdf b/deploy/patches/ecmwf/ecearth/v3.0/doc/ec-conf-manual.pdf deleted file mode 100644 index 80a37a715081b9c8b34128061838405e881a0458..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0/doc/ec-conf-manual.pdf and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0/doc/src/compiling-and-running-short-guide.odt b/deploy/patches/ecmwf/ecearth/v3.0/doc/src/compiling-and-running-short-guide.odt deleted file mode 100644 index efd16cdaa92b19a8894175f489143833f87ceafb..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0/doc/src/compiling-and-running-short-guide.odt and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0/doc/src/ec-conf-manual.odt b/deploy/patches/ecmwf/ecearth/v3.0/doc/src/ec-conf-manual.odt deleted file mode 100644 index 1600c33551e1952bab7132731393d9bb3e81b379..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0/doc/src/ec-conf-manual.odt and /dev/null differ diff --git a/deploy/patches/ecmwf/ecearth/v3.0/runtime/ctrl/namcouple.sh b/deploy/patches/ecmwf/ecearth/v3.0/runtime/ctrl/namcouple.sh deleted file mode 100755 index 13db2656e272cb8c8e7baaace8baa312ce4ee07c..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/runtime/ctrl/namcouple.sh +++ /dev/null @@ -1,277 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ECE3 - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 4 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 4 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/runtime/ecmwf-run-atm.sh b/deploy/patches/ecmwf/ecearth/v3.0/runtime/ecmwf-run-atm.sh deleted file mode 100755 index f08d5110a7a0d5c7429b2b6a7b24ad26aab9aa90..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/runtime/ecmwf-run-atm.sh +++ /dev/null @@ -1,343 +0,0 @@ -#@ shell = /usr/bin/ksh - - # Specifies the shell that parses the script. If not - # specified, your login shell will be used. - -#@ class = np - - # Specifies that your job should be run in the class (queue) - # np, which is used to run parallel jobs. - -#@ job_type = parallel - - # Specifies that your job is parallel - -#@ job_name = ecearth3 - - # Assigns the specified name to the request - -#@ output = $(job_name).$(schedd_host).$(jobid).out - - # Specifies the name and location of STDOUT. If not given, the - # default is /dev/null. The file will be written in the - # submitting directory, by default. - -#@ error = $(job_name).$(schedd_host).$(jobid).err - - # Specifies the name and location of STDERR. If not given, the - # default is /dev/null. The file will be written in the - # submitting directory, by default. - -#@ notification = always - - # Specifies that email should be sent only if the job fails. - # Other options include: always, complete, start, and - # never. The default is notification = complete. - -#@ resources = ConsumableCpus(1) ConsumableMemory(1200mb) - - # Specifies quantities of the resources which will be 'consumed' - # by each process/task of a job step. ConsumableCpus and - # ConsumableMemory must be specified with a value which is - # greater than zero. - # The value ConsumableCpus indicates the number of threads per - # (MPI) process/task. This job will be run using 1 thread - # per MPI process/task. - # The value ConsumableMemory specifies the (real) memory per - # (MPI) process/task which is shared between threads. This job - # will request 100 megabytes of real memory. - -#@ node = 4 - - # Specifies that your job requires 2 nodes - -#@ tasks_per_node = 32 - - # Specifies the number of (MPI) processes/tasks of a parallel job - # you want to run per node. In this example your job requires - # 32 processes/tasks per node. - -#@ cpu_limit = 12:00:00 - - # Specifies the maximum CPU time in HH:MM:SS used by any single process. - # In this job 1 MPI process/task can use up to a total of 1 min CPU time. - # Note: All limits are capped by those specified in the class. - -#@ wall_clock_limit = 24:00:00 - - # Specifies that your job requires HH:MM:SS of wall clock - # time. This job requires 3 min of wall clock time. - # Note: All limits are capped by those specified in the class. - -#@ queue -set -xv -exp_name=IFS3 -alias gdate='/opt/freeware/bin/date' - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 10 years" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=true - -# Resolution -ifs_grid=T255L91 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 year" - -# Coupling frequency [hrs] -cpl_freq_hrs=0 - -# Directories -start_dir=${PWD} -ctrl_file_dir=${start_dir}/ctrl - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- - -# Configure paths for building/running EC-Earth -ecearth_source_dir=/perm/ms/se/sm0g/Projects/ecearth3-c1a -run_dir=${TEMP}/${USER}/run/${exp_name} -ini_data_dir=${PERM}/ecearth3/setup - -stdout_file=${start_dir}/out/out.out - -# Configure grib api paths -export GRIB_DEFINITION_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/share/definitions -export GRIB_SAMPLES_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/ifs_samples/grib1 -export GRIB_BIN_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/bin64 - - -# Configure number of processors per node -#proc_per_node=32 - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -ifs_time_step_sec=2700 - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 1 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 1 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]\*\)L\([0-9]\*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]\*\)L\([0-9]\*\):\2:') - -ifs_numproc=128 - -ifs_exe_file=${ecearth_source_dir}/ifs-${ifs_version}/bin/ifsmaster-${build_arch} - -ifs_lastout=false - -ifs_cmip5=FALSE -ifs_cmip5_rcp=0 -ifs_volcanoes=FALSE - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(gdate -uR -d "${run_start_date}") -run_end_date=$(gdate -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(gdate -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(gdate -d "${leg_end_date}" +%s) -gt $(gdate -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(gdate -d "${leg_end_date}" +%s) - $(gdate -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(gdate -d "${leg_start_date}" +%s) - $(gdate -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(gdate -d "${leg_end_date}" +%s) - $(gdate -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(gdate -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(gdate -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(gdate -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/climate/ICMSEAECE3INIT \ - ICMSEA${exp_name}INIT - - # Other stuff - ln -s ${ini_data_dir}/ifs/postins - ln -s ${ini_data_dir}/ifs/dirlist - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS namelist file -case ${ifs_grid} in - T255L91) . ${ctrl_file_dir}/namelist.ifs-T255L91.sh > fort.4 - ;; - *) . ${ctrl_file_dir}/namelist.ifs-default.sh > fort.4 - ;; -esac - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ -grib_set=${GRIB_BIN_PATH}${GRIB_BIN_PATH:+/}grib_set - -# Create data for december, the year before the leg starts -${grib_set} \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - ${grib_set} -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -${grib_set} -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - - -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=no - -./${ifs_exe_file##*/} -v ecmwf -e ${exp_name} diff --git a/deploy/patches/ecmwf/ecearth/v3.0/runtime/ecmwf-run.sh b/deploy/patches/ecmwf/ecearth/v3.0/runtime/ecmwf-run.sh deleted file mode 100755 index 0dccc35bcb01a250edaddf4026a1baeaf4e3356d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/runtime/ecmwf-run.sh +++ /dev/null @@ -1,543 +0,0 @@ -#@ shell = /usr/bin/ksh - - # Specifies the shell that parses the script. If not - # specified, your login shell will be used. - -#@ class = np - - # Specifies that your job should be run in the class (queue) - # np, which is used to run parallel jobs. - -#@ job_type = parallel - - # Specifies that your job is parallel - -#@ job_name = ecearth3 - - # Assigns the specified name to the request - -#@ output = $(job_name).$(schedd_host).$(jobid).out - - # Specifies the name and location of STDOUT. If not given, the - # default is /dev/null. The file will be written in the - # submitting directory, by default. - -#@ error = $(job_name).$(schedd_host).$(jobid).err - - # Specifies the name and location of STDERR. If not given, the - # default is /dev/null. The file will be written in the - # submitting directory, by default. - -#@ notification = always - - # Specifies that email should be sent only if the job fails. - # Other options include: always, complete, start, and - # never. The default is notification = complete. - -#@ resources = ConsumableCpus(1) ConsumableMemory(1200mb) - - # Specifies quantities of the resources which will be 'consumed' - # by each process/task of a job step. ConsumableCpus and - # ConsumableMemory must be specified with a value which is - # greater than zero. - # The value ConsumableCpus indicates the number of threads per - # (MPI) process/task. This job will be run using 1 thread - # per MPI process/task. - # The value ConsumableMemory specifies the (real) memory per - # (MPI) process/task which is shared between threads. This job - # will request 100 megabytes of real memory. - -#@ node = 2 - - # Specifies that your job requires 2 nodes - -#@ tasks_per_node = 32 - - # Specifies the number of (MPI) processes/tasks of a parallel job - # you want to run per node. In this example your job requires - # 32 processes/tasks per node. - -#@ cpu_limit = 12:00:00 - - # Specifies the maximum CPU time in HH:MM:SS used by any single process. - # In this job 1 MPI process/task can use up to a total of 1 min CPU time. - # Note: All limits are capped by those specified in the class. - -#@ wall_clock_limit = 24:00:00 - - # Specifies that your job requires HH:MM:SS of wall clock - # time. This job requires 3 min of wall clock time. - # Note: All limits are capped by those specified in the class. - -#@ queue - -set -vuex -alias gdate='/opt/freeware/bin/date' - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE4 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 10 years" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=true - -# Resolution -ifs_grid=T255L91 -nem_grid=ORCA1L46 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="2 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=3 - -# Directories -start_dir=${PWD} -ctrl_file_dir=${start_dir}/ctrl - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -# Configure paths for building/running EC-Earth -ecearth_source_dir=${PERM}/Projects/ecearth3-c1a -run_dir=${TEMP}/${USER}/run/${exp_name} -ini_data_dir=${PERM}/ecearth3/setup - -# File for standard output. -stdout_file=${start_dir}/out/out.out - -# Configure grib api paths -export GRIB_DEFINITION_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/share/definitions -export GRIB_SAMPLES_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/ifs_samples/grib1 -export GRIB_BIN_PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/bin64 - - -# Configure and load modules -pre_load_modules_cmd="" -module_list="" - - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -ifs_time_step_sec=2700 - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\2:') - -ifs_numproc=38 - -ifs_exe_file=${ecearth_source_dir}/ifs-${ifs_version}/bin/ifsmaster-${build_arch} - -ifs_lastout=false - -ifs_cmip5=FALSE -ifs_cmip5_rcp=0 -ifs_volcanoes=FALSE - -# ----------------------------------------------------------------------------- -# *** NEMO/LIM configuration -# ----------------------------------------------------------------------------- - -nem_version=3.3.1 -lim_version=3 - -nem_time_step_sec=3600 -lim_time_step_sec=3600 - -nem_res_hor=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\1:') -nem_res_ver=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\2:') - -nem_exe_file=${ecearth_source_dir}/nemo-${nem_version}/CONFIG/${nem_grid}_LIM${lim_version}/BLD/bin/nemo.exe - -nem_numproc=18 - -# ----------------------------------------------------------------------------- -# *** OASIS configuration -# ----------------------------------------------------------------------------- - -oas_namcut_script=${ecearth_source_dir}/util/namcouple-split/namsplit.pl - -oas_numproc=8 - -# Flux correction that compensates for the mismatch between P-E over the ocean, -# and run-off from land (necessary to avoid sea level rise). -# The RUNOFF and CALVING coupling fields are multiplied by this factor. See -# documentation on the EC-Earth 3 Wiki for more details. -oas_rnf_fluxcorr=0.87 - -oas_exe_file=${ecearth_source_dir}/oasis3/${build_arch}/bin/oasis3.MPI1.x - -# Restart files for the coupling fields -oas_cpl_flds="TAUX_OCE TAUY_OCE TAUX_ICE TAUY_ICE \ - QS___OCE QS___ICE QNS__OCE QNS__ICE DQDT_ICE \ - PRCP_LIQ PRCP_SOL EVAP_TOT EVAP_ICE RNF__OCE CALV_OCE \ - O_SSTSST O_TepIce O_AlbIce OIceFrac O_IceTck O_SnwTck" - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(gdate -uR -d "${run_start_date}") -run_end_date=$(gdate -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(gdate -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(gdate -d "${leg_end_date}" +%s) -gt $(gdate -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(gdate -d "${leg_end_date}" +%s) - $(gdate -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(gdate -d "${leg_start_date}" +%s) - $(gdate -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(gdate -d "${leg_end_date}" +%s) - $(gdate -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(gdate -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(gdate -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(gdate -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - ln -s ${nem_exe_file} - ln -s ${oas_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - # Other stuff - ln -s ${ini_data_dir}/ifs/postins - ln -s ${ini_data_dir}/ifs/dirlist - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - - # ------------------------------------------------------------------------- - # *** Files needed for NEMO (linked) - # ------------------------------------------------------------------------- - - # Various stuff - ln -s ${ini_data_dir}/nemo/${nem_grid}/bathy_meter.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/coordinates.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/ahmcoef - - # IOM files - ln -s ${ctrl_file_dir}/xmlio_server.def - ln -s ${ctrl_file_dir}/iodef.xml - - # ------------------------------------------------------------------------- - # *** Files needed for OASIS (linked) - # ------------------------------------------------------------------------- - - # Name table file - ln -s ${ini_data_dir}/oasis/cf_name_table.txt - - oas_grid_dir=${ini_data_dir}/oasis/T${ifs_res_hor}-ORCA${nem_res_hor} - - # Grid definition files - ln -s ${oas_grid_dir}/areas.nc - ln -s ${oas_grid_dir}/grids.nc - ln -s ${oas_grid_dir}/masks.nc - - # Weight files - case ${ifs_res_hor} in - 159) oas_agrd=080 - ;; - 255) oas_agrd=128 - ;; - 511) oas_agrd=256 - ;; - 799) oas_agrd=400 - ;; - *) error "Unsupported horizontal resolution (IFS): ${ifs_res_hor}" - ;; - esac - - case ${nem_res_hor} in - 1) oas_ogrd=O1t0 - ;; - 025) oas_ogrd=Ot25 - ;; - *) error "Unsupported horizontal resolution (NEMO): ${nem_res_hor}" - ;; - esac - - for n in $(seq 0 $((oas_numproc-1)) ) - do - ln -s \ - ${oas_grid_dir}/rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT.nc \ - rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT_${n}.nc - ln -s \ - ${oas_grid_dir}/rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT.nc \ - rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT_${n}.nc - done - - for f in ${oas_cpl_flds} - do - cp ${oas_grid_dir}/rst/$f . - done - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS, NEMO, LIM namelist and OASIS namcouple files -case ${ifs_grid} in - T255L91) . ${ctrl_file_dir}/namelist.ifs-T255L91.sh > fort.4 - ;; - *) . ${ctrl_file_dir}/namelist.ifs-default.sh > fort.4 - ;; -esac -. ${ctrl_file_dir}/namelist.nemo-${nem_grid}.sh > namelist -. ${ctrl_file_dir}/namelist.lim${lim_version}-ORCA${nem_res_hor}.sh > namelist_ice -. ${ctrl_file_dir}/namcouple.sh > namcouple - -# Split OASIS namcouple file (if necessary) -if (( oas_numproc == 1 )) -then - ln -s namcouple namcouple_0 -elif [ -n "$oas_namcut_script" -a -x $oas_namcut_script ] -then - ${oas_namcut_script} ${oas_numproc} namcouple -else - error "Couldn't run script to split the OASIS namcouple file (\$oas_namcut_script)." -fi - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ -grib_set=${GRIB_BIN_PATH}${GRIB_BIN_PATH:+/}grib_set - -# Create data for december, the year before the leg starts -${grib_set} \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy} ) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - ${grib_set} -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -${grib_set} -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Link the appropriate NEMO restart files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - ns=$(printf %08d $(( leg_start_sec / nem_time_step_sec ))) - for n in $( seq 0 $((nem_numproc-1)) ) - do - np=$(printf %04d ${n}) - ln -fs ${exp_name}_${ns}_restart_oce_${np}.nc restart_oce_${np}.nc - ln -fs ${exp_name}_${ns}_restart_ice_${np}.nc restart_ice_${np}.nc - done -fi - -# ----------------------------------------------------------------------------- -# *** Remove some OASIS files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - rm -f anaisout_* -fi - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=yes -export OASIS3DEBUGLEVEL=2 - -# Use the launch function from the platform configuration file -t1=$(gdate +%s) -rm -f configmpmd -for node in $(seq 1 $oas_numproc) -do - echo "$oas_exe_file" >> configmpmd -done - -for node in $(seq 1 $ifs_numproc) -do - echo "$ifs_exe_file -v ecmwf -e $exp_name" >> configmpmd -done - -for node in $(seq 1 $nem_numproc) -do - echo "$nem_exe_file" >> configmpmd -done - -t2=$(gdate +%s) -/usr/bin/poe -pgmmodel mpmd -cmdfile configmpmd -tr=$(gdate -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `gdate '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="NODE.001_01 rcf $oas_cpl_flds" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -exit 0 diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/compilation.cmd b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/compilation.cmd deleted file mode 100755 index 05d7f86ebba683b3a8005d15dcd2c26d01902c32..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/compilation.cmd +++ /dev/null @@ -1,394 +0,0 @@ -#!/bin/ksh - -# nohup ./compilation.cmd >& compiation.log & - -module add python/2.7.2-01 -PATH=/perm/ms/spesiccf/c3m/opt/make-3.81:${PATH} - -set -xuve -date - -MPI= -LAPACK=/usr/local/apps/lapack/3.1.1/LP64 -SZIP=/usr/local/apps/szip/2.1/LP64 -HDF5=/usr/local/apps/hdf5/1.8.9/LP64 -NetCDF=/usr/local/apps/netcdf4/4.1.3/LP64 -GribAPI=/usr/local/lib/metaps/lib/grib_api/1.9.16 -GribEX=/perm/ms/spesiccf/c3m/opt/gribex_000370/ibm-xlc -JASPER=/usr/local/apps/jasper/1.900.1/LP64 - -cd .. -export ECEARTH=$(pwd) -cd - - -PLATFORM=ecmwf-xlc-poe -CONFIG=config.xml - -cat > $CONFIG < - - - - - Nemo 3.3.1 config file - - nemo-3.3.1/ARCH/arch-ecconf.fcm - - - - - IFS/36r4 makefile configuration - - ifs-36r4/Makefile.d/Makefile.config.ecconf - - - - - OASIS makefile configuration - - oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf - - - - - - HOST: c2a at ecmwf - ARCH: AIX - CPU MODEL: IBM Power7 - COMPILER: IBM XL - MPI: IBM POE - BLAS/LAPACK: IBM ESSL - - - - EC-Earth base directory - PATH - $ECEARTH - - - - MPI base directory - PATH - - - - - MPI include directory relative to base dir - PATH - - - - - MPI lib directory relative to base dir - PATH - - - - - MPI libraries (without -l prefix) - STRING - - - - - LAPACK base directory - PATH - $LAPACK - - - - LAPACK lib directory relative to base dir - PATH - - - - - LAPACK libraries (without -l prefix) - STRING - lapack_essl essl - - - - NetCDF base directory - PATH - $NetCDF - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf netcdff - - - - GRIB API base directory - PATH - $GribAPI - - - - GRIB API include directory relative to base dir - PATH - include64 - - - - GRIB API lib directory relative to base dir - PATH - lib64 - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api grib_api_f90 - - - - GRIBEX base directory - PATH - $GribEX - - - - GRIBEX lib directory relative to base dir - PATH - lib - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - Fortran 90 Compiler - STRING - mpxlf90 - - - - General F90 flags for compiling - STRING - -O2 -g -q64 -qrealsize=8 -qport=mod -qspillsize=8162 - - - - Allow for free format Fortran - STRING - -qfree=f90 - - - - Expect fixed Fortran format - STRING - -qfixed - - - - Fortran preprocessor flag prefix - STRING - -WF\$(comma)-D - - - - C Compiler - STRING - xlc - - - - General C flags for compiling - STRING - -O2 -g -q64 - - - - C preprocessor flag prefix - STRING - -D - - - - Linker - STRING - mpxlf90 - - - - General flags for linking - STRING - -O2 -g -q64 -qarch=auto -qrealsize=8 -L${HDF5}/lib -lhdf5 -lhdf5_hl -L${SZIP}/lib -lsz -lz -L${JASPER}/lib -ljasper - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - -curv -X64 - - - - Flags for library building command (When using ar: include u) - STRING - -p -X64 - - - - C preprocessor command - STRING - - - - - C preprocessor flags - STRING - - - - - More F90 flags for Oasis - STRING - - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - POINTER_64 BLAS DOUBLE_KIND_EQUALS_REAL - - - - More F90 flags for ifs/ifsaux - STRING - - - - - Additional Fortran compiler flags for EMOSLIB - STRING - -i4 - - - - Fortran preprocessor defs for EMOSLIB - STRING - linux LITTLE_ENDIAN POINTER_64 INTEGER_IS_INT REAL_8 REAL_BIGGER_THAN_INTEGER - - - - C preprocessor defs for EMOSLIB - STRING - \$(EMOS_FPPDEFS) FOPEN64 - - - - F90 dependency generator - STRING - \$(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90-ecmwf - - - - - -EOF -cat $CONFIG - -# MAKEDEP90 Compilation -# ===================== - -#if [ ! -d makedepf90-2.8.8 ]; then -# tar -zxvf ../util/makedepf90/src/makedepf90-2.8.8.tar.gz -# cd makedepf90-2.8.8 -# ./configure --prefix=$ECEARTH/util/makedepf90/ -# make -# make install -# cd - -#fi - -# EC-CONF Usage -# ============= - -cd .. -$ECEARTH/util/ec-conf/ec-conf --platform $PLATFORM build-config/$CONFIG -BA=ecconf # Build Arch -cd - - -# OASIS Compilation -# ================= - -cd $ECEARTH/oasis*/util/make_dir/ -#make realclean -f TopMakefileOasis3 BUILD_ARCH=$BA -make -f TopMakefileOasis3 BUILD_ARCH=$BA - -# NEMO Compilation -# ================ - -cd $ECEARTH/nemo*/CONFIG/ -nemo_configs=`ls -1 | grep ORCA` -#set +e -#./makenemo clean -#set -e -for nemo_config in $nemo_configs; do - ./makenemo -m $BA -n $nemo_config -j 8 -done - -# IFS Compilation -# =============== - -cd $ECEARTH/ifs*/ -#make clean BUILD_ARCH=$BA -#make realclean BUILD_ARCH=$BA -#make dep-clean BUILD_ARCH=$BA -make -j 8 BUILD_ARCH=$BA lib -make BUILD_ARCH=$BA master - -date diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/cp.cmd b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/cp.cmd deleted file mode 100755 index e0dc239d47fd91203798f41a4e04bfdcd9ff8cab..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/cp.cmd +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/ksh - -bin=bin - -while getopts b: option -do - case $option in - b) bin=$OPTARG;; - \?) exit 1;; - esac -done - -set -xuve - -bin="../../../$bin" -mkdir -p $bin -ls -lrt $bin - -cp -p ../oasis3/*con*/bin/oasis3.MPI1.x $bin -for nemo_config in `ls -1 ../nemo*/CONFIG | grep ORCA`; do - mkdir -p $bin/$nemo_config - cp -pf ../nemo-3.3.1/CONFIG/$nemo_config/BLD/bin/*.exe $bin/$nemo_config -done -cp -p ../ifs-36r4/bin/ifsmaster-*con* $bin - -ls -lrt $bin diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/run-atm.cmd b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/run-atm.cmd deleted file mode 100755 index 002d88dbc02b5a1f975f4f3326787ea8624270b1..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/run-atm.cmd +++ /dev/null @@ -1,373 +0,0 @@ -#!/bin/ksh -############################################################################### -# RUN EC_EARTH -############################################################################### -#@ shell = /usr/bin/ksh -#@ class = np -#@ job_type = parallel -#@ job_name = run-atm -#@ output = $(job_name).$(jobid).out -#@ error = $(job_name).$(jobid).err -#@ notification = error -#@ resources = ConsumableCpus(1) ConsumableMemory(1200mb) -#@ ec_smt = no -#@ total_tasks = 48 -#@ wall_clock_limit = 00:30:00 -#@ queue -# -############################################################################### - -# modules setup - -# setup the grib_api env. -PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/bin64:$PATH -PATH=/opt/freeware/bin:$PATH - -set -xuve -# module list - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# Switch between LOW, STANDARD and HIGH RESOLUTION by setting: -# -# -------------------------------------------------- -# Parameter lowres stdres highres -# -------------------------------------------------- -# ifs_grid T159L62 T255 T799 -# nem_grid ORCA1L46 ORCA1L46 ORCA025L46 -# ifs_time_step_sec 3600 2700 720 -# nem_time_step_sec 3600 3600 1200 -# -------------------------------------------------- -# -# Change also: -# exp_name -# run_start_date (lo:1990/std:1996/hi:1996) -# ifs_numproc -# nem_numproc -# run_dir -# and make sure to use the appropriate NEMO executable -# ----------------------------------------------------------------------------- - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -ifs_grid=T255L62 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=0 - -# Directories -ecearth_base_dir=/perm/ms/spesiccf/c3m/models/ecearth/v3.0 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/ms/spesiccf/$USER/test/run_${ifs_grid}_atm_${LOADL_STEP_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -grib_api_path=/usr/local/lib/metaps/lib/grib_api/1.9.16 - -export GRIB_DEFINITION_PATH=${grib_api_path}/share/definitions -export GRIB_SAMPLES_PATH=${grib_api_path}/ifs_samples/grib1 -export GRIB_BIN_PATH=${grib_api_path}/bin64 - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -case ${ifs_grid} in - T159*) ifs_time_step_sec=3600 ;; - T255*) ifs_time_step_sec=2700 ;; - T511*) ifs_time_step_sec=900 ;; - T799*) ifs_time_step_sec=720 ;; - *) error "Unsupported grid type: ${ifs_grid}" - ;; -esac - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]\*\)L\([0-9]\*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]\*\)L\([0-9]\*\):\2:') - -ifs_numproc=48 - -ifs_exe_file=${bin_dir}/ifsmaster-${build_arch} - -ifs_lastout=true - -ifs_cmip5=FALSE -ifs_cmip5_rcp=0 -ifs_volcanoes=FALSE -ifs_ncmip5fixyr=0 - -nprtrv=1 - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - # Other stuff - ln -s ${ini_data_dir}/ifs/postins - ln -s ${ini_data_dir}/ifs/dirlist - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS, NEMO, LIM namelist and OASIS namcouple files -. ${ctrl_file_dir}/namelist.ifs-${ifs_grid}.sh > fort.4 - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ - -# Create data for december, the year before the leg starts -grib_set \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - grib_set -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -grib_set -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -ln -sf ${ini_data_dir}/ifs/${ifs_grid}/climate/ICMSEAECE3INIT ICMSEA${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=simulate -export OASIS3DEBUGLEVEL=3 - -### --- PLATFORM DEPENDENT CODE --- -# ulimit -s unlimited -### --- END of PLATFORM DEPENDENT CODE --- - -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -rm -f model.conf -for node in $(seq 1 $ifs_numproc) -do - echo "$ifs_exe_file -v ecmwf -e $exp_name" >> model.conf -done - -/usr/bin/poe -pgmmodel mpmd -cmdfile model.conf -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="NODE.001_01 rcf $oas_cpl_flds" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/run.cmd b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/run.cmd deleted file mode 100755 index 3c8aefbad8d498a41874e4cb8708e861f99a7934..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/run.cmd +++ /dev/null @@ -1,537 +0,0 @@ -#!/bin/ksh -############################################################################### -# RUN EC_EARTH -############################################################################### -#@ shell = /usr/bin/ksh -#@ class = np -#@ job_type = parallel -#@ job_name = run -#@ output = $(job_name).$(jobid).out -#@ error = $(job_name).$(jobid).err -#@ notification = error -#@ resources = ConsumableCpus(1) ConsumableMemory(1200mb) -#@ ec_smt = no -#@ total_tasks = 55 -#@ wall_clock_limit = 00:30:00 -#@ queue -# -############################################################################### - -# modules setup - -# setup the grib_api env. -PATH=/usr/local/lib/metaps/lib/grib_api/1.9.16/bin64:$PATH -PATH=/opt/freeware/bin:$PATH - -set -xuve -#module list - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# Switch between LOW, STANDARD and HIGH RESOLUTION by setting: -# -# -------------------------------------------------- -# Parameter lowres stdres highres -# -------------------------------------------------- -# ifs_grid T159L62 T255 T799 -# nem_grid ORCA1L46 ORCA1L46 ORCA025L46 -# ifs_time_step_sec 3600 2700 720 -# nem_time_step_sec 3600 3600 1200 -# -------------------------------------------------- -# -# Change also: -# exp_name -# run_start_date (lo:1990/std:1996/hi:1996) -# ifs_numproc -# nem_numproc -# run_dir -# and make sure to use the appropriate NEMO executable -# ----------------------------------------------------------------------------- - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -ifs_grid=T255L62 -nem_grid=ORCA1L46 -lim=LIM2 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=3 - -# Directories -ecearth_base_dir=/perm/ms/spesiccf/c3m/models/ecearth/v3.0 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/ms/spesiccf/$USER/test/run_${ifs_grid}_${nem_grid}_${LOADL_STEP_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -grib_api_path=/usr/local/lib/metaps/lib/grib_api/1.9.16 - -export GRIB_DEFINITION_PATH=${grib_api_path}/share/definitions -export GRIB_SAMPLES_PATH=${grib_api_path}/ifs_samples/grib1 -export GRIB_BIN_PATH=${grib_api_path}/bin64 - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -case ${ifs_grid} in - T159*) ifs_time_step_sec=3600 ;; - T255*) ifs_time_step_sec=2700 ;; - T511*) ifs_time_step_sec=900 ;; - T799*) ifs_time_step_sec=720 ;; - *) error "Unsupported grid type: ${ifs_grid}" - ;; -esac - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\2:') - -ifs_numproc=32 - -ifs_exe_file=${bin_dir}/ifsmaster-${build_arch} - -ifs_lastout=true - -ifs_cmip5=FALSE -ifs_cmip5_rcp=0 -ifs_volcanoes=FALSE -ifs_ncmip5fixyr=0 - -nprtrv=1 - -# ----------------------------------------------------------------------------- -# *** NEMO/LIM configuration -# ----------------------------------------------------------------------------- - -nem_version=3.3.1 -lim_version=$(echo $lim | cut -d 'M' -f 2) - -case ${nem_grid} in - ORCA1*) nem_time_step_sec=3600 ;; - ORCA025*) nem_time_step_sec=1200 ;; - *) error "Unsupported grid type: ${nem_grid}" - ;; -esac -lim_time_step_sec=3600 - -nem_res_hor=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\1:') -nem_res_ver=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\2:') - -nem_exe_file=${bin_dir}/${nem_grid}_${lim}/nemo.exe - -nem_numproc=16 - -advsch=tvd -rstctl=1 - -# ----------------------------------------------------------------------------- -# *** OASIS configuration -# ----------------------------------------------------------------------------- - -oas_namcut_script=${ecearth_base_dir}/sources/sources/util/namcouple-split/namsplit.pl - -oas_numproc=7 - -# Flux correction that compensates for the mismatch between P-E over the ocean, -# and run-off from land (necessary to avoid sea level rise). -# The RUNOFF and CALVING coupling fields are multiplied by this factor. See -# documentation on the EC-Earth 3 Wiki for more details. -oas_rnf_fluxcorr=0.87 - -oas_exe_file=${bin_dir}/oasis3.MPI1.x - -# Restart files for the coupling fields -oas_cpl_flds="TAUX_OCE TAUY_OCE TAUX_ICE TAUY_ICE \ - QS___OCE QS___ICE QNS__OCE QNS__ICE DQDT_ICE \ - PRCP_LIQ PRCP_SOL EVAP_TOT EVAP_ICE RNF__OCE CALV_OCE \ - O_SSTSST O_TepIce O_AlbIce OIceFrac O_IceTck O_SnwTck" - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - ln -s ${nem_exe_file} - ln -s ${oas_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - # Other stuff - ln -s ${ini_data_dir}/ifs/postins - ln -s ${ini_data_dir}/ifs/dirlist - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - - # ------------------------------------------------------------------------- - # *** Files needed for NEMO (linked) - # ------------------------------------------------------------------------- - - # Various stuff - ln -s ${ini_data_dir}/nemo/${nem_grid}/bathy_meter.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/coordinates.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/ahmcoef - - # Initial data - ln -s ${ini_data_dir}/nemo/${nem_grid}/temperature_*.nc . - ln -s ${ini_data_dir}/nemo/${nem_grid}/salinity_*.nc . - - # IOM files - ln -s ${ctrl_file_dir}/xmlio_server.def - ln -s ${ctrl_file_dir}/iodef.xml - - # ------------------------------------------------------------------------- - # *** Files needed for OASIS (linked) - # ------------------------------------------------------------------------- - - # Name table file - ln -s ${ini_data_dir}/oasis/cf_name_table.txt - - oas_grid_dir=${ini_data_dir}/oasis/T${ifs_res_hor}-ORCA${nem_res_hor} - - # Grid definition files - ln -s ${oas_grid_dir}/areas.nc - ln -s ${oas_grid_dir}/grids.nc - ln -s ${oas_grid_dir}/masks.nc - - # Weight files - case ${ifs_res_hor} in - 159) oas_agrd=080 - ;; - 255) oas_agrd=128 - ;; - 511) oas_agrd=256 - ;; - 799) oas_agrd=400 - ;; - *) error "Unsupported horizontal resolution (IFS): ${ifs_res_hor}" - ;; - esac - - case ${nem_res_hor} in - 1) oas_ogrd=O1t0 - ;; - 025) oas_ogrd=Ot25 - ;; - *) error "Unsupported horizontal resolution (NEMO): ${nem_res_hor}" - ;; - esac - - for n in $(seq 0 $((oas_numproc-1))) - do - ln -s \ - ${oas_grid_dir}/rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT.nc \ - rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT_${n}.nc - ln -s \ - ${oas_grid_dir}/rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT.nc \ - rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT_${n}.nc - done - - for f in ${oas_cpl_flds} - do - cp ${oas_grid_dir}/rst/$f . - done - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS, NEMO, LIM namelist and OASIS namcouple files -. ${ctrl_file_dir}/namelist.ifs-${ifs_grid}.sh > fort.4 -. ${ctrl_file_dir}/namelist.nemo-${nem_grid}.sh > namelist -. ${ctrl_file_dir}/namelist.lim${lim_version}-ORCA${nem_res_hor}.sh > namelist_ice -. ${ctrl_file_dir}/namcouple.sh > namcouple - -# Split OASIS namcouple file (if necessary) -if (( oas_numproc == 1 )) -then - ln -s namcouple namcouple_0 -elif [ -n "$oas_namcut_script" -a -x $oas_namcut_script ] -then - ${oas_namcut_script} ${oas_numproc} namcouple -else - error "Couldn't run script to split the OASIS namcouple file (\$oas_namcut_script)." -fi - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ - -# Create data for december, the year before the leg starts -grib_set \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - grib_set -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -grib_set -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Link the appropriate NEMO restart files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - ns=$(printf %08d $(( leg_start_sec / nem_time_step_sec ))) - for n in $(seq 0 $((nem_numproc-1))) - do - np=$(printf %04d ${n}) - ln -fs ${exp_name}_${ns}_restart_oce_${np}.nc restart_oce_${np}.nc - ln -fs ${exp_name}_${ns}_restart_ice_${np}.nc restart_ice_${np}.nc - done -fi - -# ----------------------------------------------------------------------------- -# *** Remove some OASIS files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - rm -f anaisout_* -fi - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=yes -export OASIS3DEBUGLEVEL=2 - -### --- PLATFORM DEPENDENT CODE --- -# ulimit -s unlimited -### --- END of PLATFORM DEPENDENT CODE --- - -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -rm -f model.conf -for node in $(seq 1 $oas_numproc) -do - echo "$oas_exe_file" >> model.conf -done - -for node in $(seq 1 $ifs_numproc) -do - echo "$ifs_exe_file -v ecmwf -e $exp_name" >> model.conf -done - -for node in $(seq 1 $nem_numproc) -do - echo "$nem_exe_file" >> model.conf -done - -/usr/bin/poe -pgmmodel mpmd -cmdfile model.conf -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="NODE.001_01 rcf $oas_cpl_flds" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim2.xml b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim2.xml deleted file mode 100644 index 4823c74dc6f56aae9bd92c89ce9193d895a4e464..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim2.xml +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim3.xml b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim3.xml deleted file mode 100644 index 2a13d1a731f3268c9352584795e262207c709aa7..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim3.xml +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.xml b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.xml deleted file mode 100644 index 5a45e9594c0a91d7a18ded340aa686c6c7a34e7e..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.xml +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple-real.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple-real.sh deleted file mode 100755 index f8815bbfe74b6ccdca0c9993f91e5c9bc4e9888f..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple-real.sh +++ /dev/null @@ -1,277 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ECE3 - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 4 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 4 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple.sh deleted file mode 100755 index c86a7153fbeadf88f38dfebc59e0f00236965313..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple.sh +++ /dev/null @@ -1,277 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ${exp_name} - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 4 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 4 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh deleted file mode 100755 index fadcdb8a4d3672efa15de8dc41e1288fb8cad0fd..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh +++ /dev/null @@ -1,437 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh deleted file mode 100755 index fadcdb8a4d3672efa15de8dc41e1288fb8cad0fd..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh +++ /dev/null @@ -1,437 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh deleted file mode 100755 index 225f543252c35ef12e0edff4ff16151c45260f61..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh +++ /dev/null @@ -1,447 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAMGWWMS - GFLUXLAUN=0.002 - ZLAUNCHP=45000 - LOZPR=true - NGAUSS=4 - GGAUSSB=1.0 -/ -&NAMGWD - GTENLIM=0.02 -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh deleted file mode 100755 index fadcdb8a4d3672efa15de8dc41e1288fb8cad0fd..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh +++ /dev/null @@ -1,437 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh deleted file mode 100755 index fadcdb8a4d3672efa15de8dc41e1288fb8cad0fd..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh +++ /dev/null @@ -1,437 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh deleted file mode 100755 index b2da9b7b3d693a93e5d9132beefca0259a7abbc5..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.0e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 250 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 2.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-09 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 100.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 360 ! number of EVP subcycling iterations - telast = 3600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.6 , 0.5 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh deleted file mode 100755 index 1731df051dd141d8f13f351f8b0b38f23583ef76..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 1.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 120 ! number of EVP subcycling iterations - telast = 9600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.3 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh deleted file mode 100755 index a9a33ef6a65bfe1270a9d555cd2a43ae235914f8..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 5.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh deleted file mode 100755 index 70532ad8afb83cd26ea04420fcbf0201f59a145b..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh deleted file mode 100755 index 132e553607633a78d54f4d6eb5e0fe46ec18f985..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'none' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 1 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 2.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0.5 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 3.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .false. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 1 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 300. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 0. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .false. ! laplacian operator - ln_dynldf_bilap = .true. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 0. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -1.5e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 10. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.4 ! surface buoyancy lenght scale minimum value - ln_lc = .false. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-15 ! absolute precision of the solver - nn_nmin = 340 ! minimum of iterations for the SOR solver - nn_nmax = 15000 ! maximum of iterations for the SOR solver - nn_nmod = 5 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.975 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .true. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh deleted file mode 100755 index a75d5712ed3d998b6dd070aedcea582a05c598c3..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! specific treatment at rivers mouths - rn_hrnf = 15.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.40 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.60 ! compute albedo between two extremes values - rn_alphdi = 0.67 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 1 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 1 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1400. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1400. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -100.e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.0e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.0e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 50. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 2 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 1800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .true. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/xmlio_server.def b/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/xmlio_server.def deleted file mode 100644 index 0a252038763a53bf0d1ca45ddeb0f356f17e7fd4..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/build-config/setup/ctrl/xmlio_server.def +++ /dev/null @@ -1,35 +0,0 @@ -! xmlio_server namelist -! -! using_server: .TRUE.(.FALSE.) to use(bypass) the io_server -! using_oasis : .TRUE.(.FALSE.) if nemo is coupled through OASIS -! client_id : used only for OASIS, NEMO id in the namecouple -! server_id : used only for OASIS, io_server id in the namecouple -! -&coupling_param - using_server = .FALSE. - using_oasis = .TRUE. - client_id = 'nemo.x' - server_id = 'ionemo' -/ - -! global_mpi_buffer_size: size in Mo of the MPI buffer used by the io_server -&mpi_param - global_mpi_buffer_size = 512 -/ - -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings -!!====================================================================== -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings - ! (benign if "key_netcdf4" is not used) -!----------------------------------------------------------------------- - nn_nchunks_i = 4 ! number of chunks in i-dimension - nn_nchunks_j = 4 ! number of chunks in j-dimension - nn_nchunks_k = 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .TRUE. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/config-build.xml b/deploy/patches/ecmwf/ecearth/v3.0/sources/config-build.xml deleted file mode 100644 index 1c091a82f5c0d1649ce874e2719e28d0db55fd58..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/config-build.xml +++ /dev/null @@ -1,1278 +0,0 @@ - - - - - - Nemo 3.3.1 config file - - nemo-3.3.1/ARCH/arch-ecconf.fcm - - - - - IFS/36r4 makefile configuration - - ifs-36r4/Makefile.d/Makefile.config.ecconf - - - - - OASIS makefile configuration - - oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf - - - - - - HOST: ekman.pdc.kth.se - ARCH: linux_x86_64 - CPU MODEL: Quad-Core AMD Opteron Processor 2374 HE - USER: ufla - COMPILER: i-compilers (icc+ifort) - MPI: Intel MPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3 - - - - MPI base directory - PATH - /pdc/vol/intelmpi/4.0.3/intel64 - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi mpigf mpigi - - - - LAPACK base directory - PATH - /pdc/vol/i-compilers/11.1/icc/mkl - - - - LAPACK lib directory relative to base dir - PATH - lib/em64t - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /pdc/vol/netcdf/4.1.1/intel - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf - - - - GRIB API base directory - PATH - /pdc/vol/grib/1.9.9/intel - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - /pdc/vol/gribex/000370/intel/64 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback -L/pdc/vol/hdf5/1.8.3/lib -lhdf5 -lhdf5_hl -L/pdc/vol/szip/2.1/lib -lsz - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: gimle.nsc.liu.se - ARCH: linux_x86_64 - CPU MODEL: Intel Xeon - USER: sm_uflad - COMPILER: i-compilers (icc+ifort) - MPI: Intel MPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3/current - - - - MPI base directory - PATH - /software/intel/impi/4.0.3.008 - - - - MPI include directory relative to base dir - PATH - include64 - - - - MPI lib directory relative to base dir - PATH - lib64 - - - - MPI libraries (without -l prefix) - STRING - mpi mpiif mpigi - - - - LAPACK base directory - PATH - /software/intel/mkl/10.2.1.017 - - - - LAPACK lib directory relative to base dir - PATH - lib/em64t - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /software/libs/netcdf/3.6.2/i101008 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf - - - - GRIB API base directory - PATH - $(HOME)/Projects/gribapi/1.9.9 - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - $(HOME)/Projects/gribex/370 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: lindgren.pdc.kth.se - ARCH: linux_x86_64 - CPU MODEL: 6-Core AMD Opteron(tm) Processor 23 (D0) - USER: cbasu - COMPILER: i-compilers (icc+ifort) - MPI: Cray MPI - BLAS/LAPACK: Cray BLAS - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3 - - - - MPI base directory - PATH - - - - - MPI include directory relative to base dir - PATH - - - - - MPI lib directory relative to base dir - PATH - - - - - MPI libraries (without -l prefix) - STRING - - - - - LAPACK base directory - PATH - - - - - LAPACK lib directory relative to base dir - PATH - - - - - LAPACK libraries (without -l prefix) - STRING - - - - - NetCDF base directory - PATH - /opt/cray/netcdf/4.2.0/intel/120 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdff netcdf hdf5_hl hdf5 z - - - - GRIB API base directory - PATH - /cfs/klemming/nobackup/w/wyser/grib/grib_api-1.9.9 - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - /cfs/klemming/nobackup/w/wyser/gribex/gribex_000370 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ftn - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - cc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ftn - - - - General flags for linking - STRING - -O2 -g -traceback -L/opt/cray/hdf5/default/intel/120/lib - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - cc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - Additional Fortran compiler flags for EMOSLIB - STRING - -i4 - - - - Fortran preprocessor defs for EMOSLIB - STRING - linux LITTLE_ENDIAN POINTER_64 INTEGER_IS_INT REAL_8 REAL_BIGGER_THAN_INTEGER - - - - C preprocessor defs for EMOSLIB - STRING - $(EMOS_FPPDEFS) FOPEN64 - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: krypton.nsc.liu.se - ARCH: linux_x86_64 - CPU MODEL: Intel E5-2660 - USER: sm_uflad - COMPILER: i-compilers (icc+ifort) - MPI: Intel MPI - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $(HOME)/Projects/ecearth3 - - - - MPI base directory - PATH - /software/intel/impi/4.0.3.008/intel64 - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi mpiif mpigi - - - - LAPACK base directory - PATH - /software/intel/composer_xe_2011_sp1.10.319/mkl - - - - LAPACK lib directory relative to base dir - PATH - lib/intel64 - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - /software/apps/netcdf/4.2/i1214-hdf5-1.8.9 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdff - - - - GRIB API base directory - PATH - $(HOME)/Projects/gribapi/1.9.9 - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - $(HOME)/Projects/gribex/370 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribex - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O0 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O0 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O0 -g -traceback - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - - - HOST: c1a, c1b at ecmwf - ARCH: - CPU MODEL: IBM Power6 - USER: srz - COMPILER: IBM XL - MPI: IBM POE - BLAS/LAPACK: IBM ESSL - - - - EC-Earth base directory - PATH - $(PERM)/Projects/ecearth3-c1a - - - - MPI base directory - PATH - - - - - MPI include directory relative to base dir - PATH - - - - - MPI lib directory relative to base dir - PATH - - - - - MPI libraries (without -l prefix) - STRING - - - - - LAPACK base directory - PATH - /usr/local/lib/lapack/3.1.1 - - - - LAPACK lib directory relative to base dir - PATH - - - - - LAPACK libraries (without -l prefix) - STRING - lapack_essl64_ essl - - - - NetCDF base directory - PATH - /usr/local/apps/netcdf4/4.1.2/LP64 - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf netcdff - - - - GRIB API base directory - PATH - /usr/local/lib/metaps/lib/grib_api/1.9.16 - - - - GRIB API include directory relative to base dir - PATH - include64 - - - - GRIB API lib directory relative to base dir - PATH - lib64 - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api grib_api_f90 - - - - GRIBEX base directory - PATH - /perm/ms/se/sm0g/Projects/gribex_000370 - - - - GRIBEX lib directory relative to base dir - PATH - - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - /ws/home/ms/se/sm0g/Projects/make-3.81/make - - - - Fortran 90 Compiler - STRING - mpxlf90 - - - - General F90 flags for compiling - STRING - -O2 -g -q64 -qrealsize=8 -qport=mod -qspillsize=8162 - - - - Allow for free format Fortran - STRING - -qfree=f90 - - - - Expect fixed Fortran format - STRING - -qfixed - - - - Fortran preprocessor flag prefix - STRING - -WF$(comma)-D - - - - C Compiler - STRING - xlc - - - - General C flags for compiling - STRING - -O2 -g -q64 - - - - C preprocessor flag prefix - STRING - -D - - - - Linker - STRING - mpxlf90 - - - - General flags for linking - STRING - -O2 -g -q64 -qarch=auto -qrealsize=8 -L/usr/local/apps/hdf5/1.8.6/LP64/lib -lhdf5 -lhdf5_hl -L/usr/local/apps/szip/2.1/LP64/lib -lsz -lz -L/usr/local/apps/jasper/1.900.0/LP64/lib -ljasper - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - -curv -X64 - - - - Flags for library building command (When using ar: include u) - STRING - -p -X64 - - - - C preprocessor command - STRING - - - - - C preprocessor flags - STRING - - - - - More F90 flags for Oasis - STRING - - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - POINTER_64 BLAS DOUBLE_KIND_EQUALS_REAL - - - - More F90 flags for ifs/ifsaux - STRING - - - - - F90 dependency generator - STRING - $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90-ecmwf - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.config.ecconf.tmpl b/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.config.ecconf.tmpl deleted file mode 100644 index 152c2c91899ee70042aa49c8b70380af2da487ad..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.config.ecconf.tmpl +++ /dev/null @@ -1,65 +0,0 @@ -$(info --> Reading $(lastword $(MAKEFILE_LIST))) - -comma := , - -ECEARTH_SRC_DIR := [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]] - -MPI_BASE_DIR := [[[PLT:ACTIVE:MPI_BASE_DIR]]] -ifneq ($(strip $(MPI_BASE_DIR)),) -MPI_INC_DIR := $(MPI_BASE_DIR)$(addprefix /,[[[PLT:ACTIVE:MPI_INC_SUBDIR]]]) -MPI_LIB_DIR := $(MPI_BASE_DIR)$(addprefix /,[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]) -endif -MPI_LIBS := [[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]] - -OASIS_BASE_DIR := $(ECEARTH_SRC_DIR)/oasis3 -OASIS_ARCH := ecconf -OASIS_MPI_CHAN := MPI1 -OASIS_MOD_DIR := $(OASIS_BASE_DIR)/$(OASIS_ARCH)/build/lib/psmile.$(OASIS_MPI_CHAN) -OASIS_LIB_DIR := $(OASIS_BASE_DIR)/$(OASIS_ARCH)/lib -OASIS_LIBS := psmile.MPI1 mpp_io clim.MPI1 - -ifneq ($(strip [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]),) -NETCDF_LIB_DIR := [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]/[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]] -NETCDF_INC_DIR := [[[PLT:ACTIVE:NETCDF_BASE_DIR]]]/[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]] -endif -NETCDF_LIBS := [[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]] - -LAPACK_BASE_DIR := [[[PLT:ACTIVE:LAPACK_BASE_DIR]]] -ifneq ($(strip $(LAPACK_BASE_DIR)),) -LAPACK_LIB_DIR := $(LAPACK_BASE_DIR)$(addprefix /,[[[PLT:ACTIVE:LAPACK_LIB_SUBDIR]]]) -endif -LAPACK_LIBS := [[[PLT:ACTIVE:LAPACK_LIBS_WITHOUT_L]]] - -ifneq ($(strip [[[PLT:ACTIVE:GRIBAPI_BASE_DIR]]]),) -GRIBAPI_INC_DIR := [[[PLT:ACTIVE:GRIBAPI_BASE_DIR]]]/[[[PLT:ACTIVE:GRIBAPI_INC_SUBDIR]]] -GRIBAPI_LIB_DIR := [[[PLT:ACTIVE:GRIBAPI_BASE_DIR]]]/[[[PLT:ACTIVE:GRIBAPI_LIB_SUBDIR]]] -endif -GRIBAPI_LIBS := [[[PLT:ACTIVE:GRIBAPI_LIBS_WITHOUT_L]]] - -ifneq ($(strip [[[PLT:ACTIVE:GRIBEX_BASE_DIR]]]),) -GRIBEX_LIB_DIR := [[[PLT:ACTIVE:GRIBEX_BASE_DIR]]]/[[[PLT:ACTIVE:GRIBEX_LIB_SUBDIR]]] -endif -GRIBEX_LIBS := [[[PLT:ACTIVE:GRIBEX_LIBS_WITHOUT_L]]] - -MAKEDEPF90 := [[[PLT:ACTIVE:MAKEDEPF90]]] - -F90 := [[[PLT:ACTIVE:FC]]] -F90FLAGS := [[[PLT:ACTIVE:FFLAGS_FREEFORM]]] [[[PLT:ACTIVE:FFLAGS]]] - -IFSAUX_ADD_F90FLAGS := [[[PLT:ACTIVE:IFSAUX_ADD_FFLAGS]]] - -FC := [[[PLT:ACTIVE:FC]]] -FFLAGS := [[[PLT:ACTIVE:FFLAGS_FIXEDFORM]]] [[[PLT:ACTIVE:FFLAGS]]] - -FPPDEFS := $(addprefix [[[PLT:ACTIVE:FFLAGS_FPP_PREFIX]]],[[[PLT:ACTIVE:IFS_PPDEFS]]]) - -CC := [[[PLT:ACTIVE:CC]]] -CFLAGS := [[[PLT:ACTIVE:CFLAGS]]] -CPPDEFS := $(addprefix [[[PLT:ACTIVE:CFLAGS_CPP_PREFIX]]],[[[PLT:ACTIVE:IFS_PPDEFS]]]) - -LD := $(F90) -LDFLAGS := [[[PLT:ACTIVE:LDFLAGS]]] - -AR := [[[PLT:ACTIVE:AR]]] -ARFLAGS := [[[PLT:ACTIVE:ARFLAGS]]] -ARFLAGS_EXTRACT := [[[PLT:ACTIVE:ARFLAGS_EXTRACT]]] diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.master b/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.master deleted file mode 100644 index c9831864673de24b5685f935843ad78abb4724af..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.master +++ /dev/null @@ -1,25 +0,0 @@ -.PHONY: master clean realclean dep-clean - -include $(MAKEFILE_CONFIG) - -master:$(IFS_BIN_DIR)/$(IFS_EXE_NAME) - -$(IFS_BIN_DIR)/$(IFS_EXE_NAME): $(addprefix $(IFS_LIB_DIR)/lib,$(addsuffix .a,$(sort $(IFS_LIBS)))) - $(AR) $(ARFLAGS_EXTRACT) $(IFS_LIB_DIR)/libifs.a master.o > $(IFS_BIN_DIR)/master.o - $(LD) -o $@ $(IFS_BIN_DIR)/master.o $(LDFLAGS) \ - $(addprefix -L,$(IFS_LIB_DIR)) $(addprefix -l,$(IFS_LIBS)) \ - $(addprefix -L,$(OASIS_LIB_DIR)) $(addprefix -l,$(OASIS_LIBS)) \ - $(addprefix -L,$(MPI_LIB_DIR)) $(addprefix -l,$(MPI_LIBS)) \ - $(addprefix -L,$(NETCDF_LIB_DIR)) $(addprefix -l,$(NETCDF_LIBS)) \ - $(addprefix -L,$(GRIBAPI_LIB_DIR)) $(addprefix -l,$(GRIBAPI_LIBS)) \ - $(addprefix -L,$(GRIBEX_LIB_DIR)) $(addprefix -l,$(GRIBEX_LIBS)) \ - $(addprefix -L,$(LAPACK_LIB_DIR)) $(addprefix -l,$(LAPACK_LIBS)) - -%.a: - @echo "==> WARNING: Library '$(notdir $@)' out of date! Run 'make lib' first." - -clean: - rm -f $(IFS_BIN_DIR)/master.o - -realclean: clean - rm -f $(IFS_BIN_DIR)/$(IFS_EXE_NAME) diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.rules b/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.rules deleted file mode 100644 index d4c283de20244dcd9da6fc28c91ba3037669258f..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/Makefile.d/Makefile.rules +++ /dev/null @@ -1,39 +0,0 @@ -$(info --> Reading $(lastword $(MAKEFILE_LIST))) - -.SUFFIXES: -.SUFFIXES: .o .F90 .F .c - -.PHONY: $(LIB_FILE) lib master clean realclean dep-clean - -lib: $(LIB_FILE) - -$(LIB_FILE): $(OBJS) - $(AR) $(ARFLAGS) $@ $^ - -%.o: %.F90 - $(F90) -c $(F90FLAGS) $(FPPDEFS) $(addprefix -I,$(F90_INC_DIRS)) $< - -%.o: %.F - $(FC) -c $(FFLAGS) $(FPPDEFS) $(addprefix -I,$(F77_INC_DIRS)) $< - -%.o: %.f - $(FC) -c $(FFLAGS) $(addprefix -I,$(F77_INC_DIRS)) $< - -%.o: %.c - $(CC) -c $(CFLAGS) $(CPPDEFS) $(addprefix -I,$(C_INC_DIRS)) $< - -clean: - -rm -f $(OBJS) - -rm -f $(OBJS:.o=.mod) - -realclean: clean - -rm -f $(LIB_FILE) - -dep-clean: - -rm -f $(F90_DEP_FILE) - -ifneq (,$(filter %.F90 %.f90,$(SRCS))) -$(F90_DEP_FILE): $(filter %.F90 %.f90,$(SRCS)) - $(MAKEDEPF90) $(filter %.F90 %.f90,$(SRCS)) > $@ --include $(F90_DEP_FILE) -endif diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/algor/external/linalg/minv.F b/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/algor/external/linalg/minv.F deleted file mode 100644 index 41ca75333aec14a0e8f3691721a6e268b23ac4b1..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/algor/external/linalg/minv.F +++ /dev/null @@ -1,183 +0,0 @@ - SUBROUTINE MINV(AB,N,LDBA,ZSCRA,DET1,TOL,M,MODE) - IMPLICIT LOGICAL (L) - INTEGER N,LDBA,M,MODE - REAL TOL,DET1 - REAL AB(LDBA,N+M),ZSCRA( 2*N ) -c internal variables - REAL RCOND,SCRATCH( 4*N ),ZMAT(LDBA,N),DET(2),ANORM - REAL ALPHA,beta, X(N),Y(LDBA) - CHARACTER*1 TRANS - INTEGER IPVT( N ),incx, IWORK(N) - DOUBLE PRECISION DL - INTEGER, PARAMETER :: N_REAL_KIND=KIND(TOL) - -#ifdef DOUBLE_KIND_EQUALS_REAL - INTEGER, PARAMETER :: N_DOUBLE_KIND=KIND(TOL) -#else - INTEGER, PARAMETER :: N_DOUBLE_KIND=KIND(DL) -#endif -c -c - IF (LDBA.NE.N) THEN - write(6,*) ' ERROR IN MINV -- Matrix MUST be square' - CALL ABOR1 (' ERROR IN MINV -- Matrix MUST be square') - ENDIF -c -c - IF (M.LT.0) THEN - write(6,*) ' ERROR IN MINV -- M MUST BE >= 0 ' - CALL ABOR1 (' ERROR IN MINV -- M MUST BE >= 0 ') - ENDIF -C -C Extraction de la matrice ZMAT a factoriser -C - DO JL = 1,LDBA - DO JC = 1,N - ZMAT(JL,JC) = AB(JL,JC) - ENDDO - ENDDO - CALL GECO - IF(RCOND.LE.TOL) THEN - WRITE(6,*)'MINV : MATRIX IS SINGULAR ' - RETURN - ENDIF -C -C Inversion de ZMAT -C - CALL GEDI -C - DET1 = DET(1) * 10.0 ** DET(2) -c -C Remplacement de A (ou ZMAT) par son inverse: -C - IF (MODE.NE.0) THEN - DO JL = 1,LDBA - DO JC = 1,N - AB(JL,JC) = ZMAT(JL,JC) - ENDDO - ENDDO - ENDIF -C -C Resolution des differents systemes lineaires -C - IF (M.GT.0) THEN - TRANS = 'N' - alpha = 1. - beta = 0. - incx = 1 - DO ISYS = 1,M -C -C Extraction du second membre X -C - DO JL = 1,LDBA - X(JL) = AB(JL,N+ISYS) - ENDDO - y = 0. - IF (N_REAL_KIND == N_DOUBLE_KIND) THEN - CALL dgemv(trans,ldba,n,alpha,zmat,ldba,x,incx,beta,y,incx) - ELSE - CALL sgemv(trans,ldba,n,alpha,zmat,ldba,x,incx,beta,y,incx) - ENDIF -C -C Sauvegarde de la solution -C - DO JL = 1,LDBA - AB(JL,N+ISYS) = y(JL) - ENDDO -C - ENDDO -C - ENDIF -C -c - RETURN - - CONTAINS - SUBROUTINE GECO - -c--- simulate LINPAC routines SGECO/DGECO using LAPACK - - ANORM= 0. - DO J = 1, N - ANORM = MAX(ANORM,SUM(ZMAT(1:N,J))) - ENDDO - - IF (N_REAL_KIND == N_DOUBLE_KIND) THEN - - CALL DGETRF (N,N,ZMAT,LDBA,IPVT,INFO) - IF (INFO < 0) THEN - WRITE(6,*) 'DGETRF RETURNS NEGATIVE INFO: ',INFO - CALL ABOR1 ('DGETRF RETURNS NEGATIVE INFO') - ENDIF - - CALL DGECON ('1',N,ZMAT,LDBA,ANORM,RCOND,SCRATCH,IWORK,INFO) - IF (INFO /= 0) THEN - WRITE(6,*) 'DGECON RETURNS NON-ZERO INFO: ',INFO - CALL ABOR1 ('DGECON RETURNS NON-ZERO INFO') - ENDIF - - ELSE - - CALL SGETRF (N,N,ZMAT,LDBA,IPVT,INFO) - IF (INFO < 0) THEN - WRITE(6,*) 'SGETRF RETURNS NEGATIVE INFO: ',INFO - CALL ABOR1 ('SGETRF RETURNS NEGATIVE INFO') - ENDIF - - CALL SGECON ('1',N,ZMAT,LDBA,ANORM,RCOND,SCRATCH,IWORK,INFO) - IF (INFO /= 0) THEN - WRITE(6,*) 'SGECON RETURNS NON-ZERO INFO: ',INFO - CALL ABOR1 ('SGECON RETURNS NON-ZERO INFO') - ENDIF - - ENDIF - - RETURN - END SUBROUTINE GECO - - SUBROUTINE GEDI - -c--- simulate LINPAC routines SGEDI/DGEDI using LAPACK - - DET(1) = 1.0E0 - DET(2) = 0.0E0 - TEN = 10.0E0 - - IF (JOB/10 /= 0) THEN - DETLOOP: DO I = 1, N - IF (IPVT(I) .NE. I) DET(1) = -DET(1) - DET(1) = ZMAT(I,I)*DET(1) - IF (DET(1) .EQ. 0.0E0) EXIT DETLOOP - - DO - IF (ABS(DET(1)) .GE. 1.0E0) EXIT - DET(1) = TEN*DET(1) - DET(2) = DET(2) - 1.0E0 - ENDDO - - DO - IF (ABS(DET(1)) .LT. TEN) EXIT - DET(1) = DET(1)/TEN - DET(2) = DET(2) + 1.0E0 - ENDDO - ENDDO DETLOOP - ENDIF - - IF (N_REAL_KIND == N_DOUBLE_KIND) THEN - CALL DGETRI (N,ZMAT,LDBA,IPVT,SCRATCH,SIZE(SCRATCH),INFO) - IF (INFO /= 0) THEN - WRITE(6,*) 'DGETRI RETURNS NON-ZERO INFO: ',INFO - CALL ABOR1 ('DGETRI RETURNS NON-ZERO INFO') - ENDIF - ELSE - CALL SGETRI (N,ZMAT,LDBA,IPVT,SCRATCH,SIZE(SCRATCH),INFO) - IF (INFO /= 0) THEN - WRITE(6,*) 'SGETRI RETURNS NON-ZERO INFO: ',INFO - CALL ABOR1 ('SGETRI RETURNS NON-ZERO INFO') - ENDIF - ENDIF - - RETURN - END SUBROUTINE GEDI - - END SUBROUTINE MINV diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/control/cnt3.F90 b/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/control/cnt3.F90 deleted file mode 100644 index 2dc3e1878374e61527e641764cfa6ebc62065388..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/control/cnt3.F90 +++ /dev/null @@ -1,335 +0,0 @@ -SUBROUTINE CNT3 - -!**** *CNT3* - Controls integration job at level 3 - -! Purpose. -! -------- - -!** Interface. -! ---------- -! *CALL* *CNT3 - -! Explicit arguments : -! -------------------- -! None - -! Implicit arguments : -! -------------------- -! None - -! Method. -! ------- -! See documentation - -! Externals. -! ---------- -! Calls SU3YOM, SUALSPA, RERESF, CSTA, UPSPEC, SUORCTV, ARCHFP, -! CNMI, CMAC, FLTMODE, FLTRG, DFI, CNT4, SPNORM. -! Called by CNT2, TESTLI, ... - -! Reference. -! ---------- -! ECMWF Research Department documentation of the IFS - -! Author. -! ------- -! Mats Hamrud and Philippe Courtier *ECMWF* - -! Modifications. -! -------------- -! Original : 87-10-15 -! Modified : 90-01-22 Bill Heckley - option to filter initial state -! Modified : 91-09-25 p.c and JN.T - remove useless logic -! Modified : 92-10-19 Bill Heckley - reduce gravity mode amplitude -! to aid 3/4DVAR conditioning -! Modified : 92-12-24 G. Radnoti - option for digital filter init. -! Modified : 92-12-25 J-N Thepaut - update spectral array (conf 131) -! Modified : 93-04-13 L. Labbe - Init. grid point orography as -! control variable -! Modified : 94-03-03 R. El Khatib - Full-POS inplementation -! Modified : 94-03_09 " " - Use of NMI after the run (821) -! Modified : 94-07-05 J-N Thepaut - dummy call to cnt4 (conf 131) -! Modified : 94-07-26 D. Giard - call to MATCLOSE after filtering -! Modified : 95-09-04 R. El Khatib - FullPOS internal part 2 out of CNT4 -! Modified : 95-10-30 M.Hamrud - Changed CLCONF -! Modified : 95-09-25 J.-N Thepaut - write spec traj with FullPos -! Modified : 97-10-02 D. Dent - replace SECOND with USER_CLOCK -! Modified : 98-10-05 A. Untch - setup ozone chemistry if restart -! Modified : 99-09-17 M. Fisher - Don't modify SITR and SIPR -! Modified : 00-11-06 J. Barkmeijer- Use perturbed tendencies -! R. El Khatib : 01-08-07 Pruning options -! Modified : 02-09-30 V.Guidard&C.Fischer - 3dfgat coupling switched on -! J. Masek : 12-10-2002: Call of SUPONG moved from SUDYN. -! R. El Khatib : 02-21-20 Fullpos B-level distribution + remove IO scheme -! R. El Khatib : 02-11-12 Pruning LREFFP -! M.Hamrud 01-Oct-2003 CY28 Cleaning -! C. Fischer 04-02-26 Merge Aladin into Arpege/IFS cnt3 -! C. Fischer 04-10-20 call sueqlimsat -! Y.Tremolet 21-Jul-2004 Model error -! M. Jidane : 13-04-2006 : SWAP37 NO MORE IN USE -! M. Drusch: 17-Jan-2007 introduce nconf 302 -! B. Chapnik: 22-sep-2008 allows upspec for aladin -! G. Desroziers 22-Dec-2008: Enable transf. of ARPEGE file in GRIB format (to be used in femars) -! ------------------------------------------------------------------ - -USE PARKIND1 ,ONLY : JPIM, JPIB, JPRB -USE YOMHOOK ,ONLY : LHOOK, DR_HOOK - -USE YOMDIM , ONLY : NFLEVG, NFLEVL, NSPEC2 ,NSMAX -USE YOMLUN , ONLY : NULOUT -USE YOMCT0 , ONLY : LFPART2, NCONF, NSTOP, LNF, LOBSC1, LELAM, NPROC -USE YEMCT0 , ONLY : LEQLIMSAT -USE YOMNMIA , ONLY : NVMOD ,NVMODPP ,LNMIRQ ,LSTDNMI ,& - & LNPROJ -USE YOMINI , ONLY : NEINI -USE YOMTIM , ONLY : RSTART ,RVSTART ,RTIMEF -USE YOMVAR , ONLY : LTEST ,LINITCV, LFEMARSF, LFEMARSD -USE YOMMP , ONLY : NUMVMO -USE YOEPHY , ONLY : LEO3CH, LEPCLD, LEPHYS -USE YOERAD , ONLY : LECO2VAR, LHGHG -USE YOMPHY , ONLY : LREASUR -USE YOMSP , ONLY : SPA3 ,SPA2 ,SPVOR ,SPDIV ,& - &SPT ,SPQ ,SPSP ,SPOR -USE YOMGEM , ONLY : VAH, VBH -USE YOMRIP , ONLY : NINDAT ,NSSSSS -USE STOPH_MIX , ONLY : LFORCENL -USE GFL_SUBS_MOD , ONLY : DEACT_CLOUD_GFL, REACT_CLOUD_GFL - -IMPLICIT NONE - -LOGICAL :: LLOVER - -REAL(KIND=JPRB) :: ZCT, ZVT, ZWT -REAL(KIND=JPRB), ALLOCATABLE :: ZSPA3(:,:,:), ZSPA2(:,:) - -CHARACTER (LEN = 9) :: CLCONF -REAL(KIND=JPRB) :: ZHOOK_HANDLE - -! ----------------------------------------------------------- - -INTERFACE -#include "user_clock.h" -END INTERFACE - -#include "cmac.intfb.h" -#include "cnmi.intfb.h" -#include "cnt4.intfb.h" -#include "pertsekf_v2.intfb.h" -#include "cprep4.intfb.h" -#include "csta.intfb.h" -#include "dealnmi.intfb.h" -#include "dfi.intfb.h" -#include "elsac.intfb.h" -#include "fltmode.intfb.h" -#include "opdis.intfb.h" -#include "reresf.intfb.h" -#include "spnorm.intfb.h" -#include "su3yom.intfb.h" -#include "su4fpos.intfb.h" -#include "sueqlimsat.intfb.h" -#include "suforce.intfb.h" -#include "supong.intfb.h" -#include "swap73.intfb.h" -#include "updo3ch.intfb.h" -#include "updrgas.intfb.h" -#include "upspec.intfb.h" -#include "grbspa.intfb.h" -#include "suinif.intfb.h" - -! ----------------------------------------------------------- - -!* 1. Initialize LEVEL 3 COMMONS. -! --------------------------- - -IF (LHOOK) CALL DR_HOOK('CNT3',0,ZHOOK_HANDLE) -WRITE(UNIT=NULOUT,FMT='('' START CNT3'')') -CALL SU3YOM -IF (LEPHYS) THEN - IF (LEPCLD) THEN - CALL REACT_CLOUD_GFL - ELSE - CALL DEACT_CLOUD_GFL - ENDIF -ENDIF -! ----------------------------------------------------------- - -!* 2. RESTART. -! -------- - -IF(NCONF == 1.OR.NCONF == 302) THEN -! ** OPDIS IS CALLED HERE ONLY TO AVOID MEMORY FRAGMENTAION ** - CLCONF='000000000' - CALL USER_CLOCK(PELAPSED_TIME=ZWT,PVECTOR_CP=ZVT,PTOTAL_CP=ZCT) - ZCT=ZCT-RSTART - ZVT=ZVT-RVSTART - ZWT=ZWT-RTIMEF - CALL OPDIS(CLCONF,'CNT3 ',ZCT,ZVT,ZWT,RSTART,RVSTART,RTIMEF) -ENDIF - -IF (.NOT.LELAM) THEN - -!* 3.0 ARPEGE/IFS INITIALIZATION -! ------------------------- - - IF ((NCONF == 1.OR.NCONF == 302).AND..NOT.LFPART2) THEN - CALL RERESF -! SETUP OZONE CHEMISTRY IN CASE OF RESTART - IF(.NOT.LNF.AND.LEO3CH) THEN - CALL UPDO3CH - ENDIF - IF(.NOT.LNF.AND.(LECO2VAR.OR.LHGHG)) THEN - CALL UPDRGAS - ENDIF - ELSE - LNF=.TRUE. - ENDIF -! ----------------------------------------------------------- - -!* 3. START. -! ------ - - IF (LNF) THEN - IF (LFORCENL) CALL SUFORCE - CALL CSTA - ENDIF - -!* 3.0 PERTURB INITIAL CONDITIONS FOR THE SEKF RUN -! ------------------------------------------- - - IF (NCONF == 302) THEN - CALL PERTSEKF_V2 - ENDIF - -!* 3.1 OASIS3 check -! ------------ - CALL SETOASIS3 - -!* 3.2 Update spectral array. -! ---------------------- - - IF (.NOT.LFPART2) THEN - IF (LOBSC1.AND.LINITCV) CALL UPSPEC - ENDIF - -!* 3.3 Read in ARPEGE format and write in GRIB format -! ---------------------------------------------- - - IF (LFEMARSF.OR.LFEMARSD) THEN - IF (NPROC /= 1) THEN - WRITE (NULOUT,*)'CNT3: must run conf CNT3 with LFEMARSF or LFEMARSD with one proc only !' - CALL ABOR1('CNT3: ABOR1 CALLED') - ENDIF -! Read first file - LREASUR=.FALSE. - CALL SUINIF(6) - IF (LFEMARSD) THEN - ALLOCATE (ZSPA3(SIZE(SPA3,1),SIZE(SPA3,2),SIZE(SPA3,3))) - ALLOCATE (ZSPA2(SIZE(SPA2,1),SIZE(SPA2,2))) - ZSPA3(:,:,:)=SPA3(:,:,:) - ZSPA2(:,:)=SPA2(:,:) -! Read second file and make the difference - CALL SUINIF(7) - SPA3(:,:,:)=SPA3(:,:,:)-ZSPA3(:,:,:) - SPA2(:,:)=SPA2(:,:)-ZSPA2(:,:) - DEALLOCATE (ZSPA3) - DEALLOCATE (ZSPA2) - ENDIF - WRITE(NULOUT,*) 'norms of increments at date ',NINDAT - CALL SPNORM(0) -! Write in GRIB format - CALL GRBSPA(NFLEVL,NSMAX,NSPEC2,VAH,VBH,SPVOR,SPDIV,SPT,SPQ,SPSP,& - &SPOR,NINDAT,NSSSSS) - IF (LHOOK) CALL DR_HOOK('CNT3',1,ZHOOK_HANDLE) - RETURN - ENDIF - -! ----------------------------------------------------------- - -!* 4. FILTERING -! --------- - - IF (.NOT.LFPART2) THEN - -!* 4.1 Jc COMPUTATION. -! --------------- -! ALL COMPUTATION IN CNT3AD - -!* 4.2 NORMAL MODE INITIALIZATION. -! --------------------------- - - IF(LNF) THEN - CALL SPNORM(0) - IF (LNMIRQ) THEN - IF (LSTDNMI) THEN - CALL CNMI - ELSE - CALL CMAC - ENDIF - ELSEIF (LNPROJ) THEN - CALL FLTMODE(NVMOD,NVMODPP,NUMVMO) - ENDIF - ENDIF - -!* 4.4 Jg COMPUTATION. -! --------------- -! ALL COMPUTATION IN CNT3AD - -! ----------------------------------------------------------- - -!* 4.5 DIGITAL FILTER INITIALIZATION -! ----------------------------- - - IF (LNF.AND.(NEINI == 2.OR.NEINI == 4)) CALL DFI - - ENDIF - -ELSE - -!* 4.7 LAM INITIALIZATION -! ------------------ - - IF (NCONF/100 == 0.OR.NCONF/100 == 2.OR.NCONF == 801.OR.& - & NCONF == 302.OR.NCONF == 501.OR.NCONF == 401.OR.& - & ((NCONF/100==1).AND.(NSTOP>0)).OR.& - & NCONF == 601) THEN - IF(LTEST.AND.NCONF == 801) CALL SWAP73 - CALL ELSAC - IF(LTEST.AND.NCONF == 801) CALL SWAP73 - ENDIF - - IF (.NOT. LFPART2 .AND. LEQLIMSAT) CALL SUEQLIMSAT - - ! sponge setup - IF ( NFLEVG > 1 ) THEN - CALL SUPONG - ENDIF - -ENDIF - -! ----------------------------------------------------------- - -!* 5. INTEGRATION. -! ------------ - -IF (.NOT.LFPART2) THEN - -! Deallocate arrays only used in normal mode initialization - - IF (NCONF/100 == 0 .OR. NCONF == 302) THEN - CALL DEALNMI - ENDIF - - CALL CNT4 - -ELSE - CALL SU4FPOS(INT(0,JPIB)) - CLCONF(1:1)='0' - CALL CPREP4(CLCONF,LLOVER) -ENDIF - -WRITE(UNIT=NULOUT,FMT='('' END CNT3'')') - -! ------------------------------------------------------------------ - -IF (LHOOK) CALL DR_HOOK('CNT3',1,ZHOOK_HANDLE) -END SUBROUTINE CNT3 diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/control/cnt4ad.F90 b/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/control/cnt4ad.F90 deleted file mode 100644 index 1223fc5b0c2c655b2d72ed6bc03fdf8c718d77f9..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/control/cnt4ad.F90 +++ /dev/null @@ -1,1007 +0,0 @@ -SUBROUTINE CNT4AD - -USE PARKIND1 ,ONLY : JPIM, JPIB, JPRB -USE YOMHOOK ,ONLY : LHOOK ,DR_HOOK - -USE YOMDIMO , ONLY : NACTIM -USE YOMECTAB , ONLY : NTSLOTNO ,NTSLOTNOS,NTSLOTNOE,NTSLVSTST -USE YOMLUN , ONLY : NULOUT -USE YOMCT0 , ONLY : LFPART2 ,LNHDYN ,NCONF ,NSTOP ,NFRPOS ,NFRISP ,& - & NFRHIS ,NFSRHIS ,NFRGDI ,NFRSDI ,NFRDHFG ,NFRDHFZ ,& - & NFRDHFD ,NFRDHP ,NFRMASSCON,LTWOTL ,& - & LFPOS ,LOBS ,LSIMOB ,LSITRIC ,NPRINTLEV ,& - & NSTART ,LELAM -USE YOMCT2 , ONLY : NSTAR2 ,NSTOP2 -USE YOMCT3 , ONLY : NSTEP -USE YOMDYN , ONLY : TSTEP, TDT, LSTRHD, LSIDG, NSITER, NCURRENT_ITER -USE YOMVAR , ONLY : NSIM4D ,NFRREF ,NFRANA ,& - & NFRGRA ,NSIM4DL ,LTRREF ,& - & LTWGRA ,LGRASCAL, LJCDFI, LUSEJCDFI, LMODERR ,LAVARC , LFCOBSTEST -USE YOMGLOBS , ONLY : LPREMPOBS -USE YOMHCP , ONLY : NHECP -USE YOMCFU , ONLY : NFRCFU -USE YOMXFU , ONLY : NFRXFU ,NFRRAZ -USE YOMSENS , ONLY : NJROPT -USE YOMVRTL , ONLY : L801TL ,LOBSTL -USE YOMRES , ONLY : NFRRES -USE YOMSKF , ONLY : LTWSKFZ -USE YOMPPC , ONLY : LOPPCNT -USE YOMMP , ONLY : NOUTTYPE, NPSP -USE YOMIO , ONLY : LPPTSF -USE YOMTIM , ONLY : RSTART ,RVSTART ,RTIMEF -USE YOMTNEWT , ONLY : LIDMODEL -USE YOMSP , ONLY : SPSP, SPA3, SPD2D, SP5A3, SP5A2, SPA1, SP5A1 -USE TRAJECTORY_MOD, ONLY: LTRAJGP, GET_TRAJ_SPEC -USE YOMLCZ , ONLY: L_SOS, L_EOFS, NSTEPS_PER_STATE, YSTATE_VECTOR_4D, & - & LOCNORM, LFORCE, YSPFORCE -USE YOMMODEL_ERROR,ONLY: NTYPE_MODERR, NDIM_MODERR, MSTEPERR, NPRTMODERR, & - & SPMODERR, GPMODERR, SPMODERR_HYB, GPMODERR_HYB, & - & N_COUPLED_WINDOWS -USE YEMCT0 , ONLY : NECOAD ,LE0COTA ,NFRLSG ,N1LSG -USE YOMDFI , ONLY : NSTDFI -USE CONTROL_VECTORS -USE SPECTRAL_FIELDS_MOD -USE YEMJK , ONLY : LEJK - -!**** *CNT4AD* - Controls adjoint model at level 4 - -! Purpose. -! -------- -! Controls adjoint integration. - -!** Interface. -! ---------- -! *CALL* *CNT4AD - -! Explicit arguments : -! -------------------- -! None - -! Implicit arguments : -! -------------------- -! None - -! Method. -! ------- -! See documentation - -! Externals. -! ---------- -! Called by CNT3. - -! Reference. -! ---------- -! ECMWF Research Department documentation of the IFS - -! Author. -! ------- -! Mats Hamrud and Philippe Courtier *ECMWF* - -! Modifications -! ------------- -! Original : 87-10-15 -! Modified by D. Vasiljevic and J. Pailleux: 90-11-23 -! Modified by F. Rabier and J.N Thepaut: 91-01-15 -! P. Courtier: 91-08-07 (transforms calls) -! J.N Thepaut: 91-08-22 (4D with real data events managment -! + comparison model - op.analysis) -! W Heckley : 91-10-02 3-D (comparison model - obs) -! D. Vasiljevic: 92-05-08 IO and OBS. IO schemes -! L. Labbe: 93-04-15 Gradient for sensitivity job 8xx -! 08/03/1993 Additional horizontal diffusion on not stretched sphere -! (K. YESSAD). -! F. Rabier : 93-12-10 Write gradient according to post-processing set-u -! + possibility of writing it with respect to SCALP inner-pr -! K. YESSAD (MARCH 1994): Modifications in the semi-implicit scheme -! (add of call to SUHEG, call SUHEL useless). -! K. YESSAD (APRIL 1994): Unified horizontal diffusion scheme. -! M.Hamrud: 95-10-30 (New form of CLCONF) -! K. YESSAD (NOV 1995): removal of HDC horizontal diffusion scheme. -! F. Rabier : 96-09-25 Proper call to stepo(V00..0) in nconf 801 -! M.Hamrud : Optim, cleaning -! M. Fisher : 97-01-31 Write gradient at intermediate time -! C. Temperton 97-02-24: modified first timestep when XIDT>0 -! T. Bergot 97-08 : write gradient / IHISTS -! + read RFfile only if NJROPT=1 -! G. Hello : 97-08-05 Write gradient with implicit inner product -! F. Rabier : 98-01-06 call PPFLUSH in nconf 801 -! C. Soci : 98-06-15 introduction of YOMCAIN/YEMECAIN -! M. Charron: November 98 (nonhydrostatic dynamics, incomplet) -! C. Temperton 98-11-05: adjoint of two-time-level scheme -! C. Fischer : 98-11-20 Nullify boundaries for aladin/AD if asked -! C. Temperton 99-08-16: removed redundant RKROMA -! P. Gauthier :99-08-10: Jc-dfi (adjoint) -! C. Fischer : 99-12-27 Prepare for nsiter>0 -! C. Soci : 00-04-05 ZVANA&ZVAGR allocatable to include mean wind; -! write LSG at intermediate timesteps -! C. Temperton 00-03-24: bugfixes for 2TL scheme: RSTATI=>ZSTATI -! Y. Tremolet 00-08-11: use module TRAJECTORY -! C. Fischer: 02-03-13: merge ecain* into cain* -! J.Vivoda (03-2002) PC schemes for NH dynamics (LPC_XXXX keys) -! G. Desroziers : 02-09-16 also treat Aladin mean wind trajectory -! 01-Oct-2003 M. Hamrud CY28 Cleaning -! 25-Feb-2004 C. Fischer Merge Aladin into Arpege/IFS cnt4ad -! Dec-2003 K. Yessad cleaning in horizontal diffusion. -! 10-Jun-2004 J. Masek NH cleaning (LPC_NOTR) -! 01-Jul-2004 K. Yessad Cleaning in PC scheme, and paragraph numbering -! harmonisation with the direct and the TL codes (when possible!). -! Y.Tremolet 18-Mar-2004 Model error changes -! R. El Khatib : 05-02-21 specific frequency array to reset instant. fluxes -! V.Guidard&C.Fischer: 01-Apr-2004 Introduction of Jk event -! K. Yessad 08-Feb-2005 SI scheme for ARPEGE NH model -! K. Yessad 21-Apr-2005 cleanings for SPNORM-printings. -! D. Salmond 21-09-05 Fix for LTRAJGP=true -! B. Chapnik 02-May-2007 fgat : temporal loop considered only if Tstep corresponds to tslot -! and call to stepo only when needed -! Y. Seity 11-01-08 add ISHISTS for surfex output files -! Y.Tremolet 27-Nov-2008 Jc-DFI for long windows -! F. Vana 13-Jan-2009: removed special specHD setup when LSLHD -! End Modifications - -!------------------------------------------------------------------------------ - -IMPLICIT NONE - -CHARACTER (LEN = 9) :: CLCONF -CHARACTER (LEN = 9) :: CLCON9 -CHARACTER (LEN = 120) :: CLYFILE -CHARACTER (LEN = 10) :: CLTIMEOD, CLDAT(3) - -! 1 : configuration of WRTRA write the trajectory -! 2 : configuration of LTINV inverse Legendre transform -! 3 : configuration of FTINV inverse Fourier transform -! 4 : configuration of GPC grid point computations -! 5 : configuration of POS post processing -! 6 : configuration of OBS comparison to observations -! 7 : configuration of FTDIR direct Fourier transform -! 8 : configuration of LTDIR direct Legendre transform -! 9 : configuration of SPC spectral space computations - -! ZVANA : working array containing the model state. -! ZVAGR : working array containing the gradient. -TYPE(control_vector) :: YL_ZVANA, YL_ZVAGR - -! - IPOSTS : ARRAY CONTAINING POST-PROCESSING TIME STEPS -INTEGER(KIND=JPIM) :: IPOSTS(0:NSTOP/NFRPOS) -! - IPISPS : ARRAY CONTAINING ISP (Animation !) TIME STEPS -INTEGER(KIND=JPIM) :: IPISPS(0:NSTOP/NFRISP) -! - IHISTS : ARRAY CONTAINING TRAJECTORY TIME STEPS -INTEGER(KIND=JPIM) :: IHISTS(0:NSTOP/NFRHIS) -! - ISHISTS : ARRAY CONTAINING TRAJECTORY TIME STEPS FOR SURFACE -INTEGER(KIND=JPIM) :: ISHISTS(0:NSTOP/NFSRHIS) -! - IRESTS : ARRAY CONTAINING RESTART TIME STEPS -INTEGER(KIND=JPIM) :: IRESTS(0:NSTOP/NFRRES) -! - IGDITS : GRID POINT DIAGNOSTICS TIME STEPS -INTEGER(KIND=JPIM) :: IGDITS(0:NSTOP/NFRGDI) -! - ISDITS : SPECTRAL DIAGNOSTICS TIME STEPS -INTEGER(KIND=JPIM) :: ISDITS(0:NSTOP/NFRSDI) -! - IREFTS : ARRAY CONTAINING SIMULATED OBS. EVENTS STEPS -INTEGER(KIND=JPIM) :: IREFTS(0:NSTOP/NFRREF) -! - IDHFGTS : WRITE OUT TIME STEPS FOR GLOBAL MEANS DDH -INTEGER(KIND=JPIM) :: IDHFGTS(0:NSTOP/NFRDHFG) -! - IDHFZTS : WRITE OUT TIME STEPS FOR ZONAL MEANS DDH -INTEGER(KIND=JPIM) :: IDHFZTS(0:NSTOP/NFRDHFZ) -! - IDHFDTS : WRITE OUT TIME STEPS FOR LIMITED AREAS DDH -INTEGER(KIND=JPIM) :: IDHFDTS(0:NSTOP/NFRDHFD) -! - IDHPTS : PAS DE TEMPS DE SORTIES IMPRIMEES DES DDH -INTEGER(KIND=JPIM) :: IDHPTS(0:NSTOP/NFRDHP) -! - ICFUTS : CONTROLS ACCUMULATED FLUX WRITE-UP -INTEGER(KIND=JPIM) :: ICFUTS(0:NSTOP/NFRCFU) -! - IXFUTS : CONTROLS INSTANTANEOUS FLUX WRITE-UP -INTEGER(KIND=JPIM) :: IXFUTS(0:NSTOP/NFRXFU) -! - IRAZTS : CONTROLS INSTANTANEOUS FLUX RESET -INTEGER(KIND=JPIM) :: IRAZTS(0:NSTOP/NFRRAZ) -! - IANATS : ANALYSIS WRITE-OUT EVENTS -INTEGER(KIND=JPIM) :: IANATS(0:NSIM4DL/NFRANA) -! - IGRATS : GRADIENT WRITE-OUT EVENTS -INTEGER(KIND=JPIM) :: IGRATS(0:NSIM4DL/NFRGRA) -! - IMASSCONS: ARRAY CONTAINING mass conservation fixup time steps -INTEGER(KIND=JPIM) :: IMASSCONS(0:NSTOP/NFRMASSCON) -! - ILSGTS : LBC GRADIENT WRITE-OUT EVENTS -INTEGER(KIND=JPIM) :: ILSGTS(0:NSTOP/NFRLSG) -! - IHECPS : AVARC WRITE-OUT EVENTS -INTEGER(KIND=JPIM) :: IHECPS(0:NSTOP) - -REAL(KIND=JPRB), ALLOCATABLE :: ZSPA3(:,:,:), ZSPSP(:) - -INTEGER(KIND=JPIM) :: IACTIM, IDIGLST, IOUTTYPE, ITIME, JSTEP, I, jj -INTEGER(KIND=JPIM) :: IHOUR, IMIN -INTEGER(KIND=JPIM) :: IVALUES(9) -INTEGER(KIND=JPIM) :: JTSLOT, JSITER, IWEAK -INTEGER(KIND=JPIM) :: IAVARE, ipersub, istep, isub - -! LLSLOT: logical switched on if a slot is available. -LOGICAL :: LL3DVAR, LLMLPP, LLNOPPFIL, LLSLOT, LLFIRST -LOGICAL :: LLSPNRM, LLGPNRM -LOGICAL :: LLWRELSG,llevs -LOGICAL :: LLSLOT_FGAT, LLFGATLAM - -REAL(KIND=JPRB) :: ZCT, ZVT, ZWT, ZSTATI -REAL(KIND=JPRB) :: ZSEC, ZT1, ZT2 -REAL(KIND=JPRB) :: ZHOOK_HANDLE - -! ----------------------------------------------------------------- - -INTERFACE -#include "user_clock.h" -END INTERFACE - -#include "abor1.intfb.h" -#include "avarcad.intfb.h" -#include "cain.intfb.h" -#include "cainad.intfb.h" -#include "cainin.intfb.h" -#include "caininad.intfb.h" -#include "copygom5t0.intfb.h" -#include "costra.intfb.h" -#include "digfilad.intfb.h" -#include "elsin0ta.intfb.h" -#include "evarjkad.intfb.h" -#include "ewrlsgrad.intfb.h" -#include "gpnorm_gfl.intfb.h" -#include "lcnorad.intfb.h" -#include "moevar.intfb.h" -#include "monio.intfb.h" -#include "monvar.intfb.h" -#include "obsprep.intfb.h" -#include "obsvad.intfb.h" -#include "ppclose.intfb.h" -#include "ppflush.intfb.h" -#include "ppreq.intfb.h" -#include "pre_obshorad.intfb.h" -#include "spnorm.intfb.h" -#include "stepo.intfb.h" -#include "stepoad.intfb.h" -#include "suhdu.intfb.h" -#include "suheg.intfb.h" -#include "sunhsi.intfb.h" -#include "sutric.intfb.h" -#include "tslvstst.intfb.h" -#include "updtim.intfb.h" -#include "gridpoint_norm.intfb.h" -#include "add_moderr_ad.intfb.h" -#include "weak_constraint_ad.intfb.h" - -! ----------------------------------------------------------------- - -IF (LHOOK) CALL DR_HOOK('CNT4AD',0,ZHOOK_HANDLE) - -! ----------------------------------------------------------------- - -!* 1. Initialize. -! ----------- - -CALL GSTATS(23,0) -WRITE(NULOUT,*)'START CNT4AD, NSIM4D=',NSIM4D - -LL3DVAR = (NCONF == 131.AND.NSTOP == 0) -LLWRELSG=NCONF/100 == 8 .AND. LELAM .AND. N1LSG==1 -LLFGATLAM=LELAM .AND. LIDMODEL !BC fgat for aladin -! ----------------------------------------------------------------- - -!* 2. Prepare occurences of I/O and 3D/4D var events. -! ---------------------------------------------- - -CALL MONIO(IPOSTS,IPISPS,IHISTS,ISHISTS,IGDITS,ISDITS,IDHFGTS,IDHFZTS,& - & IDHFDTS,IDHPTS,ICFUTS,IXFUTS,IRESTS,IMASSCONS,IRAZTS) -CALL MONVAR(IREFTS,IANATS,IGRATS,IHECPS) - -IAVARE = NHECP(0) -IF (LELAM) THEN - CALL MOEVAR(ILSGTS) -ENDIF - -!* events not implemented -IDHFGTS(0:NSTOP/NFRDHFG) = 0 -IDHFZTS(0:NSTOP/NFRDHFZ) = 0 -IDHFDTS(0:NSTOP/NFRDHFD) = 0 -IDHPTS (0:NSTOP/NFRDHP) = 0 - -! print config - -IF (NPRINTLEV >= 1) THEN - WRITE(UNIT=NULOUT,FMT='('' GRADIENT WRITE-UP, IGRATS '')') - WRITE(UNIT=NULOUT,FMT='(40I2)')IGRATS - WRITE(UNIT=NULOUT,FMT='('' HISTORY WRITE-UP, IHISTS '')') - WRITE(UNIT=NULOUT,FMT='(40I2)')IHISTS -ENDIF -! ----------------------------------------------------------- - -!* 3. ADJOINT integration. -! -------------------- - -!* 3.0 Preliminary calculations. - -NSTEP = NSTOP - -LLSLOT = .FALSE. -ZSTATI=REAL(NINT(NSTEP*TSTEP),JPRB) - -LLMLPP = LTWSKFZ .AND. IHISTS(NSTEP/NFRHIS) == 1.AND. MOD(NSTEP,NFRHIS) == 0 - -IACTIM = NACTIM - -LLSPNRM=ISDITS(NSTEP/MAX(1,NFRSDI)) == 1.AND.MOD(NSTEP,MAX(1,NFRSDI)) == 0 -IF(LLSPNRM) THEN - WRITE(UNIT=NULOUT,FMT='('' NORMS AT START CNT4AD '')') - CALL SPNORM(0) - CALL GPNORM_GFL -ENDIF - -CLCONF(1:9) = '000000000' - -!* 3.21 Miscellaneous. - -! Computations in observation space - -IF (.NOT.LSIMOB) THEN - IF(NCONF/100 == 1) THEN - IF (LOBSTL.AND.LOBS) THEN - -! PREPARE TRAJECTORY IN OBSERVATION SPACE - - CALL USER_CLOCK(PELAPSED_TIME=ZWT,PVECTOR_CP=ZVT,PTOTAL_CP=ZCT) - ZCT=ZCT-RSTART - ZVT=ZVT-RVSTART - ZWT=ZWT-RTIMEF - RSTART=RSTART+ZCT - RVSTART=RVSTART+ZVT - RTIMEF=RTIMEF+ZWT - CALL COPYGOM5T0 - WRITE(NULOUT,'('' NSTEP ='',I6,'' OBSVAD '',A9)')& - & NSTEP,CLCONF - CALL OBSVAD - IF(LPREMPOBS) THEN - CALL PRE_OBSHORAD - ENDIF - ENDIF - LLFIRST = .TRUE. - LLSLOT = .FALSE. - DO JTSLOT=NACTIM,1,-1 -! DIRECT - IF(LL3DVAR.OR.NTSLVSTST(JTSLOT) == NSTEP ) THEN - LLSLOT = .TRUE. - NTSLOTNO = IACTIM - IF(LLFIRST) THEN - LLFIRST = .FALSE. - NTSLOTNOS = IACTIM - ENDIF - NTSLOTNOE = IACTIM - IACTIM = IACTIM-1 - WRITE(UNIT=NULOUT,FMT='('' CNT4AD (ADJOINT INTEGRATION);'' & - & ,'' TIME SLOT NO : '',I3 & - & ,'' TO BE USED WITH TIME STEP (NSTEP) : '',I3 & - & ,'' ; MODEL TIME (SINCE START) : '',F6.0)')& - & NTSLOTNO,NSTEP,ZSTATI - CALL FLUSH(NULOUT) - IF (LOBS) THEN - CALL OBSPREP('V') - ENDIF - ENDIF - ENDDO - IF(LLSLOT) THEN - NTSLOTNO = NTSLOTNOE - IF (LOBSTL) THEN -! GOM-ARRAYS ALREADY PREPARED - ELSE - IF (LTRREF) THEN - CLCONF(1:9) = 'B00000000' - ELSE - CALL GSTATS(15,0) - CALL GET_TRAJ_SPEC(SP5A3,SP5A2,SP5A1,KSTEP=NSTEP) - CALL GSTATS(15,1) - ENDIF - IF(LL3DVAR) THEN - CLCONF(2:2) = 'K' - CLCONF(3:3) = 'D' - ELSE - CLCONF(2:2) = 'E' - CLCONF(3:3) = 'C' - ENDIF - CLCONF(6:6) = 'V' - CALL STEPO(CLCONF) - ENDIF - ENDIF -! ADJOINT - CLCON9(1:9) = '000000000' - IF (LLSLOT) THEN - IF (LL3DVAR) THEN - CLCON9(2:2) = 'G' - CLCON9(3:3) = 'B' - ELSEIF (.NOT.LIDMODEL) THEN - CLCON9(2:2) = 'A' - CLCON9(3:3) = 'A' - ENDIF - IF (LOBS) CLCON9(6:6) = 'V' - ENDIF - IF (CLCON9(1:9)/='000000000') CALL STEPOAD(CLCON9) - ENDIF -ELSE - IF(.NOT.LTRAJGP) THEN - IF (LTRREF) THEN - CLCONF(1:9) = 'B00000000' - ELSE - CALL GSTATS(15,0) - CALL GET_TRAJ_SPEC(SP5A3,SP5A2,SP5A1,KSTEP=NSTEP) - CALL GSTATS(15,1) - ENDIF - ENDIF -ENDIF - -IF (.NOT.LSIMOB) THEN -ELSE - IF(NCONF == 801) THEN - -! ----- observation events management ---------------------- - - IF(IREFTS(NSTEP/NFRREF) == 1.AND.MOD(NSTEP,NFRREF) == 0.0_JPRB ) THEN - -! ----- read observations ---------------------------------- - - LTRREF=.TRUE. - - IF (NJROPT /= 1) THEN - -! do nothing!! - - ELSE - -! read RF file - - IF(L801TL)THEN - CLCONF(1:1)='V' - ELSE - CLCONF(1:1)='B' - ENDIF - CLCONF(2:9)='00000000' - CALL STEPO(CLCONF) - ENDIF - CALL COSTRA - LTRREF=.FALSE. - - ENDIF - ENDIF -ENDIF - -!* 3.9.4 a Comparison to reference state (AVARC) -IF (LAVARC.AND.IHECPS(NSTEP) == 1) THEN - WRITE(NULOUT,*) 'adjoint starts: AVARC event at NSTOP event = ',IAVARE - CALL AVARCAD(IAVARE) - IAVARE = IAVARE - 1 -ENDIF -! ----- add the gradient of the Jk cost function - IF (LELAM) THEN - IF (LEJK) CALL EVARJKAD - ENDIF - -! 3.1.1 a Time filtering constraint based on digital filter -! is being computed -! Its contribution is added to SPA3, SPA2 and SPA1. -! ----- adjoint of Jc-dfi for NSTOP ---------------- - -IF (LJCDFI.AND.LUSEJCDFI) THEN -! Step should be local to subwindow - IF (N_COUPLED_WINDOWS>1) THEN - isub=1 - istep=0 - IF (NSTEP>0) THEN - ipersub=NSTOP/N_COUPLED_WINDOWS - istep=MOD(NSTEP-1,ipersub)+1 - isub=(NSTEP-1)/ipersub+1 - ENDIF - ELSE - isub=1 - istep=NSTEP - ENDIF - IDIGLST = 2*NSTDFI - IF (NSIM4D==0.AND.N_COUPLED_WINDOWS>0) THEN - write(nulout,*)'CNT4AD: Calling DIGFILAD nstep,isub,istep=',nstep,isub,istep - ENDIF - CALL DIGFILAD(istep, IDIGLST, isub, SPA3, SPD2D, SPA1, .TRUE.) -ENDIF - -! 3.??? Write-up of the gradient (part not present in cnt4tl) - -IF ((NCONF/100 == 1.OR.NCONF/100 == 8) .AND. LGRASCAL) THEN - CALL ALLOCATE_CTLVEC(YL_ZVANA) - CALL ALLOCATE_CTLVEC(YL_ZVAGR) -ENDIF - -! 3.??? ??? (part not present in cnt4tl) - -IF (NCONF == 601.AND. LLMLPP) THEN - CLCONF='A00000000' - IOUTTYPE=NOUTTYPE - NOUTTYPE=1 - CALL STEPO(CLCONF) - NOUTTYPE=IOUTTYPE -ELSEIF (NCONF/100 == 1.OR.NCONF/100 == 8) THEN - IF ( (IGRATS(NSIM4D/NFRGRA) == 1.AND.& - & MOD(NSIM4D,NFRGRA) == 0.OR.NSIM4D == NSIM4DL)& - & .AND.(IHISTS(NSTEP/NFRHIS) == 1.AND.& - & MOD(NSTEP,NFRHIS) == 0) )THEN - - IF (LGRASCAL) THEN -! WRITE GRADIENT WITH RESPECT TO SCALP INNER-PRODUCT -! SAVE GRADIENT WITH RESPECT TO STANDARD INNER-PRODUCT - WRITE(NULOUT,'(''LGRASCAL=true, sens-grad scaled by the inverse of scalp'')') - CALL CAININ (YL_ZVANA) -! GET GRADIENT WITH RESPECT TO SCALP INNER-PRODUCT - YL_ZVAGR = 0.0_JPRB - IF (LFORCE) THEN - CALL CAIN (YSPFORCE) - ENDIF - CALL CAINAD (YL_ZVAGR) - CALL CAIN (YL_ZVAGR) - LTWGRA = .TRUE. - CLCONF(1:9)='A00000000' - CALL STEPO(CLCONF) - CALL PPFLUSH - CALL PPCLOSE - LTWGRA = .FALSE. -! FETCH GRADIENT WITH RESPECT TO STANDARD INNER-PRODUCT - CALL CAIN (YL_ZVANA) - ELSE -! WRITE GRADIENT WITH RESPECT TO IMPLICIT(STANDARD) INNER-PRODUCT - WRITE(NULOUT,'(''LGRASCAL=false, sens-grad not scaled'')') - IF (LFORCE) THEN - CALL CAIN(YSPFORCE) - ENDIF - LTWGRA = .TRUE. - CLCONF(1:9)='A00000000' - CALL STEPO(CLCONF) - CALL PPFLUSH - CALL PPCLOSE - LTWGRA = .FALSE. - ENDIF - ENDIF -ENDIF - -!* TEMPORAL LOOP - -IF(NSTART /= NSTAR2 .OR.& - & NSTOP /= NSTOP2 ) THEN - WRITE(NULOUT,'('' NSTART, NSTOP ARE DIFFERENT FROM NSTAR2, NSTOP2'')') - WRITE(NULOUT,'('' NSTART, NSTOP, NSTAR2, NSTOP2: '',4(I5,1X))') & - & NSTART, NSTOP, NSTAR2, NSTOP2 - WRITE(NULOUT,'('' THEREFORE, TIMESLOT VS TIMESTEP IS RECALCULATED'')') - CALL TSLVSTST(NSTAR2,NSTOP2,TSTEP,NACTIM,NTSLVSTST) -ENDIF - -!* 3.1 Main temporal loop - -TEMPORAL_LOOP: DO JSTEP=NSTOP2-1,NSTAR2,-1 - -IF (LLFGATLAM .AND. (ALL(NTSLVSTST /= JSTEP)) ) CYCLE - - CALL USER_CLOCK(PTOTAL_CP=ZT1) - -!* 3.2 Current value of the time step length - - IF(JSTEP == 0.OR.LTWOTL)THEN - TDT=TSTEP - ELSE - TDT=2.0_JPRB*TSTEP - ENDIF - -!* 3.3 Reset of time dependant constants (clock,astronomy...) - - CALL UPDTIM(JSTEP,TDT,TSTEP,.FALSE.) - -!* 3.4 Reset semi-implicit solver in the multilevel model, and the -! additional horizontal diffusion operator. - - IF (.NOT.LELAM) THEN - - ! * SI scheme: - IF (LNHDYN) THEN - CALL SUNHSI(NULOUT,.FALSE.) - ELSE - IF (LSIDG) THEN - CALL SUHEG - ENDIF - IF (LSITRIC.AND.(JSTEP == NSTOP-2.OR.(JSTEP == 1.AND..NOT.LTWOTL))) THEN - CALL SUTRIC - ENDIF - ENDIF - - ! * HD scheme: - IF (LSTRHD) THEN - ! * This call to SUHDU actually does something in a leap-frog scheme if - ! TDT=2*TSTEP for the current jstep, and TDT=TSTEP for the previous one - CALL SUHDU - ENDIF - - ELSE - - ! * SI scheme: - IF (LNHDYN .AND. (NSTOP > 0 .AND. .NOT.LFPART2)) THEN - CALL SUNHSI(NULOUT,.FALSE.) - ENDIF - - ! * HD scheme: - - ENDIF - -!* 3.6 Reset YOMCT3 etc. - - NSTEP=JSTEP - LLSLOT=.FALSE. - ZSTATI=REAL(NINT(NSTEP*TSTEP),JPRB) - - LLSPNRM=ISDITS(JSTEP/MAX(1,NFRSDI)) == 1.AND.MOD(JSTEP,MAX(1,NFRSDI)) == 0 - LLGPNRM=IGDITS(JSTEP/MAX(1,NFRGDI)) == 1.AND.MOD(JSTEP,MAX(1,NFRGDI)) == 0 - IF(LLSPNRM) THEN - WRITE(UNIT=NULOUT,FMT='('' NORMS AT NSTEP CNT4AD '',I4)')NSTEP - CALL SPNORM(0) - ENDIF - IF (LLGPNRM) THEN - CALL GPNORM_GFL - ENDIF - IF (LFCOBSTEST.AND.(NSIM4D<=4.OR.NSIM4D==NSIM4DL)) THEN - WRITE(NULOUT,*)'LFSOBS NORMS AT CNT4AD' - CALL SPNORM(0) - CALL GPNORM_GFL - ENDIF - -!* 3.6.1 Nullify GT3 - - IF (LELAM.AND.(NECOAD < 0.OR.LE0COTA).AND.(NSTOP /= 0)) THEN - CALL ELSIN0TA - ENDIF - -!* 3.8 Reset time dependent variables - - LLMLPP = LTWSKFZ .AND. IHISTS(JSTEP/NFRHIS) == 1 & - & .AND. MOD(JSTEP,NFRHIS) == 0 - -!* 3.8.6 Add the forcing that was saved during the TL integration - - IF (L_SOS) THEN - IF (MOD((JSTEP+1),NSTEPS_PER_STATE)==0 .AND. JSTEP+1 < NSTOP) THEN - I = (JSTEP+1)/NSTEPS_PER_STATE - ALLOCATE (ZSPA3(SIZE(SPA3,1),SIZE(SPA3,2),SIZE(SPA3,3))) - ZSPA3(:,:,:) = SPA3(:,:,:) - IF (NPSP==1) THEN - ALLOCATE (ZSPSP(SIZE(SPSP))) - ZSPSP(:) = SPSP(:) - ENDIF - CALL CAININAD (YSTATE_VECTOR_4D(I)) - IF(LOCNORM) CALL LCNORAD - SPA3(:,:,:) = SPA3(:,:,:) + ZSPA3(:,:,:) - DEALLOCATE (ZSPA3) - IF (NPSP==1) THEN - SPSP(:) = SPSP(:) + ZSPSP(:) - DEALLOCATE (ZSPSP) - ENDIF - ENDIF - ENDIF - -!* 3.??? Prepare for post-processing (part not present in cnt4tl). - - IF(LOPPCNT.AND.LLMLPP .AND. NCONF == 601.AND..NOT.LFPOS) THEN - ITIME=JSTEP*TSTEP+0.5_JPRB - CALL PPREQ(INT(ITIME,JPIB),LLNOPPFIL,CLYFILE) - IF(LLNOPPFIL) THEN - LLMLPP=.FALSE. - ENDIF - ENDIF - -!* 3.8.7 Manage trajectory -! Initialize CLCONF for call to STEPO (trajectory) - - IF (LTRREF) THEN - CLCONF(1:9) = 'BE0000000' - ELSE - IF(.NOT.LTRAJGP) THEN - CALL GSTATS(15,0) - CALL GET_TRAJ_SPEC(SP5A3,SP5A2,SP5A1,KSTEP=NSTEP) - CALL GSTATS(15,1) - ENDIF - CLCONF(1:9)='0E0000000' - ENDIF - -! first call for (first-guess) trajectory -! don't understand anymore why this is only for Aladin (CF) ... -! In cnt4tl this is also called for lelam=false (K.Y.) - IF(.NOT.LTRAJGP.AND.LELAM .AND. .NOT. LIDMODEL) THEN - CALL STEPO(CLCONF) - ENDIF - -!* 3.12 MODERR - - IF (LMODERR.AND.NTYPE_MODERR==2) CALL ADD_MODERR_AD(SPMODERR,GPMODERR,NSTEP) - -!* 3.11 Corrector step. - - IF(NSITER > 0) THEN - - ! Last step: - - NCURRENT_ITER=NSITER - CLCON9(1:9)='0AAS00AAA' - CALL STEPOAD(CLCON9) - - ! Iteration step: - - DO JSITER = NSITER-1, 1, -1 - NCURRENT_ITER=JSITER - CLCON9(1:9)='0AAS00AAS' - CALL STEPOAD(CLCON9) - ENDDO - - ENDIF - -!* 3.10 Ordinary time step (predictor if PC scheme). -! Initialize CLCON9 for call to STEPOAD - - CLCON9(1:9)='0AAA00AAA' - NCURRENT_ITER=0 - - IF (NSITER == 0) THEN - CLCON9(9:9)='A' - ELSEIF (NSITER > 0) THEN - CLCON9(9:9)='T' - ELSEIF(NSITER < 0) THEN - CALL ABOR1('NEGATIVE NSITER NOT ALLOWED') - ENDIF - - IF (LIDMODEL) THEN - IF (JSTEP/=0) THEN - CLCON9(2:2)='0' - CLCON9(3:3)='0' - ENDIF - CLCON9(4:4)='0' - CLCON9(5:5)='0' - CLCON9(7:7)='0' - CLCON9(8:8)='0' - CLCON9(9:9)='0' - ENDIF - -!* 3.??? Observations (part not present in cnt4tl) - - IF (.NOT.LSIMOB) THEN - ! Real observations - - LLSLOT = .FALSE. - LLFIRST = .TRUE. - LLSLOT_FGAT = .FALSE. - CALL GSTATS(1832,0) - DO JTSLOT=NACTIM,1,-1 - IF(LOBS.AND.NTSLVSTST(JTSLOT) == NSTEP ) THEN - LLSLOT = .TRUE. - LLSLOT_FGAT=( LLSLOT .AND. LIDMODEL ) - NTSLOTNO = IACTIM - IF(LLFIRST) THEN - LLFIRST = .FALSE. - NTSLOTNOS = IACTIM - ENDIF - NTSLOTNOE = IACTIM - IACTIM = IACTIM-1 - IF (LOBSTL) THEN - ! GOM-ARRAYS ALREADY PREPARED - ELSE - CLCONF(3:3) = 'C' - CLCONF(6:6) = 'V' - ENDIF - WRITE(UNIT=NULOUT,FMT='('' CNT4AD (TEMPORAL LOOP);'' & - & ,'' TIME SLOT NO : '',I3 & - & ,'' TO BE USED WITH TIME STEP (NSTEP) : '',I3 & - & ,'' ; MODEL TIME (SINCE START) : '',F6.0)')& - & NTSLOTNO,NSTEP,ZSTATI - CALL FLUSH(NULOUT) - IF (LOBS) THEN - CALL OBSPREP('V') - ENDIF - ENDIF - ENDDO - CALL GSTATS(1832,1) - IF ((.NOT.LTRAJGP .AND. .NOT. LIDMODEL) .OR. LLSLOT_FGAT ) THEN - CALL STEPO(CLCONF) - ENDIF - - IF(LLSLOT) THEN - NTSLOTNO = NTSLOTNOE - CLCON9(6:6)='V' - ENDIF - - IF (CLCON9(1:9)/='000000000') CALL STEPOAD(CLCON9) - ELSE - - ! Simulated observations - - ! Trajectory. - IF(.NOT.LTRAJGP) THEN - CALL STEPO(CLCONF) - ENDIF - ! Adjoint integration. - CALL STEPOAD(CLCON9) - - IF(IREFTS(JSTEP/NFRREF) == 1.AND.MOD(JSTEP,NFRREF) == 0 & - & .AND.NCONF == 801) THEN - - !* read observations and not trajectory - LTRREF=.TRUE. - IF(L801TL)THEN - CLCONF(1:1)='V' - ELSE - CLCONF(1:1)='B' - ENDIF - CLCONF(2:9)='00000000' - CALL STEPO(CLCONF) - CALL COSTRA - LTRREF=.FALSE. - ENDIF - ENDIF - -!* 3.9.4 b Comparison to reference state (AVARC) - IF (LAVARC.AND.IHECPS(JSTEP) == 1) THEN - WRITE(NULOUT,*) 'adjoint run AVARC event at JSTEP = ',JSTEP,' event= '& - & , IAVARE - IF (IAVARE < 1) THEN - CALL ABOR1('AVARC error: IAVARE < 1 ') - ENDIF - CALL AVARCAD(IAVARE) - IAVARE = IAVARE - 1 - ENDIF - -!* 3.X Weak Constraints 4D-Var - - IF (LMODERR) THEN - iweak=MSTEPERR(NSTEP) - IF (NTYPE_MODERR==1.AND.iweak>0) CALL WEAK_CONSTRAINT_AD - IF (NTYPE_MODERR==4.AND.iweak>0) THEN - IF (LJCDFI.AND.N_COUPLED_WINDOWS>1) THEN - ipersub=NSTOP/N_COUPLED_WINDOWS - isub=NSTEP/ipersub+1 - istep=0 - IDIGLST=2*NSTDFI - IF (NSIM4D==0) THEN - write(nulout,*)'CNT4AD: Calling DIGFILAD estep,isub,istep=',nstep,isub,istep - ENDIF - CALL DIGFILAD(istep, IDIGLST, isub, SPA3, SPD2D, SPA1, .TRUE.) - ENDIF - CALL ADD_MODERR_AD(SPMODERR,GPMODERR,NSTEP) - ELSEIF (NTYPE_MODERR==5 .AND. iweak>0) THEN - IF (NSIM4D == NSIM4DL) THEN - CALL ADD_MODERR_AD(SPMODERR,GPMODERR,NSTEP,SPMODERR_HYB,GPMODERR_HYB) - ELSE - CALL ADD_MODERR_AD(SPMODERR,GPMODERR,NSTEP) - ENDIF - ENDIF - ENDIF - -! 3.1.1 b Time filtering constraint based on digital filter -! is being computed -! Its contribution is added to SPA3, SPA2 and SPA1. - - IF (LJCDFI.AND.LUSEJCDFI) THEN -! Step should be local to subwindow - IF (N_COUPLED_WINDOWS>1) THEN - isub=1 - istep=0 - IF (NSTEP>0) THEN - ipersub=NSTOP/N_COUPLED_WINDOWS - istep=MOD(NSTEP-1,ipersub)+1 - isub=(NSTEP-1)/ipersub+1 - ENDIF - ELSE - isub=1 - istep=NSTEP - ENDIF - IDIGLST = 2*NSTDFI - IF (NSIM4D==0.AND.N_COUPLED_WINDOWS>0) THEN - write(nulout,*)'CNT4AD: Calling DIGFILAD nstep,isub,istep=',nstep,isub,istep - ENDIF - CALL DIGFILAD(istep, IDIGLST, isub, SPA3, SPD2D, SPA1, .TRUE.) - ENDIF - -!* 3.??? Write-up of the gradient (part not present in cnt4tl). - - IF (NCONF == 601.AND. LLMLPP) THEN - CLCONF='A00000000' - IOUTTYPE=NOUTTYPE - NOUTTYPE=1 - CALL STEPO(CLCONF) - NOUTTYPE=IOUTTYPE - ELSEIF (NCONF/100 == 1.OR.NCONF/100 == 8) THEN - IF ( (IGRATS(NSIM4D/NFRGRA) == 1.AND.& - & MOD(NSIM4D,NFRGRA) == 0.OR.NSIM4D == NSIM4DL)& - & .AND.(IHISTS(NSTEP/NFRHIS) == 1.AND.& - & MOD(NSTEP,NFRHIS) == 0) )THEN - - IF (LGRASCAL) THEN -! WRITE GRADIENT WITH RESPECT TO SCALP INNER-PRODUCT -! SAVE GRADIENT WITH RESPECT TO STANDARD INNER-PRODUCT - CALL CAININ (YL_ZVANA) -! GET GRADIENT WITH RESPECT TO SCALP INNER-PRODUCT - YL_ZVAGR = 0.0_JPRB - IF (LFORCE) THEN - CALL CAIN (YSPFORCE) - ENDIF - CALL CAINAD (YL_ZVAGR) - CALL CAIN (YL_ZVAGR) - LTWGRA = .TRUE. - CLCONF(1:9)='A00000000' - CALL STEPO(CLCONF) - CALL PPFLUSH - CALL PPCLOSE - LTWGRA = .FALSE. -! FETCH GRADIENT WITH RESPECT TO STANDARD INNER-PRODUCT - CALL CAIN (YL_ZVANA) - ELSE -! WRITE GRADIENT WITH RESPECT TO IMPLICIT(STANDARD) INNER-PRODUCT - IF (LFORCE) THEN - CALL CAIN(YSPFORCE) - ENDIF - LTWGRA = .TRUE. - CLCONF(1:9)='A00000000' - CALL STEPO(CLCONF) - CALL PPFLUSH - CALL PPCLOSE - LTWGRA = .FALSE. - ENDIF - ENDIF - IF (LLWRELSG) THEN - IF (((ILSGTS(NSTEP/NFRLSG) == 1.AND.MOD(NSTEP,NFRLSG) == 0) & - & .OR.(NSTEP == 1)).AND.NSTEP /= 0) THEN - CALL EWRLSGRAD - ENDIF - ENDIF - ENDIF - -!* 3.13 Copy state for use as forcing during the TL integration - - IF (L_EOFS) THEN - IF (MOD((JSTEP+1),NSTEPS_PER_STATE)==0 .AND. JSTEP+1 < NSTOP) THEN - I = (JSTEP+1)/NSTEPS_PER_STATE - YSTATE_VECTOR_4D(I)%data = 0.0_JPRB - CALL CAINAD (YSTATE_VECTOR_4D(I)) - ENDIF - ENDIF - -!* 3.15 Signal SMS event for completion of post_processing - - IF(LLMLPP) THEN - IF(NOUTTYPE /= 2) THEN - CALL PPFLUSH - IF( LPPTSF )THEN - CALL PPCLOSE - ENDIF - ENDIF - ENDIF - - CALL USER_CLOCK(PTOTAL_CP=ZT2) - CALL DATE_AND_TIME(CLDAT(1),CLTIMEOD,CLDAT(3),IVALUES) - ZSEC = REAL(NSTEP,JPRB)*TSTEP +0.5_JPRB - IHOUR = INT( ZSEC/3600._JPRB ) - IMIN = INT( (ZSEC-REAL(IHOUR,JPRB)*3600._JPRB)/60._JPRB ) - -ENDDO TEMPORAL_LOOP - -!* 3.20 Miscellaneous (deallocations and final call to SPNORM). - -IF ((NCONF/100 == 1.OR.NCONF/100 == 8) .AND. LGRASCAL) THEN - CALL DEALLOCATE_CTLVEC(YL_ZVANA) - CALL DEALLOCATE_CTLVEC(YL_ZVAGR) -ENDIF - -LLSPNRM=ISDITS(NSTEP/MAX(1,NFRSDI)) == 1.AND.MOD(NSTEP,MAX(1,NFRSDI)) == 0 -IF (LLSPNRM.OR.NSIM4D<=1.OR.NSIM4D==NSIM4DL) THEN - WRITE(UNIT=NULOUT,FMT='('' NORMS AT END CNT4AD '')') - CALL SPNORM(0) - CALL GPNORM_GFL - IF (LMODERR) THEN - llevs=(NPRTMODERR>=2) - DO jj=1,NDIM_MODERR - CALL SPECTRAL_NORM (SPMODERR(jj),'CNT4AD MODERR') - CALL GRIDPOINT_NORM(GPMODERR(jj),'CNT4AD MODERR',llevs) - ENDDO - ENDIF -ENDIF - -CALL GSTATS(23,1) -! ----------------------------------------------------------------- - -IF (LHOOK) CALL DR_HOOK('CNT4AD',1,ZHOOK_HANDLE) -END SUBROUTINE CNT4AD diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/module/yommsc.F90 b/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/module/yommsc.F90 deleted file mode 100644 index a036cdba027fff7e5d29cf08d6c165dcdb2de5cd..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/module/yommsc.F90 +++ /dev/null @@ -1,36 +0,0 @@ -MODULE YOMMSC - -USE PARKIND1 ,ONLY : JPIM ,JPRB - -IMPLICIT NONE - -SAVE - -! ------------------------------------------------------------------ -!* Basic parameters - -! NINTLEN - length of INTEGER_M variables in bytes -! NLOGLEN - length of logicals in bytes -! NREALEN - length of REAL_B variables in bytes -! NDBLLEN - length of REAL_H variables in bytes -! N_DEFAULT_REAL_KIND - The KIND value of the default REAL kind -! N_DOUBLE_KIND - The KIND value of double precision - -INTEGER(KIND=JPIM) :: NINTLEN -INTEGER(KIND=JPIM) :: NREALEN -INTEGER(KIND=JPIM) :: NLOGLEN -INTEGER(KIND=JPIM) :: NDBLLEN - -REAL, PRIVATE :: Z_DEFAULT_REAL ! intentionally not REAL(KIND=JPRB) -INTEGER(KIND=JPIM), PARAMETER :: N_DEFAULT_REAL_KIND = KIND(Z_DEFAULT_REAL) - -DOUBLE PRECISION, PRIVATE :: DL_DOUBLE_PRECISION ! intentionally not REAL(KIND=JPRH) - -#ifdef DOUBLE_KIND_EQUALS_REAL -INTEGER(KIND=JPIM), PARAMETER :: N_DOUBLE_KIND = KIND(Z_DEFAULT_REAL) -#else -INTEGER(KIND=JPIM), PARAMETER :: N_DOUBLE_KIND = KIND(DL_DOUBLE_PRECISION) -#endif - -! ------------------------------------------------------------------ -END MODULE YOMMSC diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/phys_ec/su_aerw.F90 b/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/phys_ec/su_aerw.F90 deleted file mode 100644 index cd5cb11a5c5e1f487e97398a03a20a5e2f2d8ad0..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/ifs-36r4/src/ifs/phys_ec/su_aerw.F90 +++ /dev/null @@ -1,857 +0,0 @@ -SUBROUTINE SU_AERW - -!**** *SU_AERW* - DEFINES INDICES AND PARAMETERS FOR VARIOUS AEROSOL VARIABLES - -! PURPOSE. -! -------- -! INITIALIZE YOEAERATM, YOEAERSRC, YOEAERSNK, THE MODULES THAT CONTAINS INDICES -! ALLOWING TO GET THE AEROSOL PARAMETERS RELEVANT FOR THE PROGNOSTIC AEROSOL -! CONFIGURATION. - -!** INTERFACE. -! ---------- -! *CALL* *SU_AERW - -! EXPLICIT ARGUMENTS : -! -------------------- -! NONE - -! IMPLICIT ARGUMENTS : -! -------------------- -! YOEAERATM, YOEAERSRC - -! METHOD. -! ------- -! SEE DOCUMENTATION - -! EXTERNALS. -! ---------- - -! REFERENCE. -! ---------- -! ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS - -! AUTHOR. -! ------- -! JEAN-JACQUES MORCRETTE *ECMWF* - -! MODIFICATIONS. -! -------------- -! ORIGINAL : 2005-07-08 - -! ------------------------------------------------------------------ - -USE PARKIND1 ,ONLY : JPIM ,JPRB -USE YOMHOOK ,ONLY : LHOOK, DR_HOOK - -USE YOEAERATM, ONLY : LAERSCAV ,LAERSEDIM, LAERSURF, LAER6SDIA, & - & LAERCLIMG, LAERCLIMZ, LAERCLIST, LAERDRYDP, LAERGTOP, LAERLISI, LAERNGAT, & - & LAERHYGRO, LAERCCN , LAEROPT , LAERRAD , LAERUVP , LUVINDX , & - & REPSCAER , NAERCONF , NXT3DAER , NINIDAY -USE YOEAERMAP ,ONLY : RDDUAER -USE YOEAERSRC, ONLY : LEPAERO , NAERWND, NAERDUT, & - & NINDAER , NMAXTAER, NTAER , NTYPAER, RGELAV , RGEMUV , & - & RDGLAV , RDGMUV , RCLONV , RSLONV , RDCLONV, RDSLONV, & - & RSSFLX , RLATVOL , RLONVOL , NDDUST , NSSALT , RAERDUB, & - & RBCPHIL, RBCPHOB , ROMPHIL , ROMPHOB, RFCTSS , RFCTDU , RFCTDUR, RFCTSSR, & - & NBIN , NTYP, LAEROMIN - -USE YOEPHY , ONLY : LE4ALB - -USE YOEDBUG , ONLY : KSTPDBG , NSTPDBG - -USE YOMCST , ONLY : RPI -USE YOMGC , ONLY : GELAM, GEMU -USE YOMGEM , ONLY : NGPTOT -!USE YOMLEG , ONLY : RMU -USE YOMLUN , ONLY : NULNAM, NULOUT -USE YOMRIP , ONLY : NINDAT, NSSSSS - -USE YOM_YGFL , ONLY : NAERO, NACTAERO - -USE YOERAD , ONLY : LCMIP5 - -IMPLICIT NONE - -INTEGER(KIND=JPIM) :: IAER, ICAER, ITAER -INTEGER(KIND=JPIM) :: J, JAER, JL - -!-- map -INTEGER(KIND=JPIM) :: IFF, IAERWND -REAL(KIND=JPRB) :: ZDDUAER(50,2) -REAL(KIND=JPRB) :: ZBNDA, ZBNDB, ZBNDC, ZBNDD, ZBNDE, ZBNDF, ZBNDG, ZBNDH, & - & ZBNDI, ZBNDJ, ZBNDK, ZBNDL, ZBNDM -REAL(KIND=JPRB) :: ZDEGRAD, ZINCLAT, ZLAT, ZLON, ZLONE, ZLONGB, ZLONW -CHARACTER(LEN=45) :: CLAERWND(0:3) - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -! ---------------------------------------------------------------- - -#include "posnam.intfb.h" - -#include "su_aerp.intfb.h" -#include "su_aerop.intfb.h" -! ---------------------------------------------------------------- - -#include "naeaer.h" - -! ---------------------------------------------------------------- -IF (LHOOK) CALL DR_HOOK('SU_AERW',0,ZHOOK_HANDLE) - -!* 1. DEFAULT VALUES OF PARAMETERS -! ---------------------------- - -NMAXTAER=8 - -LEPAERO =.FALSE. -LAERCLIMG=.FALSE. -LAERCLIMZ=.FALSE. -LAERDRYDP=.FALSE. -LAERGTOP =.FALSE. -LAERHYGRO=.FALSE. -LAERLISI =.FALSE. -LAERNGAT =.FALSE. -LAERSCAV =.FALSE. -LAERSEDIM=.FALSE. -LAERSURF =.FALSE. -LAER6SDIA=.FALSE. -LAERRAD =.FALSE. -LAEROPT(:)=.FALSE. -LAERCCN =.FALSE. -LAERUVP =.FALSE. -LUVINDX =.FALSE. - -LAERCLIST=.FALSE. -LAEROMIN=.FALSE. - -!- note that NAERCONF is now irrelevant -NAERCONF=-99 -NXT3DAER=0 -NINIDAY=19000101 - -NTAER =0 -!-- default values -!-- DDust is "a la Ginoux et al., 2001" =f(DEP*WND3 +filter on ALUV and FrBaS) -NDDUST =7 -RAERDUB=2.E-11_JPRB -!-- SSalt is Monahan et al. 1986 -NSSALT =1 - -! the 8 types and assumed number of bins are: -! NTYPAER bins type -! 1 1- 3 sea-salt 0.03 - 0.5 - 5 - 20 microns -! 2 4- 6 dust 0.03 - 0.5 - 0.9 - 20 microns -! 3 7- 8 POM hydrophilic, hydrophobic -! 4 9-10 BC hydrophilic, hydrophobic -! 5 11-12 SO4/SO2 including sulfate prognostic stratospheric aerosols (SO4 is 11) -! 6 13 fly ash -! 7 14 pseudo-prognostic stratospheric aerosols -! 8 15 pseudo-prognostic volcanic aerosols - -DO JAER=1,NMAXTAER - NTYPAER(JAER)=0 -ENDDO - -RLATVOL=-999._JPRB -RLONVOL=-999._JPRB -RGELAV =-999._JPRB -RGEMUV =-999._JPRB -RDGLAV = 999._JPRB -RDGMUV = 999._JPRB -RCLONV =-999._JPRB -RSLONV =-999._JPRB -RDCLONV= 999._JPRB -RDSLONV= 999._JPRB - -NSTPDBG=10 -DO J=1,NSTPDBG - KSTPDBG(J)=-999 -ENDDO - -REPSCAER=1.E-20_JPRB - -RBCPHIL = 0.8_JPRB -RBCPHOB = 1.0_JPRB-RBCPHIL -ROMPHIL = 0.5_JPRB -ROMPHOB = 1.0_JPRB-ROMPHIL - -ZDDUAER(:,1) = 1.00_JPRB -ZDDUAER(:,2) = 0.10_JPRB -RDDUAER(:) = 0.0_JPRB -NAERDUT=0 - -!-- default values are for use of 10-m wind as predictor for SS and DU -NAERWND = 0 -IAERWND = 1 -RFCTDU = 1.0_JPRB -RFCTSS = 1.0_JPRB -RFCTDUR = 0.40_JPRB -RFCTSSR = 0.52_JPRB -CLAERWND(0) = '10-M WIND AS PREDICTOR FOR SS AND DU ' -CLAERWND(1) = 'PREDICTORS: WIND GUST FOR SS, 10M-WIND FOR DU' -CLAERWND(2) = 'PREDICTORS: WIND GUST FOR DU, 10M-WIND FOR SS' -CLAERWND(3) = 'WIND GUST AS PREDICTORS FOR SS AND DU ' - -! ------------------------------------------------------------------ - -!* 2. INITIALIZE GEOGRAPHICALLY-DEPENDENT AEROSOL PARAMETERS -! ------------------------------------------------------ - -! Canada 1 1. 0.1 -! Alaska 2 1. 0.1 -! USA 3 1. 0.08 -! Central America 4 0.60 0.05 -! South America 5 0.60 0.01 -! Brazil 6 1. 0.1 -! Iceland 7 1. 0.1 -! Ireland 8 1. 0.1 -! Britain 9 1. 0.1 -! Cont'al Europe 10 1. 0.1 -! Russia (Europe) 11 1. 0.1 -! Russia (Georgia) 12 1. 0.02 - -! Northern Sahara 13 0.00 0.00 *now represented by 34-37 -! Central Africa 14 0.20 0.11 -! Southern Africa 15 0.50 0.04 - -! Siberia 16 1. 0.1 -! Asian deserts 17 1. 0.1 - -! Saudi Arabia 18 0.50 0.12 -! Irak, Iran, Pakistan 19 0.50 0.12 - -! Central Asia Taklamakan 20 0.80 0.025 -! India 21 1.2 0.09 - -! Mongolia and Gobi 22 1.5 0.22 -! Central China 23 1.5 0.25 - -! South China 24 0.5 0.1 -! Japan, South Korea 25 1.0 0.1 - -!-- padding Asia 26 0.5 0.1 - -! Tropical Pacific Islands 27 1. 0.1 -! Australia. New Zealand 28 0.5 0.03 -! -! Greenland 29 1. 0.1 -! Antarctica 30 1. 0.1 - -! Additional areas - -! Atacama and Uyuni 31 0.05 0.02 -! Pipanaco and others 32 0.1 0.02 -! Argentinian pampas 33 0.3 0.02 -! Southern Sahara (West) 34 0.40 0.13 -! Southern Sahara (East) 35 0.40 0.15 -! Northern Sahara (West) 36 0.30 0.13 -! Northern Sahara (East) 37 0.30 0.15 -!============================== - -! USA 3 -ZDDUAER( 3,1) = 1.00_JPRB -ZDDUAER( 3,2) = 0.08_JPRB - -! Central America 4 -ZDDUAER( 4,1) = 0.60_JPRB -ZDDUAER( 4,2) = 0.05_JPRB - -! South America 5 -ZDDUAER( 5,1) = 0.60_JPRB -ZDDUAER( 5,2) = 0.01_JPRB - -! Russia (Georgia) 12 -ZDDUAER(12,1) = 1.00_JPRB -ZDDUAER(12,2) = 0.02_JPRB - -! Sahara 13 -! Central Africa 14 -! Southern Africa 15 -ZDDUAER(13,1) = 0.00_JPRB -ZDDUAER(14,1) = 0.20_JPRB -ZDDUAER(15,1) = 0.50_JPRB - -ZDDUAER(13,2) = 0.17_JPRB -ZDDUAER(14,2) = 0.11_JPRB -ZDDUAER(15,2) = 0.04_JPRB - -! Siberia 16 -! Asian deserts 17 - -ZDDUAER(16,1) = 1.00_JPRB -ZDDUAER(17,1) = 1.00_JPRB - -ZDDUAER(16,2) = 0.10_JPRB -ZDDUAER(17,2) = 0.10_JPRB - -! Saudi Arabia 18 -! Irak, Iran, Pakistan 19 -ZDDUAER(18,1) = 0.50_JPRB -ZDDUAER(19,1) = 0.50_JPRB - -ZDDUAER(18,2) = 0.12_JPRB -ZDDUAER(19,2) = 0.12_JPRB - -! Central Asia Taklamakan 20 -! India 21 -ZDDUAER(20,1) = 0.80_JPRB -ZDDUAER(21,1) = 1.20_JPRB - -ZDDUAER(20,2) = 0.025_JPRB -ZDDUAER(21,2) = 0.09_JPRB - -! Mongolia and Gobi 22 -! Central China 23 -ZDDUAER(22,1) = 1.50_JPRB -ZDDUAER(23,1) = 1.50_JPRB - -ZDDUAER(22,2) = 0.22_JPRB -ZDDUAER(23,2) = 0.25_JPRB - -! South China 24 -! Japan, South Korea 25 -ZDDUAER(24,1) = 0.50_JPRB -ZDDUAER(25,1) = 1.00_JPRB - -ZDDUAER(24,2) = 0.10_JPRB -ZDDUAER(25,2) = 0.10_JPRB - -!-- padding Asia 26 -ZDDUAER(26,1) = 0.50_JPRB -ZDDUAER(26,2) = 0.10_JPRB - -! Tropical Pacific Islands 27 -! Australia. New Zealand 28 -ZDDUAER(27,1) = 1.00_JPRB -ZDDUAER(28,1) = 0.50_JPRB - -ZDDUAER(27,2) = 0.10_JPRB -ZDDUAER(28,2) = 0.03_JPRB - -! Atacama and other areas, Argentinian pampas -ZDDUAER(31,1) = 0.05_JPRB -ZDDUAER(32,1) = 0.10_JPRB -ZDDUAER(33,1) = 0.30_JPRB - -ZDDUAER(31,2) = 0.02_JPRB -ZDDUAER(32,2) = 0.02_JPRB -ZDDUAER(33,2) = 0.02_JPRB - -! Southern Sahara West -ZDDUAER(34,1) = 0.40_JPRB -ZDDUAER(34,2) = 0.13_JPRB - -! Southern Sahara East -ZDDUAER(35,1) = 0.40_JPRB -ZDDUAER(35,2) = 0.13_JPRB - -! Northern Sahara West -ZDDUAER(36,1) = 0.30_JPRB -ZDDUAER(36,2) = 0.13_JPRB - -! Northern Sahara East -ZDDUAER(37,1) = 0.30_JPRB -ZDDUAER(37,2) = 0.13_JPRB - -! ------------------------------------------------------------------ - -!* 2. READ VALUES OF PROGNOSTIC AEROSOL CONFIGURATION -! ----------------------------------------------- - -WRITE(NULOUT,8000) NAERO -8000 FORMAT(1X,'Read or not the namelist? ',I3) - -IF(NAERO > 0) THEN - CALL POSNAM(NULNAM,'NAEAER') - READ (NULNAM,NAEAER) -ELSE IF (LCMIP5) THEN - WRITE(NULOUT,'("CMIP5: READ AEROSOL OPT PROPERTIES DESPITE NAERO=",I3)') NAERO - CALL SU_AERP - CALL SU_AEROP -ENDIF - -IF (NINDAT == NINIDAY .AND. NSSSSS == 00000) THEN - LAERCLIST=.TRUE. -ENDIF - -! ------------------------------------------------------------------ - -!* 3. DISTRIBUTE DUST AEROSOL SOURCE FUNCTIONS -! ---------------------------------------- - -!-- if NAERWND < 2, DU uses 10m-wind; if >= 2, DU uses gust - -if (NAERWND == 0) THEN -! for NAERWND = 0, both SS and DU use 10-m wind - RFCTDU=1.0_JPRB - RFCTSS=1.0_JPRB - IAERWND=1 -elseif (NAERWND == 1) THEN -! for NAERWND = 1, SS takes "gust" values - RFCTDU=1.0_JPRB - RFCTSS=RFCTSSR - IAERWND=1 -elseif (NAERWND == 2) THEN -! for NAERWND = 2, DU takes "gust" values - RFCTDU=RFCTDUR - RFCTSS=1.0_JPRB - IAERWND=2 -elseif (NAERWND == 3) THEN -! for NAERWND = 3, both SS and DU take 10-m wind + gust - RFCTDU=RFCTDUR - RFCTSS=RFCTSSR - IAERWND=2 -endif - -ZDEGRAD=180._JPRB/RPI -DO JL=1,NGPTOT - ZLON=GELAM(JL)*ZDEGRAD - ZLAT=ASIN(GEMU(JL))*ZDEGRAD - - zbnda= 30._JPRB+(36._JPRB -zlat)*14._JPRB/24._JPRB - zbndb= 30._JPRB+(36._JPRB -zlat)*40._JPRB/16._JPRB - zbndc= 38._JPRB+(zlon-124._JPRB)*12._JPRB/29._JPRB - zbndd= 32._JPRB-(zlon-243._JPRB)* 6._JPRB/21._JPRB - -!-- Eastern border Canada/USA - zbnde= 49._JPRB - if (zlon > 268._JPRB .and. zlon < 277._JPRB) then - zbnde= 49._JPRB-(zlon-268._JPRB)*7._JPRB/9._JPRB - elseif (zlon >= 277._JPRB .and. zlon < 285._JPRB) then - zbnde= 42._JPRB+(zlon-277._JPRB)*2._JPRB/8._JPRB - elseif (zlon >= 285._JPRB .and. zlon < 310._JPRB) then - zbnde= 44._JPRB+(zlon-285._JPRB)*3._JPRB/25._JPRB - endif - -!-- limits Britain - zlongb=-9999._JPRB - if (zlon > 354._JPRB .and. zlon < 360._JPRB) then - zlongb=zlon - elseif (zlon >= 0._JPRB .and. zlon < 3._JPRB) then - zlongb=zlon+360._JPRB - endif - zbndf= 47._JPRB+(zlongb-349._JPRB)*4.5_JPRB/14._JPRB - -!-- limits Ireland - zbndg= 61._JPRB-(zlon-349._JPRB)*7._JPRB/6._JPRB - zbndh= 45._JPRB+(zlon-349._JPRB)*9._JPRB/6._JPRB - -!-- Western border Brazil - if (zlat <= 4._JPRB .and. zlat > 2._JPRB) then - zbndi= 296._JPRB - elseif (zlat <= 2._JPRB .and. zlat > -4._JPRB) then - zbndi= 290._JPRB - elseif (zlat <= -4._JPRB .and. zlat > -7._JPRB) then - zbndi= 290._JPRB-(-4._JPRB-zlat)*4._JPRB/3._JPRB - elseif (zlat <= -7._JPRB .and. zlat > -11._JPRB) then - zbndi= 286._JPRB+(-7._JPRB-zlat)*4._JPRB/4._JPRB - endif - - if (zlat <= -11._JPRB .and. zlat > -18._JPRB) then - zbndj= 294._JPRB+(-11._JPRB-zlat)*8._JPRB/7._JPRB - elseif (zlat <= -18._JPRB .and. zlat > -27._JPRB) then - zbndj= 302._JPRB+(-18._JPRB-zlat)*4._JPRB/9._JPRB - elseif (zlat <= -27._JPRB .and. zlat > -30._JPRB) then - zbndj= 306._JPRB-(-27._JPRB-zlat)*3._JPRB/3._JPRB - elseif (zlat <= -30._JPRB .and. zlat >= -34._JPRB) then - zbndj= 303._JPRB+(-30._JPRB-zlat)*4._JPRB/4._JPRB - endif - -!-- Northern border India - if (zlon > 70._JPRB .and. zlon <= 90._JPRB) then - zbndk= 35._JPRB-(zlon-70._JPRB)*0.5_JPRB - endif - -!-- South border of Asian deserts - if (zlon > 90._JPRB .and. zlon <= 135._JPRB) then - zbndl= 25._JPRB+(zlon-90._JPRB)*15._JPRB/45._JPRB - endif - -!-- North limit of the Argentinian pampas - if (zlon > 285._JPRB .and. zlon <= 297._JPRB) then - zbndm= -42._JPRB+(zlon-285._JPRB)*6._JPRB/12._JPRB - endif - - iff=0 - -!-- North America -!----- Canada - if ( zlat >= zbnde .and. & - & (zlon > 190._JPRB .and. zlon < 330._JPRB) ) then - iff=1 -!----- USA - elseif ( (zlat >= zbndd .and. zlat < zbnde ) & - & .and. (zlon > 190._JPRB .and. zlon < 330._JPRB) ) then - iff=3 - endif -!-- Alaska - if ( (zlat < 72._JPRB .and. zlat > 52._JPRB) & - & .and. (zlon > 190._JPRB .and. zlon <= 219._JPRB) ) then - iff=2 - endif - -!-- Central America - if (zlat < zbndd .and. & - & (zlon > 190._JPRB .and. zlon < 330._JPRB) ) then - iff=4 - endif - -!-- South America - if ( zlat < 12._JPRB .and. & - & (zlon > 190._JPRB .and. zlon < 330._JPRB) ) then - iff=5 - endif -!-- Brazil - if ( (zlat <= 4._JPRB .and. zlat > 2._JPRB) & - & .and. (zlon >= 296._JPRB .and. zlon <= 300._JPRB) ) then - iff=6 - endif - if ( (zlat <= 2._JPRB .and. zlat > -11._JPRB) & - & .and. (zlon >= zbndi .and. zlon < 330._JPRB) ) then - iff=6 - endif - if ( (zlat <= -11._JPRB .and. zlat >= -34._JPRB) & - & .and. (zlon >= zbndj .and. zlon < 330._JPRB) ) then - iff=6 - endif - -!-- Western Europe - if ( zlat > 36._JPRB .and. ( zlon >= 330._JPRB .or. zlon <= 30._JPRB) ) then - iff=10 - endif - -!----- Iceland - if ( (zlat < 67._JPRB .and. zlat > 63._JPRB) & - & .and. ( zlon > 335._JPRB .and. zlon < 353._JPRB) ) then - iff=7 - endif -!----- Britain - if ( (zlat < 63._JPRB .and. zlat > zbndf) & - & .and. ( zlon > 354._JPRB .or. zlon < 3._JPRB) ) then - iff=9 - endif -!----- Ireland - if ( (zlat < zbndg .and. zlat > zbndh) & - & .and. ( zlon > 349._JPRB .and. zlon < 355._JPRB) ) then - iff=8 - endif - - -!-- Russia to Urals - if ( zlon > 30._JPRB .and. zlon <= 70._JPRB ) then - if ( zlat > 51._JPRB ) then - iff=11 - elseif ( zlat > 36._JPRB ) then - iff=12 - endif - endif - -!-- Northern Sahara -! if ( ( zlat <= 36._JPRB .and. zlat >= 21._JPRB) & -! & .and. ( zlon >= 330._JPRB .or. zlon <= zbnda) ) then -! iff=13 -!-- Northern Sahara (West) - if ( ( zlat <= 36._JPRB .and. zlat >= 21._JPRB) & - & .and. ( zlon >= 330._JPRB .or. zlon < 4._JPRB) ) then - iff=36 -!-- Northern Sahara (East) - elseif ( ( zlat <= 36._JPRB .and. zlat >= 21._JPRB) & - & .and. ( zlon >= 4._JPRB .or. zlon <= zbnda) ) then - iff=37 -!-- Southern Sahara (West) - elseif ( ( zlat < 21._JPRB .and. zlat >= 12._JPRB) & - & .and. ( zlon >= 330._JPRB .or. zlon < 15._JPRB) ) then - iff=34 -!-- Southern Sahara (East) - elseif ( ( zlat < 21._JPRB .and. zlat >= 12._JPRB) & - & .and. ( zlon >= 15._JPRB .and. zlon <= zbnda) ) then - iff=35 -!-- Central Africa - elseif ( (zlat < 12._JPRB .and. zlat >= -12._JPRB) & - & .and. ( zlon >= 330._JPRB .or. zlon <= 60._JPRB) ) then - iff=14 -!-- Southern Africa - elseif ( zlat < -12._JPRB .and. zlat >= -60._JPRB & - & .and. ( zlon >= 330._JPRB .or. zlon <= 60._JPRB) ) then - iff=15 - endif - - -!-- Australasia - if (zlon > 70._JPRB .and. zlon <= 190._JPRB) then - iff=26 - -!-- Siberia - if (zlat <= 90._JPRB .and. zlat > 51._JPRB) then - iff=16 - -!-- Australasia -!---- Tropical Pacific Islands - elseif ( zlat > -10.5_JPRB) then - iff=27 -!---- Australia - elseif ( zlat <= -10.5_JPRB .and. zlat >= -60._JPRB) then - iff=28 - endif - endif - -!-- Asian deserts - if ((zlon > 90._JPRB .and. zlon <= 135._JPRB) & - & .and. (zlat <= 51._JPRB .and. zlat > zbndl)) then - iff=17 - endif - - - -!-- Saudi Arabia - if ((zlat <= 36._JPRB .and. zlat >= 12._JPRB) & - & .and.( zlon > zbnda .and. zlon < zbndb) ) then - iff=18 - endif -!-- Irak, Iran, Pakistan - if ((zlat <= 36._JPRB .and. zlat >= 20._JPRB) & - & .and.( zlon > zbndb .and. zlon < 70._JPRB) ) then - iff=19 - endif - - - -!-- Central Asia and India - if ( zlon > 70._JPRB .and. zlon <= 90._JPRB) then -!----- Central Asia: Taklamakan - if (zlat <= 43._JPRB .and. zlat >= zbndk) then - iff=20 -!----- India - elseif (zlat <= zbndk .and. zlat > 7._JPRB) then - iff=21 - endif - endif -!-- other Gobi(s) in South Mongolia and Central China - if ( zlat <= 49._JPRB .and. zlat > 35._JPRB) then - if (zlon > 90._JPRB .and. zlon <= 110._JPRB) then - iff=22 - elseif (zlon > 110._JPRB .and. zlon <= 125._JPRB) then - iff=23 - endif - endif - -!-- South China - if ( (zlon > 90._JPRB .and. zlon <= 135._JPRB) .and. & - & (zlat <= zbndl .and. zlat > 7._JPRB) ) then - iff=24 - endif - - - -!-- Japan and S.Korea - if ( (zlon > 124._JPRB .and. zlon < 153._JPRB) & - & .and. (zlat > 24._JPRB .and. zlat < zbndc) ) then - iff=25 - endif - -!-- Greenland - if (zlat > 50._JPRB) then - zinclat=(90._JPRB-zlat)/40._JPRB*45._JPRB - zlonw=270._JPRB +zinclat - zlone=360._JPRB -zinclat - if ( zlon > zlonw .and. zlon < zlone ) then - iff=29 - endif - endif - -!-- Antarctica - if (zlat < -60._JPRB) then - iff=30 - endif - -!-- awaiting a proper recoding, new areas are set between iff=31 and 35 - - if ( zlon > 285._JPRB .and. zlon < 295._JPRB) then -!- Atacama desert and Salar de Uyuni - if ( zlat < -16._JPRB .and. zlat > -28._JPRB) then - iff=31 - endif -!- Salar de Pipanaco and other small ones - if ( zlat <= -28._JPRB .and. zlat > zbndm) then - iff=32 - endif - endif -!- Argentianian pampas - if ( (zlon > 285._JPRB .and. zlon < 297._JPRB) & - & .and. zlat <= zbndm ) then - iff=33 - endif - -!-- if area is recognized - IF (IFF /= 0) THEN -!-- either use the default value - IF (RDDUAER(iff) == 0._JPRB) THEN - RDDUAER(iff) = ZDDUAER(iff,IAERWND) - ELSE -!-- or what is read in via the namelist - ENDIF - ELSE - WRITE(NULOUT,FMT='(''su_aerw: Unassigned grid for Lat,Lon='',2F8.2)') ZLAT,ZLON - ENDIF -ENDDO - -! ------------------------------------------------------------------ - -!* 4. DEFINE VALUES OF PROGNOSTIC AEROSOL CONFIGURATION -! ------------------------------------------------- - -IF (.NOT.LE4ALB) THEN - NDDUST=2 -ENDIF - -WRITE(UNIT=NULOUT,FMT='(''NAERO='',I2,'' NACTAERO='',I2)') NAERO,NACTAERO - -IF (NACTAERO > 0) THEN - - WRITE(UNIT=NULOUT,FMT='(''NAERO='',I2,'' NACTAERO='',I2,3X,8I3)') NAERO,NACTAERO,(NTYPAER(JAER),JAER=1,8) - -! define a composite index for each bin of each different aerosol type to be used -! in source, sedimentation and deposition routines - - ICAER=0 - DO JAER=1,NMAXTAER - IF (NTYPAER(JAER) /= 0) THEN - NTAER=NTAER+1 - ITAER=NTYPAER(JAER) - DO IAER=1,ITAER - ICAER=ICAER+1 - NINDAER(ICAER)=JAER*10+IAER - NTYP(ICAER) =JAER - NBIN(ICAER) =IAER - ENDDO - ENDIF - ENDDO - -!-- if volcanic aerosols, define the model coordinates - -! IF (NTYPAER(8) /= 0) THEN -! RGEMUV=(RLATVOL+90._JPRB)*RPI/180._JPRB -! RGELAV=RLONVOL*RPI/180._JPRB -! RCLONV=COS(RGELAV) -! RSLONV=SIN(RGELAV) -! DO J=1,NGPTOT-1 -! IF (RGELAV > GELAM(J) .AND. RGELAV <= GELAM(J+1) .AND. & -! & RGEMUV < RMU(JL) .AND. RGEMUV >= RMU(JL+1) ) THEN -! RDGMUV=ABS( RMU(J+1) - RMU(J)) -! RDGLAV=ABS( GELAM(J+1)-GELAM(J) ) -! RDSLONV=ABS( SIN(GELAM(JL+1))-SIN(GELAM(JL)) ) -! RDCLONV=ABS( COS(GELAM(JL+1))-COS(GELAM(JL)) ) -! ENDIF -! ENDDO -! ENDIF - -! ------------------------------------------------------------------ - -!* 5. INITIALIZE PROGNOSTIC AEROSOL PHYSICAL AND OPTICAL PARAMETERS -! ------------------------------------------------------------- - - CALL SU_AERP - CALL SU_AEROP - - DO JAER=1,NMAXTAER - IF (LAEROPT(JAER)) THEN - LAERRAD=.TRUE. - ENDIF - ENDDO - -! ---------------------------------------------------------------- - -!* 6. PRINT FINAL VALUES. -! ------------------- - - WRITE(UNIT=NULOUT,FMT='('' LEPAERO = '',L5 & - & ,'' NTAER = '',I2 ,'' NDDUST = '',I1,'' NSSALT = '',I1,/& - & ,'' NTYPAER = '',8I3,/ & - & ,'' NINIDAY = '',I8 & - & ,'' NTYP = '',15I3,/& - & ,'' NBIN = '',15I3 & - & )')& - & LEPAERO,NTAER,NDDUST,NSSALT,(NTYPAER(JAER),JAER=1,8), & - & NINIDAY, (NTYP(JAER),JAER=1,15), (NBIN(JAER),JAER=1,15) - - WRITE(UNIT=NULOUT,FMT='('' NAERO = '',I2,'' NACTAERO = '',I2,& - &'' NXT3DAER = '',I2,'' NAERCONF = '',I3)') & - & NAERO,NACTAERO,NXT3DAER,NAERCONF - - WRITE(UNIT=NULOUT,FMT='('' LAERNGAT = '',L1 & - & ,'' LAERDRYDP= '',L1 & - & ,'' LAERSEDIM= '',L1 & - & ,'' LAERGTOP = '',L1 & - & ,'' LAERLISI = '',L1 & - & ,'' LAERHYGRO= '',L1 & - & ,'' LAERSCAV = '',L1 & - & ,'' LAER6SDIA= '',L1 & - & ,'' LAERCLIMZ= '',L1 & - & ,'' LAERCLIMG= '',L1 & - & ,'' LAERCLIST= '',L1 & - & )')& - & LAERNGAT, LAERDRYDP,LAERSEDIM,LAERGTOP,LAERHYGRO,LAERSCAV,LAER6SDIA, & - & LAERCLIMZ,LAERCLIMG,LAERCLIST - - WRITE(UNIT=NULOUT,FMT='('' RSSFLX= '',9E10.3)') RSSFLX - WRITE(UNIT=NULOUT,FMT='('' NAERWND= '',I1,'' RFCTSS= '',F4.1,'' RFCTDU= '',F4.1,2X,A45)') & - & NAERWND, RFCTSS, RFCTDU, CLAERWND(NAERWND) - WRITE(UNIT=NULOUT,FMT='('' NAERDUT= '',I2,'' RAERDUB= '',E10.3)') NAERDUT, RAERDUB - WRITE(UNIT=NULOUT,FMT='('' RDDUAER= '',25F6.3)') (RDDUAER(J),J= 1,25) - WRITE(UNIT=NULOUT,FMT='('' RDDUAER= '',25F6.3)') (RDDUAER(J),J=26,50) - WRITE(UNIT=NULOUT,FMT='('' LUVINDX= '',L3,'' LAERUVP= '',L3)') LUVINDX, LAERUVP - - WRITE(UNIT=NULOUT,FMT='('' Interaction prognostic aerosols and radiation: LAERRAD= '',L1,& - &'' LAEROPT= '',8L3)') LAERRAD,LAEROPT - WRITE(UNIT=NULOUT,FMT='('' Interaction prognostic aerosols and eff.radius of liq.wat.clouds: LAERCCN= '',& - &L1)') LAERCCN - - IF (NTYPAER(8) /= 0) THEN - WRITE(UNIT=NULOUT,FMT='('' RLATVOL= '',F5.2 & - & ,'' RLONVOL= '',F6.2,'' RGEMUV= '',F6.4,'' RGELAV= '',F6.4 & - & ,'' RCLONV = '',F6.4,'' RSLONV= '',F6.4,'' RDGMUV= '',F6.4 & - & ,'' RDGLAV = '',F6.4,'' RDCLONV= '',F6.4,'' RDSLONV= '',F6.4 & - & )')& - & RLATVOL,RLONVOL,RGEMUV,RGELAV,RCLONV,RSLONV,RDGMUV,RDGLAV,RDCLONV,RDSLONV - ENDIF -ENDIF - -! ---------------------------------------------------------------- -IF (LHOOK) CALL DR_HOOK('SU_AERW',1,ZHOOK_HANDLE) -END SUBROUTINE SU_AERW - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/ARCH/arch-ecconf.fcm.tmpl b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/ARCH/arch-ecconf.fcm.tmpl deleted file mode 100644 index 790ade444549cbd6f297d9e878d87c3c1c4bb9ac..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/ARCH/arch-ecconf.fcm.tmpl +++ /dev/null @@ -1,40 +0,0 @@ -# EC-EARTH3 ec-conf-based configuration -# NCDF_INC netcdf include file -# NCDF_LIB netcdf library -# FC Fortran compiler command -# FCFLAGS Fortran compiler flags -# FFLAGS Fortran 77 compiler flags -# LD linker -# LDFLAGS linker flags, e.g. -L if you have libraries in a -# FPPFLAGS pre-processing flags -# AR assembler -# ARFLAGS assembler flags -# MK make -# USER_INC additional include files for the compiler, e.g. -I -# USER_LIB additional libraries to pass to the linker, e.g. -l - -%OASIS_INC_DIR $(addsuffix /oasis3/ecconf/build/lib/psmile.MPI1,[[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]) -%OASIS_LIB_DIR $(addsuffix /oasis3/ecconf/lib,[[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]) -%OASIS_LIBS psmile.MPI1 mpp_io - -%NETCDF_INC_DIR $(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]] -%NETCDF_LIB_DIR $(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]] -%NETCDF_LIBS [[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]] - -%MPI_INC_DIR $(addsuffix /,[[[PLT:ACTIVE:MPI_BASE_DIR]]])[[[PLT:ACTIVE:MPI_INC_SUBDIR]]] -%MPI_LIB_DIR $(addsuffix /,[[[PLT:ACTIVE:MPI_BASE_DIR]]])[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]] -%MPI_LIBS [[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]] - -%USER_INC $(addprefix -I,%OASIS_INC_DIR %NETCDF_INC_DIR %MPI_INC_DIR) -%USER_LIB $(addprefix -L,%OASIS_LIB_DIR %NETCDF_LIB_DIR %MPI_LIB_DIR) \ - $(addprefix -l,%OASIS_LIBS %NETCDF_LIBS %MPI_LIBS) - -%MK [[[PLT:ACTIVE:MAKE]]] -%FC [[[PLT:ACTIVE:FC]]] -%FCFLAGS [[[PLT:ACTIVE:FFLAGS]]] [[[PLT:ACTIVE:NEMO_ADD_FFLAGS]]] -%FFLAGS %FCFLAGS -%FPPFLAGS [[[PLT:ACTIVE:CPPFLAGS]]] -%LD [[[PLT:ACTIVE:LD]]] -%LDFLAGS [[[PLT:ACTIVE:LDFLAGS]]] [[[PLT:ACTIVE:NEMO_ADD_LDFLAGS]]] -%AR [[[PLT:ACTIVE:AR]]] -%ARFLAGS [[[PLT:ACTIVE:ARFLAGS]]] diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/CONFIG/makenemo b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/CONFIG/makenemo deleted file mode 100755 index 91259ee0ff0768e72be96f96ebd5a4aa50cc88ec..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/CONFIG/makenemo +++ /dev/null @@ -1,314 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# =============== -# makenemo -# =============== -# -# -------------------------- -# Compile NEMO -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ makenemo -# -# -# DESCRIPTION -# =========== -# -# -# This script aims : -# -# - to choose MYCONFIG -# - to choose compiler options -# - to create the CONFIG/MYCONFIG/WORK directory -# - to compile this configuration -# -# Variables used : -# -# From user input -# -# - NEW_CONF : configuration to be created -# - REF_CONF : reference configuration to build the new one -# - CMP_NAM : compiler name -# - NBR_PRC : number of processes used to compile -# - NEM_SUBDIR : NEMO subdirectory used (specified) -# -# Locally defined : -# -# - TAB : NEMO subdirectory used (read) -# - MAIN_DIR : self explaining -# - CONFIG_DIR : " " " -# - MODELES_DIR : " " " -# - TOOLS_DIR : " " " -# - NEMO_DIR : " " " -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./makenemo -m ifort_osx - j3 -n ORCA2_LIM -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: makenemo 2731 2011-04-08 12:05:35Z rblod $ -# -# -# -# * creation -# -#- - -#- Local variables --- -b_n=$(basename ${0}) -OPTIND=1 -MAIN_DIR=$(cd $(dirname "$0"); pwd) -MAIN_DIR=${MAIN_DIR%/SETTE*} -MAIN_DIR=${MAIN_DIR%/TOOLS*} -MAIN_DIR=${MAIN_DIR%/CONFIG*} -export MAIN_DIR -# -export CONFIG_DIR=${MAIN_DIR}/CONFIG -export TOOLS_DIR=${MAIN_DIR}/TOOLS -export COMPIL_DIR=${MAIN_DIR}/TOOLS/COMPILE -export NEMO_DIR=${MAIN_DIR}/NEMO -export AGRIFUSE=10 - -declare -a TAB -#- -#- FCM and functions location --- -export PATH=${MAIN_DIR}/EXTERNAL/fcm/bin:$PATH - -#- -#- Choice of the options --- -x_d=""; -x_n=""; -x_r=""; -x_m=""; -x_t=""; -x_c=""; -x_j=1; -while getopts :hd:n:r:m:j:t: V -do - case $V in - (h) echo "Usage : "${b_n} \ - " [-h] [-n name] [-m arch] [-d "dir1 dir2"] [-r conf] [-j No]"; - echo " -h : help"; - echo " -n name : config name, [-n help] to list existing configurations"; - echo " -m arch : choose compiler, [-m help] to list existing compilers"; - echo " -d dir : choose NEMO sub-directories"; - echo " -r conf : choose reference configuration"; - echo " -j No : number of processes used to compile (0=nocompilation)"; - echo " -t dir : temporary directory for compilation" - echo ""; - echo "Example to install a new configuration MY_CONFIG"; - echo "with OPA_SRC and LIM_SRC_2 "; - echo "makenemo -n MY_CONFIG -d \"OPA_SRC LIM_SRC_2\""; - echo ""; - echo "Available configurations :"; cat ${COMPIL_DIR}/cfg.txt; - echo ""; - echo "Example to remove bad configuration "; - echo "./makenemo -n MY_CONFIG clean_config"; - echo ""; - echo "Example to clean "; - echo "./makenemo clean"; - echo ""; - echo "Example to add and remove keys"; - echo "./makenemo add_key \"key_iomput key_mpp_mpi\" del_key \"key_agrif\" "; - echo ""; - echo "Example to add and remove keys for a new configuration, and do not compile"; - echo "./makenemo -n MY_CONFIG -j0 add_key \"key_iomput key_mpp_mpi\" del_key \"key_agrif\" "; - echo ""; - . ${COMPIL_DIR}/Flist_archfile.sh ; - echo ""; - echo "Default : previous configuration and compiler"; - exit 0;; - (d) x_d=${OPTARG};; - (n) x_n=${OPTARG};; - (r) x_r=${OPTARG};; - (m) x_m=${OPTARG};; - (j) x_j=${OPTARG};; - (t) x_t=${OPTARG};; - (:) echo ${b_n}" : -"${OPTARG}" option : missing value" 1>&2; - exit 2;; - (\?) echo ${b_n}" : -"${OPTARG}" option : not supported" 1>&2; - exit 2;; - esac -done -shift $(($OPTIND-1)); - -while [ ${#1} -gt 0 ] # Get clean, clean_config options -do - case "$1" in - clean) - x_c="--$1" - ;; - clean_config) - . ${COMPIL_DIR}/Fclean_config.sh - exit - ;; - add_key) - list_add_key=$2 - export ${list_add_key} - shift - ;; - del_key) - list_del_key=$2 - export ${list_del_key} - shift - ;; - *) - echo " \"$1\" BAD OPTION" - exit - ;; - - esac - shift -done - - -#- -#- Go to NEMOGCM/config directory --- -cd ${CONFIG_DIR} - -#- -#- Initialisation from input --- -export NEW_CONF=${x_n} -NBR_PRC=${x_j} -CMP_NAM=${x_m} -NEM_SUBDIR=${x_d} -REF_CONF=${x_r} -NEMO_TDIR=${x_t:-$NEMO_TDIR} -export NEMO_TDIR=${NEMO_TDIR:-$CONFIG_DIR} - -#- Check if the tool or the compiler exist or list it -if [ "${NEW_CONF}" == help ] ; then - echo "Available configurations :" - cat ${COMPIL_DIR}/cfg.txt - exit -fi -[ "${CMP_NAM}" == help ] && . ${COMPIL_DIR}/Flist_archfile.sh && exit - -#- When used for the first time, choose a compiler --- -. ${COMPIL_DIR}/Fcheck_archfile.sh arch_nemo.fcm ${CMP_NAM} || exit - -#- -#- Choose a default configuration if needed --- -#- ORCA2_LIM or last one used --- -. ${COMPIL_DIR}/Fcheck_config.sh cfg.txt ${NEW_CONF} || exit - - -if [ ${#NEW_CONF} -eq 0 ] ; then - if [ ${#NEM_SUBDIR} -eq 0 -a ${#REF_CONF} -eq 0 ]; then - echo "You are installing a new configuration" - ind=0 - . ${COMPIL_DIR}/Fread_dir.sh OPA_SRC YES - . ${COMPIL_DIR}/Fread_dir.sh LIM_SRC_2 YES - . ${COMPIL_DIR}/Fread_dir.sh LIM_SRC_3 NO - . ${COMPIL_DIR}/Fread_dir.sh TOP_SRC NO - . ${COMPIL_DIR}/Fread_dir.sh NST_SRC YES - . ${COMPIL_DIR}/Fread_dir.sh OFF_SRC NO - REF_CONF=ORCA2_LIM - elif [ ${#NEM_SUBDIR} -gt 0 ] && [ ${#REF_CONF} -eq 0 ]; then - echo "You are installing a new configuration" - TAB=( ${NEM_SUBDIR} ) - REF_CONF=ORCA2_LIM - elif [ ${#NEM_SUBDIR} -eq 0 ] && [ ${#REF_CONF} -gt 0 ]; then - echo "You are installing a new configuration based on ${REF_CONF}" - . ${COMPIL_DIR}/Fcopy_dir.sh ${REF_CONF} - fi - NEW_CONF=${x_n} - . ${COMPIL_DIR}/Fmake_config.sh ${NEW_CONF} ${REF_CONF} -else - sed -e "/${NEW_CONF} /d" ${COMPIL_DIR}/cfg.txt > ${COMPIL_DIR}/cfg.tmp - \mv ${COMPIL_DIR}/cfg.tmp ${COMPIL_DIR}/cfg.txt -fi - -#- -#- Save new configuration and directories names --- -echo ${NEW_CONF} ${TAB[*]} >> ${COMPIL_DIR}/cfg.txt - -#- -#- Create the WORK --- -#- Clean links and librairies --- -#- Creating the good links, at first on OPA_SRC --- -. ${COMPIL_DIR}/Fmake_WORK.sh ${NEW_CONF} ${TAB[*]} || exit - -. ${COMPIL_DIR}/Fmake_bld.sh ${CONFIG_DIR} ${NEW_CONF} ${NEMO_TDIR} || exit - -#- At this stage new configuration has been added, -#- We add or remove keys -if [ ${#list_add_key} -ne 0 ] ; then - . ${COMPIL_DIR}/Fadd_keys.sh ${NEW_CONF} add_key ${list_add_key} -fi - -if [ ${#list_del_key} -ne 0 ] ; then - . ${COMPIL_DIR}/Fdel_keys.sh ${NEW_CONF} del_key ${list_del_key} -fi - -#- At this stage the configuration has beeen chosen -#- We coose the default light file -export USEBLD=bldxioxag.cfg - -#- We look after agrif -grep key_agrif ${COMPIL_DIR}/cpp.fcm && export AGRIFUSE=1 && export USEBLD=${USEBLD/xag/} -. ${COMPIL_DIR}/Fprep_agrif.sh ${NEW_CONF} ${NEMO_TDIR} || exit - -#- and test whether we need to build the ioserver -grep key_iomput ${COMPIL_DIR}/cpp.fcm && export USEBLD=${USEBLD/xio/} - -#- -#_ END OF CONFIGURATION PHASE -#_ - -#- -#- Compile --- - -if [ "${NBR_PRC}" -gt 0 ]; then - cd ${NEMO_TDIR}/${NEW_CONF} || cd - - -#if AGRIF we do a first preprocessing - if [ ${#x_c} -eq 0 ]; then - [ "$AGRIFUSE" == 1 ] && fcm build --ignore-lock -s 2 ${COMPIL_DIR}/$USEBLD - [ "$AGRIFUSE" == 1 ] && rm -rf ${NEMO_TDIR}/${NEW_CONF}/BLD/* - fi - fcm build ${x_c} --ignore-lock -v 1 -j ${NBR_PRC} ${COMPIL_DIR}/$USEBLD || cd - - [ -f ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/nemo.exe ] && ln -sf ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/nemo.exe ${CONFIG_DIR}/${NEW_CONF}/EXP00/opa - [ -f ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/server.exe ] && ln -sf ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/server.exe ${CONFIG_DIR}/${NEW_CONF}/EXP00/server.exe - -#add remove for clean option - if [ ${#x_c} -ne 0 ]; then - rm -rf ${NEMO_TDIR}/${NEW_CONF}/WORK - rm -rf ${NEMO_TDIR}/${NEW_CONF}/BLD - rm -rf ${NEMO_TDIR}/${NEW_CONF}/EXP00/opa - rm -rf ${NEMO_TDIR}/${NEW_CONF}/EXP00/server.exe - echo "cleaning ${NEW_CONF} WORK, BLD" - fi - -fi - -#- Come back to original directory --- -cd - - -#- -#- Unset variables -${COMPIL_DIR}/Fclean_var.sh - - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fadd_keys.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fadd_keys.sh deleted file mode 100755 index c552c7b07468512ad7eb5a04598f6ed82c5e2b72..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fadd_keys.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Simona Flavoni for NEMO -# Contact : sflod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fadd_keys : add keys in cpp.fcm file -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============ -# Fadd_keys.sh -# ============ -# -# -------------------- -# Add compilation keys -# -------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fadd_keys.sh CONFIG_NAME add_key "LIST_KEYS" -# -# -# DESCRIPTION -# =========== -# -# -# Script to add a set off key when compiling a configuration. -# The list off key to be added has to be enclosed with " ". -# A 'sed' is performed to modify the CONFIG_NAME/cpp.fcm file to -# add the new key(s). -# -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fadd_keys.sh ORCA2_LIM add_key "key_mpp_mpi key_nproci=1 key_nprocj=10" -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fadd_keys.sh 2158 2010-10-20 17:30:03Z sflod $ -# -# -# -# * creation -# -#- - echo "Adding keys in : ${NEW_CONF}" - for i in ${list_add_key} ; do - if [ "$(echo ${i} | grep -c key_nproc )" -ne 0 ] ; then - sed -e "s/key_nproc[ij]=.[0-9]* //" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - echo " " - sed -e "s/$/ ${i}/" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - elif [ "$(cat ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm | grep -c "$i" )" -ne 0 ] ; then - echo "key $i already present in cpp_${NEW_CONF}.fcm" - else - sed -e "s/$/ ${i}/" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - echo "added key $i in ${NEW_CONF}" - fi - done - - unset -v list_add_key - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_archfile.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_archfile.sh deleted file mode 100755 index c9a1e5080f3bf316a62be8a04b75546b267bee27..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_archfile.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================== -# Fcheck_archfile.sh -# ================== -# -# -------------------------- -# Check the compilation file -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fcheck_archfile.sh -# -# -# DESCRIPTION -# =========== -# -# -# Check the choice of the compiler. -# Three cases : -# -# - There was a previous choice -# - A new one has be specified, we use this one -# - No information, exit -# -# We use TOOLS/COMPILE/arch.fcm to see if something was chosen. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fcheck_archfile.sh ARCHFILE COMPILER -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fcheck_archfile.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -if [ ${#2} -eq 0 ]; then - if [ ! -f ${COMPIL_DIR}/$1 ]; then - echo "Warning !!!" - echo "NO compiler chosen" - echo "Try makenemo -h for help" - echo "EXITING..." - exit 1 - fi -else - ln -sf ${MAIN_DIR}/ARCH/arch-${2}.fcm ${COMPIL_DIR}/$1 -fi diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_config.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_config.sh deleted file mode 100755 index 8a4524f02a9add48a0efac7924efebe206210632..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_config.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Rachid Benshila for NEMO -# Contact : rblod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fcheck_config : config checking -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================ -# Fcheck_config.sh -# ================ -# -# -------------------------- -# Check the configuration -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fcheck_config.sh FILENAME CONFNAME -# -# -# DESCRIPTION -# =========== -# -# -# Check the choice of the configuration: -# -# - Two cases -# - One is explicitely set -# - Nothing set, use the previous in use -# -# We use TOOLS/COMPILE/cfg.txt to check if the onfiguration exists. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fcheck_config.sh -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fcheck_config.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -declare -a ZTAB -if [ ${#2} -eq 0 ]; then - tail -1 ${COMPIL_DIR}/$1 > ${COMPIL_DIR}/cfg.tmp - read -a ZTAB < ${COMPIL_DIR}/cfg.tmp - NEW_CONF=${ZTAB[0]} ; TAB=( ${ZTAB[@]:1} ) - \rm ${COMPIL_DIR}/cfg.tmp - echo "Warning !!!" - echo "No configuration specified" - echo "Use makenemo -n MYCONFIG" - echo "or makenemo -h for help" - echo "Using defaut configuration : ${NEW_CONF}" -fi -if [ "$1" == cfg.txt ]; then - cat ${COMPIL_DIR}/$1 | grep "${NEW_CONF} " > ${COMPIL_DIR}/cfg.tmp - read -a ZTAB < ${COMPIL_DIR}/cfg.tmp - NEW_CONF=${ZTAB[0]} ; TAB=( ${ZTAB[@]:1} ) - \rm ${COMPIL_DIR}/cfg.tmp -fi - -unset -v ZTAB diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_script.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_script.sh deleted file mode 100755 index 335ac0df272da243df09d4563a7c4c11a6f87d0d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcheck_script.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================ -# Fcheck_script.sh -# ================ -# -# -------------------------- -# Check -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fcheck_script.sh -# -# -# DESCRIPTION -# =========== -# -# -# Check if utilities are in the path, typically fcm. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fcheck_script.sh fcm -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fcheck_script.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -myscript=`which $1` -if [ ${#myscript} -eq 0 ]; then -echo "WARNING !!!" -echo "$1 has to be installed first" -echo "Exiting......................" -exit 1 -fi - -unset -v myscript diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_config.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_config.sh deleted file mode 100755 index be9f3beda38e266feca0612f4752dfa573038616..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_config.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Simona Flavoni for NEMO -# Contact : sflod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fclean_config : config removing -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================ -# Fclean_config.sh -# ================ -# -# ------------------------ -# Remove the configuration -# ------------------------ -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fclean_config.sh CONFNAME -# -# -# DESCRIPTION -# =========== -# -# -# Remove the configuration: -# -# - remove CONFIG_NAME/WORK -# - remove CONFIG_NAME/BLD -# - remove CONFIG_NAME from TOOLS/TOOLS/COMPILE/cfg.txt -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fclean_config.sh ORCA2_LIM -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fclean_config.sh 2158 2010-10-20 17:30:03Z sflod $ -# -# -# -# * creation -# -#- - NEW_CONF=${x_n} - echo "Are you sure that you want to remove this directory ? [y/n] " - read answer - answer=`echo $answer | sed 's/^[y].*$/y/'` - if [ -z "$answer" -o "x$answer" = "xy" ]; then - # testing if configuration exists - if [ "$(cat ${COMPIL_DIR}/cfg.txt | grep "${NEW_CONF} ")" == "" ] ; then - echo "The configuration ${NEW_CONF} does not exist in file cfg.txt" - echo "No removing configuration" - echo " " - else - rm -rf ${CONFIG_DIR}/${NEW_CONF} - sed -e "/${NEW_CONF} /d" ${COMPIL_DIR}/cfg.txt > ${COMPIL_DIR}/cfg.tmp - mv ${COMPIL_DIR}/cfg.tmp ${COMPIL_DIR}/cfg.txt - echo "${NEW_CONF} configuration REMOVED" - fi - else - echo " " - echo "nothing to remove" - fi - - unset -v answer diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_var.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_var.sh deleted file mode 100755 index 2ff65bd24fa37d39efebb7b8c91dad898608d0ea..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fclean_var.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============= -# Fclean_var.sh -# ============= -# -# ---------------------------- -# Clean environement variables -# ---------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fclean_var.sh -# -# -# DESCRIPTION -# =========== -# -# -# Clean environement variables -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fclean_var.sh -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fclean_var.sh 2384 2010-11-15 03:20:07Z rblod $ -# -# -# -# * creation -# -#- -#- Unset variables - -unset -v NSTOP -unset -v TAB -unset -v NEW_CONF -unset -v REF_CONF -unset -v CMP_NAM -unset -v NBR_PRC -unset -v NEM_SUBDIR -unset -v MAIN_DIR -unset -v CONFIG_DIR -unset -v TOOLS_DIR -unset -v COMPIL_DIR -unset -v NEMO_DIR -unset -v USEBLD diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcopy_dir.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcopy_dir.sh deleted file mode 100755 index f4c57c8336785ba5d05e88baceb92beec282f659..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fcopy_dir.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============ -# Fcopy_dir.sh -# ============ -# -# -------------------------- -# Copy a reference directory -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fcopy_dir.sh -# -# -# DESCRIPTION -# =========== -# -# -# When a refenrence configuration is set, -# Copy NEMO sub-directories needed (OPA_SRC, TOP_SRC ...) -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fcopy_dir.sh ORCA2_LIM -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fcopy_dir.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -declare -a ZTAB -grep "$1 " ${COMPIL_DIR}/cfg.txt > ${COMPIL_DIR}/cfg.tmp -read -a ZTAB < ${COMPIL_DIR}/cfg.tmp -TAB=( ${ZTAB[@]:1} ) -\rm ${COMPIL_DIR}/cfg.tmp - -unset -v ZTAB diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fdel_keys.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fdel_keys.sh deleted file mode 100755 index fe29c6844fd0b4fc19549074714228240a4d0c6b..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fdel_keys.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Simona Flavoni for NEMO -# Contact : sflod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fdel_keys : del keys in cpp.fcm file -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================ -# Fdel_keys.sh -# ================ -# -# -------------------------- -# Add compilation keys -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fdel_keys.sh CONFIG_NAME del_key "LIST_KEYS" -# -# -# DESCRIPTION -# =========== -# -# -# Add cpp keys when compiling a configuration, key list has to be enclosed with " ". -# We perform a 'sed' on the CONFIG_NAME/CPP.fcm file, contianing the list of keys. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fdel_keys.sh CONFIG_NAME del_key "key_agrif" -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fdel_keys.sh 2158 2010-10-20 17:30:03Z sflod $ -# -# -# -# * creation -# -#- - echo "Removing keys in : ${NEW_CONF}" - for i in ${list_del_key} ; do - if [ "$(echo ${i} | grep -c key_nproc )" -ne 0 ] ; then - sed -e "s/key_nproc[ij]=.* //" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - echo " " - elif [ "$(cat ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm | grep -c "$i" )" -ne 0 ] ; then - sed -e "s/${i}//" ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm > ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp - mv ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm.tmp ${CONFIG_DIR}/${NEW_CONF}/cpp_${NEW_CONF}.fcm - echo "deleted key $i in ${NEW_CONF}" - fi - done - - unset -v list_del_key diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fgo_to_TOOLS.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fgo_to_TOOLS.sh deleted file mode 100755 index a9f9724c8e992a6d70501707b0f4e85edc050e18..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fgo_to_TOOLS.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# =============== -# Fgo_to_tools.sh -# =============== -# -# -------------------------- -# Go to the TOOLS directory -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fgo_to_tools.sh -# -# -# DESCRIPTION -# =========== -# -# -# Go to the TOOLS directory -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fgo_to_tools.sh -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fgo_to_TOOLS.sh 2263 2010-10-14 10:13:18Z rblod $ -# -# -# -# * creation -# -#- - -cd ${MAIN_DIR}/TOOLS diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Flist_archfile.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Flist_archfile.sh deleted file mode 100755 index 06764d982b93fd5c9133ea8eeec5e4f2feda6b54..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Flist_archfile.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ================== -# Flist_archfile.sh -# ================== -# -# -------------------------- -# Check the compilation file -# -------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Flist_archfile.sh -# -# -# DESCRIPTION -# =========== -# -# -# List arch file available. -# The first line of each file in NEMO/ARCH directory is echoed. -# -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Flist_archfile.sh -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Flist_archfile.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- -echo "Available compilers for -m option :" -for file in `ls ${MAIN_DIR}/ARCH` -do -zvar1=${file#arch-} -zvar2=$(head -1 ${MAIN_DIR}/ARCH/$file) -#echo "${zvar1%.fcm} : ${zvar2#\#}" -printf "%-20s %s %-s\n" "${zvar1%.fcm}" : "${zvar2#\#}" -done diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_WORK.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_WORK.sh deleted file mode 100755 index f2c9d149cfdf73255b4a7d3e923fa3c8066b33ba..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_WORK.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env bash -###################################################### -# Author : Rachid Benshila for NEMO -# Contact : rblod@locean-ipsl.upmc.fr -# -# Some functions called from makenemo -# Fmake_WORK : create links in the WORK -###################################################### -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============= -# Fmake_WORK.sh -# ============= -# -# ----------------------- -# Make the WORK directory -# ----------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fmake_WORK.sh -# -# -# DESCRIPTION -# =========== -# -# -# Make the WORK directory: -# -# - Create lin in NEW_CONF/WORK -# - Use specified sub-directories previously -# - OPA has to be done first !!! -# -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fmake_WORK.sh ORCA2_LIM OPA_SRC LIM_SRC_2 -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fmake_WORK.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- -declare ZCONF=$1 ; shift -ZTAB=( $@ ) -declare i=0 ; declare NDIR=${#ZTAB[@]} - -echo "Creating ${ZCONF}/WORK = ${ZTAB[*]} for ${ZCONF}" -echo "" - -[ ! -d ${ZCONF}/MY_SRC ] && \mkdir ${ZCONF}/MY_SRC -[ -d ${ZCONF}/WORK ] || \mkdir ${ZCONF}/WORK - -\rm -f ../${1}/WORK/* - -while [ $i -lt $NDIR ] -do - [ "${ZTAB[i]}" = "OPA_SRC" ] && ln -sf ${NEMO_DIR}/OPA_SRC/*.[Ffh]90 ${ZCONF}/WORK - [ "${ZTAB[i]}" = "OPA_SRC" ] && ln -sf ${NEMO_DIR}/OPA_SRC/*/*.[Ffh]90 ${ZCONF}/WORK && break - let i=$i+1 -done - -i=0 -while [ $i -lt $NDIR ] -do - if [ "${ZTAB[i]}" != "OPA_SRC" ]; then - ln -sf ${NEMO_DIR}/${ZTAB[i]}/*.[Ffh]90 ${ZCONF}/WORK - ln -sf ${NEMO_DIR}/${ZTAB[i]}/*/*.[Ffh]90 ${ZCONF}/WORK 2>/dev/null - fi - let i=$i+1 -done - -for i in `(cd ${ZCONF}/MY_SRC ; ls *.[Ffh]90 2>/dev/null ) ` - do - [ -f ${ZCONF}/MY_SRC/$i ] && ln -sf $PWD/${ZCONF}/MY_SRC/${i} ${ZCONF}/WORK/. - done - -unset -v ZCONF -unset -v ZTAB -unset -v i -unset -v NDIR - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_bld.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_bld.sh deleted file mode 100755 index 951961499535f93649bec3165ee4081ac5644b8d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_bld.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============ -# Fmake_bld.sh -# ============ -# -# -------------------- -# Make build directory -# -------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fmake_bld.sh -# -# -# DESCRIPTION -# =========== -# -# -# Under CONFIG_NAME : -# - Make the build directory -# - Create repositories needed : -# - BLD for compilation -# -# A tmpdir can be specified for memory issues. -# -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fmake_bld.sh NEMOGCM/CONFIG GYRE /usr/tmp -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fmake_bld.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- -[ ! -d ${3}/${2} ] && \mkdir ${3}/${2} -[ ! -d ${3}/${2}/BLD ] && \mkdir ${3}/${2}/BLD -[ ! -d ${1}/${2}/BLD ] && ln -sf ${3}/${2}/BLD ${1}/${2}/BLD -[ -f ${1}/${NEW_CONF}/cpp_${NEW_CONF}.fcm ] && ln -sf ${1}/${NEW_CONF}/cpp_${NEW_CONF}.fcm ${COMPIL_DIR}/cpp.fcm -rm -f ${1}/${NEW_CONF}/BLD/fcm.bld.lock diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_config.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_config.sh deleted file mode 100755 index 604cd62077ac81063b6133e89afa95dbe0d970d2..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fmake_config.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# =============== -# Fmake_config.sh -# =============== -# -# --------------- -# Make the config -# --------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fmake_config.sh -# -# -# DESCRIPTION -# =========== -# -# -# - Make the config directory -# - Create repositories needed : -# -# - EXP00 for namelist -# - MY_SRC for user sources -# - BLD for compilation -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fmake_config.sh CONFIG_NAME REF_CONFIG_NAME -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fmake_config.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- -\mkdir ${1} -\mkdir ${1}/EXP00 -\mkdir ${1}/MY_SRC -\cp -R ${2}/cpp_${2}.fcm ${1}/cpp_${1}.fcm -\cp -R ${2}/EXP00/*namelist* ${1}/EXP00/. -[ -f ${2}/EXP00/AGRIF_FixedGrids.in ] && \cp -R ${2}/EXP00/AGRIF_FixedGrids.in ${1}/EXP00/. -[ -f ${2}/EXP00/iodef.xml ] && \cp -R ${2}/EXP00/iodef.xml ${1}/EXP00/. -[ -f ${2}/EXP00/xmlio_server.def ] && \cp -R ${2}/EXP00/xmlio_server.def ${1}/EXP00/. -[ -d ${2}/MY_SRC ] && \cp ${2}/MY_SRC/* ${1}/MY_SRC/. 2> /dev/null diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fprep_agrif.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fprep_agrif.sh deleted file mode 100755 index ea397a27583c2c11338975d6618f6d3e2ed4ecfe..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fprep_agrif.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============== -# Fprep_agrif.sh -# ============== -# -# --------------------- -# Preparation for AGRIF -# --------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fprep_agrif.sh -# -# -# DESCRIPTION -# =========== -# -# -# Prepare directories for AGRIF and copy files needed -# -# Compile the conv -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fprep_agrif.sh CONFIG_NAME -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fprep_agrif.sh 2520 2010-12-27 14:43:36Z rblod $ -# -# -# -# * creation -# -#- - -#- AGRIF conv -if [ "$AGRIFUSE" == 1 ]; then - -#- CONV -#fcm build ${TOOLS_DIR}/conv.cfg || exit 1 -gmake -C ${MAIN_DIR}/EXTERNAL/AGRIF/LIB - -#- AGRIF sources -[ ! -d $2/$1/OPAFILES ] && mkdir $2/$1/OPAFILES -[ ! -d $2/$1/OPAFILES/AGRIF_INC ] && mkdir $2/$1/OPAFILES/AGRIF_INC -[ ! -d $2/$1/OPAFILES/AGRIF_MODELFILES ] && mkdir $2/$1/OPAFILES/AGRIF_MODELFILES -cp -f -r ${MAIN_DIR}/EXTERNAL/AGRIF/agrif_opa.in $2/$1/OPAFILES/ -cp -f -r ${MAIN_DIR}/EXTERNAL/AGRIF/conv $2/$1/OPAFILES/ - -fi diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fread_dir.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fread_dir.sh deleted file mode 100755 index a8fd309b537b66d93d2bf761e33876a927b7ebcf..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/Fread_dir.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ============ -# Fread_dir.sh -# ============ -# -# --------------------- -# Read user directories -# --------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ Fread_dir.sh -# -# -# DESCRIPTION -# =========== -# -# -# Read directoires needed from standard input -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./Fread_dir.sh Directory_NAME YES/NO -# -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: Fread_dir.sh 2542 2011-01-10 13:18:31Z rblod $ -# -# -# -# * creation -# -#- - -if [ "$2" == "YES" ]; then - echo -n " $1 [Y/n] " - read answer - answer=`echo $answer | sed 's/^[yY].*$/y/'` - if [ -z "$answer" -o "x$answer" = "xy" ]; then - TAB[$ind]="$1" - let ind=ind+1 - echo " $1 selected " - echo " " - else - echo " $1 Not selected " - echo " " - fi - unset -v answer -else - echo -n " $1 [y/N] " - read answer - answer=`echo $answer | sed 's/^[nN].*$/N/'` - if [ "x$answer" = "xy" ]; then - TAB[$ind]="$1" - let ind=ind+1 - echo " $1 selected " - echo " " - else - echo " $1 Not selected " - echo " " - fi - unset -v answer -fi diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/agrifpp.sh b/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/agrifpp.sh deleted file mode 100755 index 4f1188d6feef0600808cb70865c914b41113348d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/nemo-3.3.1/TOOLS/COMPILE/agrifpp.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env bash -#set -x -set -o posix -#set -u -#set -e -#+ -# -# ========== -# agrifpp.sh -# ========== -# -# ---------------------------- -# Preform AGrif pre-processing -# ---------------------------- -# -# SYNOPSIS -# ======== -# -# :: -# -# $ agrifpp.sh -# -# -# DESCRIPTION -# =========== -# -# -# Look after key agrif, if yes the conv is used, otherwise standard pre-processing is performed. -# -# EXAMPLES -# ======== -# -# :: -# -# $ ./agrifpp.sh 1 -Dkey -# -# or -# -# $ ./agrifpp.sh -Dkey -# -# TODO -# ==== -# -# option debug -# -# -# EVOLUTIONS -# ========== -# -# $Id: agrifpp.sh 2143 2010-10-04 12:49:55Z rblod $ -# -# -# -# * creation -# -#- - -if [ "$1" == "1" ]; then - shift - MYFILE=`echo $* |awk -F" " '{print $NF}' ` - FPP_OPT=` echo $* |awk '{ for (i=1 ; i ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/par_oce.F90 - (cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES ; ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/conv agrif_opa.in -rm -comdirin ./ -comdirout AGRIF_MODELFILES/ -convfile par_oce.F90 > /dev/null ) - cpp ${FPP_OPT} -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_MODELFILES/par_oce.F90 > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/par_oce.F90 - touch ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/param_done - elif [ "${MYFILE}" == "par_oce.F90" -a -f ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/param_done ] ; then - cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES - cpp ${FPP_OPT} -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC ${MYFILE} - exit - fi - - if [ "${MYFILE}" == agrif2model.F90 ]; then - cpp -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC $@ - exit - fi - - cpp -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC $@ > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/${MYFILE} - ( cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES ; ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/conv agrif_opa.in -rm -comdirin ./ -comdirout AGRIF_MODELFILES/ -convfile ${MYFILE} > /dev/null ) - cd ${NEMO_TDIR}/${NEW_CONF} - sed 's/[ ]*$//' OPAFILES/AGRIF_MODELFILES/${MYFILE}> OPAFILES/${MYFILE} - cpp ${FPP_OPT} -IOPAFILES/AGRIF_INC OPAFILES/${MYFILE} -else - shift - cpp $@ -fi - diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf.tmpl b/deploy/patches/ecmwf/ecearth/v3.0/sources/oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf.tmpl deleted file mode 100644 index 33160b5d6bd91afc180464c788fdccb258aa2f8a..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf.tmpl +++ /dev/null @@ -1,65 +0,0 @@ - -$(info --> Reading configuration from $(lastword $(MAKEFILE_LIST))) - -# ============================================================================ -# *** Configuration for gimle-intel-scampi -# ============================================================================ - -COUPLE := [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/oasis3 - -# CHAN : MPI1/MPI2 -CHAN := MPI1 - -# MPI library -MPIDIR := [[[PLT:ACTIVE:MPI_BASE_DIR]]] -ifneq ($(strip $(MPIDIR)),) -MPIBIN := $(MPIDIR)/bin -MPI_INCLUDE := $(MPIDIR)$(addprefix /,[[[PLT:ACTIVE:MPI_INC_SUBDIR]]]) -MPILIB := -L$(MPIDIR)$(addprefix /,[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]) -endif -MPILIB += $(addprefix -l,[[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]]) - -# NETCDF library -NETCDF_DIR := [[[PLT:ACTIVE:NETCDF_BASE_DIR]]] -ifneq ($(strip $(NETCDF_DIR)),) -NETCDF_INCLUDE := $(NETCDF_DIR)$(addprefix /,[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]]) -NETCDF_LIBRARY := -L$(NETCDF_DIR)$(addprefix /,[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]]) -endif -NETCDF_LIBRARY += $(addprefix -l,[[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]]) - -comma := , - -# Compiling and other commands -MAKE := [[[PLT:ACTIVE:MAKE]]] -F90 := [[[PLT:ACTIVE:FC]]] [[[PLT:ACTIVE:FFLAGS_FREEFORM]]] $(addprefix -I,$(MPI_INCLUDE)) -F := [[[PLT:ACTIVE:FC]]] [[[PLT:ACTIVE:FFLAGS_FIXEDFORM]]] -f90 := $(F90) -f := $(F) -CC := [[[PLT:ACTIVE:CC]]] $(addprefix -I,$(MPI_INCLUDE)) -LD := [[[PLT:ACTIVE:LD]]] -AR := [[[PLT:ACTIVE:AR]]] -ARFLAGS := [[[PLT:ACTIVE:ARFLAGS]]] - -# CPP/FPP macros -MACROS := use_libMPI use_comm_$(CHAN) use_netCDF TREAT_OVERLAY -MACROS += [[[PLT:ACTIVE:OASIS_ADD_PPDEFS]]] - -# Compiler options -F90FLAGS := [[[PLT:ACTIVE:FFLAGS]]] -F90FLAGS += [[[PLT:ACTIVE:OASIS_ADD_FFLAGS]]] -F90FLAGS += $(addprefix [[[PLT:ACTIVE:FFLAGS_FPP_PREFIX]]],$(MACROS)) -F90FLAGS += $(addprefix -I,$(NETCDF_INCLUDE)) - -f90FLAGS := $(F90FLAGS) -FFLAGS := $(F90FLAGS) -fFLAGS := $(F90FLAGS) - -CCFLAGS := [[[PLT:ACTIVE:CFLAGS]]] -CCFLAGS += $(addprefix [[[PLT:ACTIVE:CFLAGS_CPP_PREFIX]]],$(MACROS)) -CCFLAGS += $(addprefix -I,$(NETCDF_INCLUDE)) - -LDFLAGS := [[[PLT:ACTIVE:LDFLAGS]]] -LDFLAGS += [[[PLT:ACTIVE:OASIS_ADD_LDFLAGS]]] - -# MPP_IOOPT needed for compiling mpp_io -MPP_IOOPT := diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/util/ec-conf/ec-conf b/deploy/patches/ecmwf/ecearth/v3.0/sources/util/ec-conf/ec-conf deleted file mode 100755 index b0b2186dd6dbdaaf98fdad6dab9ef7b89e46933d..0000000000000000000000000000000000000000 --- a/deploy/patches/ecmwf/ecearth/v3.0/sources/util/ec-conf/ec-conf +++ /dev/null @@ -1,1067 +0,0 @@ -#!/usr/bin/env python - -import sys,os,getopt,stat -# sys.path = ['/usr/local/apps/python/2.7.2-01/lib/python2.7', '/usr/local/apps/python/2.7.2-01/lib/python2.7/lib-dynload'] -sys.path.pop(sys.path.index('/usr/local/apps/python/2.7.2-01/lib/python2.7/site-packages')) -import xml.sax -import re -import operator - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION info <<< -# ------------------------------------------------------------------------------------------------- -def info(s,level=1): - """ @brief Print info to stdout - @param s string to print - """ - if VERBOSE>=level: - sys.stderr.write("*II* %s\n" % s) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION info >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION warning <<< -# ------------------------------------------------------------------------------------------------- -def warning(s): - """ @brief Print warning to stdout - @param s string to print - """ - if WARNING: - sys.stderr.write("*WW* %s\n" % s) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION warning >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION error <<< -# ------------------------------------------------------------------------------------------------- -def error(s): - """ @brief Print error to stdout - @param s string to print - """ - print "*EE* %s " % s - sys.exit(1) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION error >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION usage <<< -# ------------------------------------------------------------------------------------------------- -def usage(myname): - print "\nUsage: %s OPTIONS \n" % (myname) - - print "Read configuration from an XML file and create config files." - - print """ -%s reads a data base of configuration parameters from an XML file. -Subsequently, a number of template files are processed in order to create -configuration files (targets).""" % (myname) - - print """ -Options: -h|--help Print this help screen. - -p|--platform Set the active platform. See ... - -g|--gui Starts the graphical user interface. Turns off -x. - -x|--write-xml Writes the content of in XML format to stdout. - This can be used to normalise the XML file and for test purposes. - -v|--verbose Produces verbose output (stderr). To increase verbosity, - use more than once. - -w|--no-warning Turns off warnings (however, errors are displayed). - """ - sys.exit(2) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION usage >>> -# ------------------------------------------------------------------------------------------------- - -# ================================================================================================= -# *** CLASS TextNode <<< -# ================================================================================================= -class TextNode(object): - def __init__(self): - self.text = "" - - def addText(self,content): - self.text += content -# ================================================================================================= -# *** END of CLASS TextNode >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS NamedNode <<< -# ================================================================================================= -class NamedNode(object): - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __init__ <<< -# ------------------------------------------------------------------------------------------------- - def __init__(self,attr=None): - - self.name = None - self.description = None - - if attr: - if 'name' in attr: - self.name = attr['name'] - - info('Create named node: '+self.name+' ('+self.__class__.__name__+')',level=2) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __init__ >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION set <<< -# ------------------------------------------------------------------------------------------------- - def set(self,key,value): - self.__dict__.__setitem__(key,value) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION set >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION xml <<< -# ------------------------------------------------------------------------------------------------- - def xml(self,level=0): - """Provides XML representation of the NamedNode as a string""" - - tabwidth = 4 - - s = ' '*level*tabwidth - s += '<' + self.__class__.__name__ - if 'name' in self.__dict__ and self.name: - s += ' name="' + self.name + '"' - s += '>\n' - - for e in 'description','template','target','type','value': - if e in self.__dict__: - s += ' '*(level+1)*tabwidth - s += '<' + e.capitalize() + '>' - if self.__dict__[e]: s += self.__dict__[e] - s += '\n' - - if level<=1: s+='\n' - - for e in 'translation','platform','model','parameter': - if e in self.__dict__: - for t in self.__dict__[e]: - s += t.xml(level+1) - - s += ' '*level*tabwidth - s += '\n' - - if level>0 and level<=2: s += '\n' - - return s -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION xml >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION plt <<< -# ------------------------------------------------------------------------------------------------- - def plt(self,name=None): - """Provides short-hand access to the Platform member with name 'name'.""" - if 'platform' in self.__dict__: - if name: - for p in self.platform: - if p.name == name: - return p - else: - return self.platform - return None -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION plt >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION mod <<< -# ------------------------------------------------------------------------------------------------- - def mod(self,name=None): - """Provides short-hand access to the Model member with name 'name'.""" - - if 'model' in self.__dict__: - if name: - for m in self.model: - if m.name == name: - return m - else: - return self.model - return None -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION mod >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION par <<< -# ------------------------------------------------------------------------------------------------- - def par(self,name=None): - """Provides short-hand access to the Parameter member with name 'name'.""" - - if 'parameter' in self.__dict__: - if name: - for p in self.parameter: - if p.name == name: - return p - else: - return self.parameter - return None -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION par >>> -# ------------------------------------------------------------------------------------------------- - -# ================================================================================================= -# *** END of CLASS NamedNode >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Translation <<< -# ================================================================================================= -class Translation(NamedNode): - def __init__(self,attr): - super(Translation,self).__init__(attr) - self.template = None - self.target = None - self.properties = '' - self.isActive = 1 - - def setTarget(self,t): - self.target = t -# ================================================================================================= -# *** END of CLASS Translation >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Platform <<< -# ================================================================================================= -class Platform(NamedNode): - def __init__(self,attr): - super(Platform,self).__init__(attr) - self.parameter = [] - self.translation = [] -# ================================================================================================= -# *** END of CLASS Platform >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Model <<< -# ================================================================================================= -class Model(NamedNode): - def __init__(self,attr): - super(Model,self).__init__(attr) - self.parameter = [] -# ================================================================================================= -# *** END of CLASS Model >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Parameter <<< -# ================================================================================================= -class Parameter(NamedNode): - def __init__(self,attr): - super(Parameter,self).__init__(attr) - self.type = None - self.value = None -# ================================================================================================= -# *** END of CLASS Parameter >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS Configuration <<< -# ================================================================================================= -class Configuration(NamedNode,xml.sax.handler.ContentHandler): - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __init__ <<< -# ------------------------------------------------------------------------------------------------- - def __init__(self): - - self.translation = [] - self.platform = [] - self.model = [] - - self.xmlFile = None - self.activePlatform = None - - self.__stack = [] - self.__types = { 'Translation' : Translation, - 'Platform' : Platform, - 'Model' : Model, - 'Parameter' : Parameter } -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __init__ >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION xml <<< -# ------------------------------------------------------------------------------------------------- - def xml(self,level=0): - - s = '\n\n' - s += super(Configuration,self).xml(level) - - return s -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION xml >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION startElement <<< -# ------------------------------------------------------------------------------------------------- - def startElement(self,tag,attributes): - - info("Processing XML element '"+str(tag)+"'",level=3) - - if self.__stack: - if tag in self.__types: - info("Adding NamedNode for element '"+str(tag)+"'",level=3) - self.__stack.append(self.__types[tag](attributes)) - else: - info("Adding TextNode for element '"+str(tag)+"'",level=3) - self.__stack.append(TextNode()) - else: - self.__stack.append(self) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION startElement >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION characters <<< -# ------------------------------------------------------------------------------------------------- - def characters(self,content): - if isinstance(self.__stack[-1],TextNode): - self.__stack[-1].addText(content) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION characters >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION endElement <<< -# ------------------------------------------------------------------------------------------------- - def endElement(self,tag): - n = self.__stack.pop() - if self.__stack: - if isinstance(n,TextNode): - self.__stack[-1].__dict__[tag.lower()] = n.text - else: - self.__stack[-1].__dict__[tag.lower()].append(n) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION endElement >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION parse <<< -# ------------------------------------------------------------------------------------------------- - def parse(self,file): - - parser = xml.sax.make_parser() - parser.setContentHandler(self) - - info("Parsing XML file '%s'" % (file)) - - try: parser.parse(file) - except IOError: - error("Could not open file '"+file+"' for reading") - - info("Finished parsing '%s': Translation: %d Platform: %d Model: %d" % - (file,len(self.translation),len(self.platform),len(self.model))) - self.xmlFile = file -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION parse >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION translate <<< -# ------------------------------------------------------------------------------------------------- - def translate(self,translation): - - RPN_OPS = { - 'ADD' : operator.add, - 'SUB' : operator.sub, - 'MUL' : operator.mul, - 'DIV' : operator.truediv, - 'POW' : operator.pow, - 'MOD' : operator.mod - } - - substRE = re.compile(r"\[\[\[(?P[a-zA-Z0-9_:,]+)\]\]\]") - varRE = re.compile(r"^(\w{3}):([a-zA-Z0-9_]+):([a-zA-Z0-9_]+)$") - - def parseVar(s): # <<< - - while 1: - - m = varRE.search(s) - - if not m: break - - (category,component,parameter) = m.groups() - - if category.lower()=='plt' and component.lower() == 'active': - component = self.activePlatform - - try: s = getattr(self,category.lower())(component).par(parameter).value - except: - warning("Unable to process '%s' (Line %d in '%s')" % (s,line_number,template)) - return '[[['+s+']]]' - return s - # >>> - - def parseRNP(s): # <<< - - stack = [] - - for token in s.split(','): - - token = parseVar(token) - if not token: - warning("Substitute expression with empty string (Line %d in '%s')" % (line_number,template)) - - try: result = int(token) - except ValueError: - - try: result = float(token) - except ValueError: - - if token in RPN_OPS.keys(): - - try: result = RPN_OPS[token](stack.pop(-2),stack.pop()) - except IndexError: - warning("Too few arguments to execute '%s' (Line %d in '%s')" % (token,line_number,template)) - return "[[["+s+"]]]" - except: - warning("Unable to execute '%s' (Line %d in '%s')" % (token,line_number,template)) - return "[[["+s+"]]]" - else: - result = token - - stack.append(result) - - if len(stack)>1: - warning("Too many operands in '%s' (Line %d in '%s')" % (s,line_number,template)) - return "[[["+s+"]]]" - - return result - # >>> - - template = translation.template - target = translation.target.strip() - - info("Translate: '%s' --> '%s'" % (template,target)) - - try: input = open(template,'r') - except IOError: - error("Can't open template file '%s' for reading" % (template)) - - if target: - try: output = open(target,'w') - except IOError: - error("Can't open target file '%s' for writing" % (target)) - - if 'executable' in translation.properties.split(','): - os.chmod(target,stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH | \ - stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH | \ - stat.S_IWUSR) - else: - output = sys.stdout - - line_number = 0 - for line in input: - line_number += 1 - ptr = 0 - buf = '' - for m in substRE.finditer(line): - buf += line[ptr:m.start()] - var = m.groupdict()['var'] - buf += str(parseRNP(var)) - ptr = m.end() - buf += line[ptr:] - - output.write(buf) - - input.close() - if target: output.close() - -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION translate >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION translateAll <<< -# ------------------------------------------------------------------------------------------------- - def translateAll(self): - for t in self.translation: - self.translate(t) - - if self.activePlatform: - for t in self.plt(self.activePlatform).translation: - self.translate(t) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION translateAll >>> -# ------------------------------------------------------------------------------------------------- - -# ================================================================================================= -# *** END of CLASS Configuration >>> -# ================================================================================================= - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION startGUI <<< -# ------------------------------------------------------------------------------------------------- -def startGUI(cfg): - - import Tkinter - import tkFileDialog - import tkMessageBox - -# ================================================================================================= -# *** CLASS VerticalScrolledFrame <<< -# ================================================================================================= - class VerticalScrolledFrame(Tkinter.Frame): - """A pure Tkinter scrollable frame that actually works! - - * Use the 'interior' attribute to place widgets inside the scrollable frame - * Construct and pack/place/grid normally - * This frame only allows vertical scrolling - - http://tkinter.unpythonic.net/wiki/VerticalScrolledFrame - - """ - def __init__(self, parent, *args, **kw): - Tkinter.Frame.__init__(self, parent, *args, **kw) - - # create a canvas object and a vertical scrollbar for scrolling it - vscrollbar = Tkinter.Scrollbar(self, orient=Tkinter.VERTICAL) - vscrollbar.pack(fill=Tkinter.Y, side=Tkinter.RIGHT, expand=Tkinter.FALSE) - canvas = Tkinter.Canvas(self, bd=0, highlightthickness=0, - yscrollcommand=vscrollbar.set) - canvas.pack(side=Tkinter.LEFT, fill=Tkinter.BOTH, expand=Tkinter.TRUE) - vscrollbar.config(command=canvas.yview) - - # reset the view - canvas.xview_moveto(0) - canvas.yview_moveto(0) - - # create a frame inside the canvas which will be scrolled with it - self.interior = interior = Tkinter.Frame(canvas) - interior_id = canvas.create_window(0, 0, window=interior, - anchor=Tkinter.NW) - - # track changes to the canvas and frame width and sync them, - # also updating the scrollbar - def _configure_interior(event): - # update the scrollbars to match the size of the inner frame - size = (interior.winfo_reqwidth(), interior.winfo_reqheight()) - canvas.config(scrollregion="0 0 %s %s" % size) - if interior.winfo_reqwidth() != canvas.winfo_width(): - # update the canvas's width to fit the inner frame - canvas.config(width=interior.winfo_reqwidth()) - interior.bind('', _configure_interior) - - def _configure_canvas(event): - if interior.winfo_reqwidth() != canvas.winfo_width(): - # update the inner frame's width to fill the canvas - canvas.itemconfigure(interior_id, width=canvas.winfo_width()) - canvas.bind('', _configure_canvas) - - return -# ================================================================================================= -# *** END of CLASS VerticalScrolledFrame >>> -# ================================================================================================= - -# ================================================================================================= -# *** CLASS GUI <<< -# ================================================================================================= - class GUI(Tkinter.Tk): - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __init__ <<< -# ------------------------------------------------------------------------------------------------- - def __init__(self,cfg): - - Tkinter.Tk.__init__(self) - - self.columnconfigure(1,weight=1) - self.rowconfigure(0,pad=10) - self.rowconfigure(2,weight=1) - - self.__cfg = cfg - self.__varList = [] - self.__varDict = {} - - for t in self.__cfg.translation + [t for p in self.__cfg.platform for t in p.translation]: - v = Tkinter.IntVar() - v.set(1) - v.trace('w',lambda n,i,m,t=t: t.set('isActive',int(self.globalgetvar(n)))) - self.__addVar(v,t) - - self.__activeComponent = Tkinter.StringVar() - - self.__status = Tkinter.StringVar() - - self.__componentFrame = None - self.__parameterFrame = None - self.__translationFrame = None - - self.__initTopPanel() - self.__initStatusPanel() - self.__initMainPanel() - - self.grid_propagate(flag=0) - - self.__setStatus("Welcome to EC-CONF's graphical user interface!",time=3000) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __init__ >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __addVar <<< -# ------------------------------------------------------------------------------------------------- - def __addVar(self,var,obj=None): - self.__varList.append(var) - if obj: - self.__varDict[obj] = len(self.__varList)-1 -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __addVar >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __setStatus <<< -# ------------------------------------------------------------------------------------------------- - def __setStatus(self,message,time=8000): - - try: self.after_cancel(self.__statusAfterID) - except: pass - - self.__defaultStatusMessage = 'Basic usage: SELECT XML database and template/target files, ' \ - ' CONFIGURE parameters, ' \ - ' and CREATE the configuration files.' - self.__status.set(message) - self.__statusAfterID = self.after(time,self.__status.set,self.__defaultStatusMessage) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __setStatus >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initTopPanel <<< -# ------------------------------------------------------------------------------------------------- - def __initTopPanel(self): - - w = Tkinter.Label(text='The active platform is:') - w.grid(row=0,column=0) - - if not self.__cfg.activePlatform: - self.__cfg.activePlatform = self.__cfg.platform[0].name - - v = Tkinter.StringVar() - v.set(self.__cfg.activePlatform) - v.trace('w',lambda n,i,m: self.__setStatus("Active platform changed to '"+self.__cfg.activePlatform+"'")) - v.trace('w',lambda n,i,m: self.__fillParameterFrame(self.__parameterFrame)) - v.trace('w',lambda n,i,m: self.__fillComponentFrame(self.__componentFrame)) - v.trace('w',lambda n,i,m: self.__fillTranslationFrame(self.__translationFrame)) - v.trace('w',lambda n,i,m: self.__cfg.set('activePlatform',self.globalgetvar(n))) - self.__addVar(v) - - w = Tkinter.OptionMenu(None,v,*[p.name for p in self.__cfg.platform]) - w.grid(row=0,column=1,sticky='W',padx=8) - - w = Tkinter.Button(text='Select',width=10,height=2,bg='tan') - w['command'] = self.__doSelect - w.grid(row=0,column=2,padx=8) - - w = Tkinter.Button(text='Configure',width=10,height=2,bg='tan') - w['command'] = self.__doConfigure - w.grid(row=0,column=3,padx=8) - - w = Tkinter.Button(text='Create!',width=10,height=2,bg='darkgrey',fg='white') - w['command'] = self.__doCreate - w.grid(row=0,column=4,padx=8) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initTopPanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initStatusPanel<<< -# ------------------------------------------------------------------------------------------------- - def __initStatusPanel(self): - w = Tkinter.Label(textvariable=self.__status,height=2,bg='orange') - w.grid(row=1,column=0,columnspan=5,sticky='EW',pady=5) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initStatusPanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initMainPanel <<< -# ------------------------------------------------------------------------------------------------- - def __initMainPanel(self): - - self.__initSelectPanel() - self.__initConfigurePanel() - - self.__selectPanel.grid_remove() - self.__configurePanel.grid_remove() - - self.__activeMainPanel = self.__selectPanel - self.__activeMainPanel.grid() -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initMainPanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initSelectPanel <<< -# ------------------------------------------------------------------------------------------------- - def __initSelectPanel(self): - - self.__selectPanel = Tkinter.Frame() - self.__selectPanel.grid(row=2,column=0,columnspan=5,sticky='NEWS') - self.__selectPanel.columnconfigure(0,weight=1) - self.__selectPanel.rowconfigure(2,weight=1) - - f = Tkinter.LabelFrame(self.__selectPanel,text='XML database file') - f.grid(sticky='NEWS') - f.columnconfigure(1,weight=1) - - w = Tkinter.Label(f,text='The current file is: ') - w.grid(row=0,column=0,sticky='W') - - v = Tkinter.StringVar() - v.set(self.__cfg.xmlFile) - v.trace('w',lambda n,i,m: self.__cfg.set('xmlFile',self.globalgetvar(n))) - self.__addVar(v,'xmlFile') - - w = Tkinter.Label(f,textvariable=v,bg='darkgrey',fg='white') - w.grid(row=0,column=1,sticky='W') - - w = Tkinter.Button(f,text='Save as',width=8) - w['command'] = lambda :self.__saveAsXmlFile() - w.grid(row=0,column=2,sticky='E',padx=4,pady=5) - - w = Tkinter.Button(f,text='Save',width=8) - w['command'] = lambda :self.__saveXmlFile() - w.grid(row=0,column=3,sticky='E',padx=4,pady=5) - - Tkinter.Frame(self.__selectPanel).grid(pady=5) - - self.__translationFrame = Tkinter.LabelFrame(self.__selectPanel,text='Templates and Targets') - self.__translationFrame.grid(sticky='NEWS') - self.__translationFrame.columnconfigure(1,weight=1) - self.__translationFrame.columnconfigure(3,weight=9) - - self.__fillTranslationFrame(self.__translationFrame) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initSelectPanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __initConfigurePanel <<< -# ------------------------------------------------------------------------------------------------- - def __initConfigurePanel(self): - - self.__configurePanel = Tkinter.Frame() - self.__configurePanel.grid(row=2,column=0,columnspan=5,sticky='NEWS') - self.__configurePanel.rowconfigure(0,weight=1) - self.__configurePanel.columnconfigure(2,weight=1) - - # Component frame - self.__componentFrame = Tkinter.LabelFrame(self.__configurePanel,text='Configurable components') - self.__componentFrame.grid(sticky='NEWS') - - self.__fillComponentFrame(self.__componentFrame) - - # Spacer frame - f = Tkinter.Frame(self.__configurePanel) - f.grid(row=0,column=1,padx=2) - - # Parameter frame - f = Tkinter.LabelFrame(self.__configurePanel,text='Configuration parameters') - f.grid(row=0,column=2,sticky='NEWS') - - f = VerticalScrolledFrame(f) - f.pack(fill=Tkinter.BOTH,expand=Tkinter.TRUE) - - self.__parameterFrame = f.interior - self.__parameterFrame.columnconfigure(2,weight=1) - - self.__fillParameterFrame(self.__parameterFrame) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __initConfigurePanel >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __fillTranslationFrame <<< -# ------------------------------------------------------------------------------------------------- - def __fillTranslationFrame(self,frame): - - for w in frame.children.values(): - w.destroy() - - v = Tkinter.IntVar() - v.set(1) - v.trace('w',lambda n,i,m: [ self.__varList[self.__varDict[t]].set(self.globalgetvar(n)) - for t in self.__cfg.translation + - self.__cfg.plt(self.__cfg.activePlatform).translation ]) - self.__addVar(v) - - w = Tkinter.Checkbutton(frame,text='Activate/deactivate all',variable=v) - w.grid(row=0,column=0,sticky='W',pady=5) - - r = 1 - for t in self.__cfg.translation + self.__cfg.plt(self.__cfg.activePlatform).translation: - - w = Tkinter.Checkbutton(frame,text=t.description,variable=self.__varList[self.__varDict[t]]) - w.grid(row=r,column=0,sticky='W',pady=5) - - w = Tkinter.Label(frame,text=t.template,bg='darkgrey',fg='white') - w.grid(row=r,column=1,sticky='E') - - w = Tkinter.Label(frame,text=' --> ') - w.grid(row=r,column=2) - - v = Tkinter.StringVar() - v.set(t.target) - v.trace('w',lambda n,i,m,t=t: t.setTarget(self.globalgetvar(n))) - self.__addVar(v) - w = Tkinter.Entry(frame,textvariable=v) - - w.grid(row=r,column=3,sticky='EW') - r+=1 - -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __fillTranslationFrame >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __fillComponentFrame <<< -# ------------------------------------------------------------------------------------------------- - def __fillComponentFrame(self,frame): - - for w in frame.children.values(): - w.destroy() - - if self.__cfg.activePlatform: - - self.__activeComponent.set(self.__cfg.activePlatform) - - w = Tkinter.Label(frame,text='Active platform') - w.pack(anchor='w') - - c = self.__cfg.plt(self.__cfg.activePlatform) - w = Tkinter.Radiobutton(frame,text=c.name,variable=self.__activeComponent,value=c.name) - w['command'] = lambda:self.__fillParameterFrame(self.__parameterFrame) - w.pack(anchor='w',pady=5) - - if self.__cfg.model: - - if not self.__activeComponent.get(): - self.set(self.__cfg.model[0].name) - - w = Tkinter.Label(frame,text='Configurable models') - w.pack(anchor='w') - - for c in self.__cfg.model: - w = Tkinter.Radiobutton(frame,text=c.name,variable=self.__activeComponent,value=c.name) - w['command'] = lambda:self.__fillParameterFrame(self.__parameterFrame) - w.pack(anchor='w',pady=5) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __fillComponentFrame >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __fillParameterFrame <<< -# ------------------------------------------------------------------------------------------------- - def __fillParameterFrame(self,frame): - - for w in frame.children.values(): - w.destroy() - - for (name,component) in [(c.name,c) for c in self.__cfg.platform + self.__cfg.model]: - if self.__activeComponent.get()==name: - break - - r = 0 - for p in component.par(): - - w = Tkinter.Label(frame,text=p.description,anchor="w",width=35) - w.grid(row=r,column=0,sticky='W') - - w = Tkinter.Label(frame,text='['+str(p.name)+']') - w.grid(row=r,column=1,sticky='W',padx=20) - - v = Tkinter.StringVar() - v.set(p.value) - v.trace('w',lambda n,i,m,p=p: p.set('value',self.globalgetvar(n))) - self.__addVar(v) - w = Tkinter.Entry(frame,textvariable=v) - w.grid(row=r,column=2,sticky='EW') - - r+=1 - - self.__setStatus('Configure parameters for component \''+self.__activeComponent.get()+'\'') -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __fillParameterFrame >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __doSelect <<< -# ------------------------------------------------------------------------------------------------- - def __doSelect(self): - self.__activeMainPanel.grid_remove() - self.__activeMainPanel = self.__selectPanel - self.__activeMainPanel.grid() - self.__setStatus('Select the XML data base file and active translations in the panel below.') -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __doSelect >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __doConfigure <<< -# ------------------------------------------------------------------------------------------------- - def __doConfigure(self): - self.__activeMainPanel.grid_remove() - self.__activeMainPanel = self.__configurePanel - self.__activeMainPanel.grid() - self.__setStatus('Configure the configuration parameters for the available components in the panel below.') -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __doConfigure >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __doCreate <<< -# ------------------------------------------------------------------------------------------------- - def __doCreate(self): - - fw = [] - for t in self.__cfg.translation + self.__cfg.plt(self.__cfg.activePlatform).translation: - if t.isActive: - self.__cfg.translate(t) - fw.append(t.target) - - if fw: - msg = 'Active target files written: '+fw.pop() - while fw: msg += ', '+fw.pop() - else: - msg = 'No targets where written' - - self.__setStatus(msg) -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __doCreate >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __saveAsXmlFile <<< -# ------------------------------------------------------------------------------------------------- - def __saveAsXmlFile(self): - f = tkFileDialog.asksaveasfilename(title='Select a file name for saving:', - filetypes=[('XML files','*.xml'),('All files','*')]) - if f: - try: - self.__varList[self.__varDict['xmlFile']].set(os.path.relpath(f)) - except AttributeError: - self.__varList[self.__varDict['xmlFile']].set(os.path.realpath(f)) - self.__saveXmlFile() - else: - self.__setStatus("Current XML file NOT saved") - -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __saveAsXmlFile >>> -# ------------------------------------------------------------------------------------------------- - -# ------------------------------------------------------------------------------------------------- -# *** FUNCTION __saveXmlFile <<< -# ------------------------------------------------------------------------------------------------- - def __saveXmlFile(self): - - if os.path.isfile(self.__cfg.xmlFile): - msg = "The file '"+self.__cfg.xmlFile+"' exists. Do you want to replace it?" - if not tkMessageBox.askyesno('Save XML file',msg): return - - try: f = open(self.__cfg.xmlFile,'w') - except IOError: - msg = "The file '"+self.__cfg.xmlFile+"' could not be opened for writing" - tkMessageBox.showerror('Save XML file',msg) - self.__setStatus("XML database NOT saved") - return - - f.write(self.__cfg.xml()) - f.close() - self.__setStatus("XML database saved to file '"+self.__cfg.xmlFile+"'") -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION __saveXmlFile >>> -# ------------------------------------------------------------------------------------------------- - -# ================================================================================================= -# *** END of CLASS GUI >>> -# ================================================================================================= - - root = GUI(cfg) - root.title('ec-conf GUI') - - minWindowWidth = min(900,int(0.9*root.winfo_screenwidth())) - minWindowHeight = min(800,int(0.9*root.winfo_screenheight())) - root.minsize(minWindowWidth,minWindowHeight) - - root.resizable() - root.mainloop() -# ------------------------------------------------------------------------------------------------- -# *** END of FUNCTION startGUI >>> -# ------------------------------------------------------------------------------------------------- - -if __name__ == "__main__": - - # Try to get command line options and arguments - try: opts,args = getopt.getopt(sys.argv[1:],"hp:gxvw",["help","platform=","gui","write-xml","verbose","no-warning"]) - except getopt.GetoptError: - usage(os.path.split(sys.argv[0])[-1]) - - # Default values, to be overwritten by command line options - WARNING = 1 - VERBOSE = 0 - writeXML = False - wantGUI = False - platform = None - - # Parse command line options - for opt,arg in opts: - if opt in ('-h','--help'): - usage(os.path.split(sys.argv[0])[-1]) - elif opt in ('-p','--platform'): - platform = arg - elif opt in ('-g','--gui'): - wantGUI = True - elif opt in ('-x','--write-xml'): - writeXML = True - elif opt in ('-v','--verbose'): - VERBOSE += 1 - elif opt in ('-w','--no-warning'): - WARNING=0 - - # The XML file is all that should be left on the command line - if len(args)!=1: - usage(os.path.split(sys.argv[0])[-1]) - - # Create the Configuration object and fill the data structures by parsing the XML file - cfg = Configuration() - - try: cfg.parse(args[0]) - except xml.sax._exceptions.SAXParseException, e: - msg = 'XML parse error: ' - msg += "'"+e._msg+"'" - msg += " (line %s, column %s in file '%s')" % (e._linenum,e._colnum,e._systemId) - error(msg) - - # If a platform was given on the command line, try to set it - if platform: - if cfg.plt(platform): - cfg.activePlatform = platform - else: - error("Platform '%s' not defined in the configuration file '%s'" % (platform,args[0])) - elif not wantGUI: - warning('No active platform given') - - # Select activity to be done according to the command line options - # Default is to translate all Translations in the Configuration - if wantGUI: - info("Starting GUI") - startGUI(cfg) - elif writeXML: - sys.stdout.write(cfg.xml()) - else: - cfg.translateAll() diff --git a/deploy/patches/ecmwf/ecearth/v3.0/sources/util/makedepf90/bin/makedepf90-ecmwf b/deploy/patches/ecmwf/ecearth/v3.0/sources/util/makedepf90/bin/makedepf90-ecmwf deleted file mode 100755 index 660ffdd23ec67f6aaeb1ed36f07596b61142e90d..0000000000000000000000000000000000000000 Binary files a/deploy/patches/ecmwf/ecearth/v3.0/sources/util/makedepf90/bin/makedepf90-ecmwf and /dev/null differ diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/compilation.cmd b/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/compilation.cmd deleted file mode 100755 index 1994feb37e86b4c3f2666d60a9e9ea00b9e403f4..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/compilation.cmd +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -# Modify jpni, jpnj and jpnij in the following code -# according to no. of proc to be used. -# vi ../../modeles/NEMO/OPA_SRC/par_oce.F90 - -# Modify compiler options in the following configuration -# file. -# vi ../../util/AA_make.gdef - -nemo_i=6 -nemo_j=6 - -while getopts i:j: option -do - case $option in - i) nemo_i=$OPTARG;; - j) nemo_j=$OPTARG;; - \?) exit 1;; - esac -done - -sed -e "s/ABC/$nemo_i/" \ - -e "s/DEF/$nemo_j/" \ - -e "s/GEH/$((nemo_i*nemo_j))/" \ -../../modeles/NEMO/OPA_SRC/par_oce.F90.orig > ../../modeles/NEMO/OPA_SRC/tmp -mv ../../modeles/NEMO/OPA_SRC/tmp ../../modeles/NEMO/OPA_SRC/par_oce.F90 - -source /opt/modules/default/init/bash -module load xtpe-mc12 -module load netcdf - -set -xuve -date - -compile=linux - -# MODEL Compilation -# ================= -rm -rf ../../lib/* -gmake clean -cp scripts/BB_make.ldef_1st scripts/BB_make.ldef -../../util/ins_make -t $compile -cat Makefile -gmake -cp scripts/BB_make.ldef_2nd scripts/BB_make.ldef -../../util/ins_make -t $compile -cat Makefile -gmake - -# TOOLS Compilation -# ================ -cd ../../modeles/IOIPSL/tools -gmake clean -gmake - -date diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/cp.cmd b/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/cp.cmd deleted file mode 100755 index 98de043d1c359584afd821ffad10125569545c7e..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/cp.cmd +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -set -xuve - -mkdir -p ../../../../bin -ls -lrt ../../../../bin - -cp -pf ../../bin/* ../../../../bin - -ls -lrt ../../../../bin diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/run_nemo-v3.2-orca1.cmd b/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/run_nemo-v3.2-orca1.cmd deleted file mode 100755 index 453b7f5d45792d823b0580cd9c2c6cf25bb1a7a2..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/run_nemo-v3.2-orca1.cmd +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/ksh -############################################################################### -# RUN NEMO -############################################################################### -# -#!/bin/ksh --login -##PBS -N run_nemo-v3.2-orca1 -#PBS -l mppwidth=36 -#PBS -l mppnppn=24 -#PBS -l walltime=00:30:00 -#PBS -A hpx1enes -# - -# General settings - -date -set -xuv - -NEMO=/work/e24/rzg35ene/$USER/tools/nemo/v3.2-orca1 -TESTDATADIR=/work/e24/rzg35ene/$USER/tools/nemo/inidata -FORCING=${TESTDATADIR}/DFS4.1 -WRITINGDIR=/work/e24/rzg35ene/$USER/scratch/test -RUN_dir=$WRITINGDIR/run_nemo-v3.2-orca1_$PBS_JOBID - -NPROCNEMO=36 -MPPNPPN=24 -YEAR=1990 - -mkdir -p ${RUN_dir} || true -cd ${RUN_dir} - -cp ${NEMO}/bin/opa opa.xx -chmod 770 opa.xx - -cp ${NEMO}/setup/namelist.v3.2.default namelist -cp ${NEMO}/setup/namelist_ice.v3.2.default namelist_ice - -cp ${TESTDATADIR}/EMPave_old.dat EMPave_old.dat -cp ${TESTDATADIR}/geothermal_heating_orca1.nc geothermal_heating.nc -cp ${TESTDATADIR}/coordinates_ukorca1.nc coordinates.nc -cp ${TESTDATADIR}/bathy_meter_050308_UKMO.nc bathy_meter.nc -cp ${TESTDATADIR}/basinmask_050308_UKMO.nc basinmasks.nc -cp ${TESTDATADIR}/runoff_1m_ORCA1.nc runoff_1m_nomask.nc -cp ${TESTDATADIR}/sst_1m_ORCA1.nc sst_1m.nc -cp ${TESTDATADIR}/sss_1m_ORCA1.nc sss_1m.nc -cp ${TESTDATADIR}/dust_1m_ORCA1.nc dust_1m.nc -cp ${TESTDATADIR}/ahmcoef ahmcoef - -cp ${TESTDATADIR}/bathy_level42_050308_UKMO.nc bathy_level.nc -cp ${TESTDATADIR}/potemp05_1m_z42_nomask.nc data_1m_potential_temperature_nomask.nc -cp ${TESTDATADIR}/salin05_1m_z42_nomask.nc data_1m_salinity_nomask.nc - -ln -s ${TESTDATADIR}/weights_grid02_bicubic_orca1.nc weights_grid02_bicubic_orca1.nc -ln -s ${TESTDATADIR}/weights_grid02_bilinear_orca1.nc weights_grid02_bilinear_orca1.nc -ln -s ${TESTDATADIR}/weights_grid03_bicubic_orca1.nc weights_grid03_bicubic_orca1.nc -ln -s ${TESTDATADIR}/weights_grid03_bilinear_orca1.nc weights_grid03_bilinear_orca1.nc - -ln -s ${FORCING}/${YEAR}_1d_DFS4.1_lwdn.nc qlw_core_y${YEAR}.nc -ln -s ${FORCING}/${YEAR}_1d_DFS4.1_swdn.nc qsw_core_y${YEAR}.nc -ln -s ${FORCING}/${YEAR}_6hr_DFS4.1_q2m.nc q2_core_y${YEAR}.nc -ln -s ${FORCING}/${YEAR}_6hr_DFS4.1_t2m.nc t2_core_y${YEAR}.nc -ln -s ${FORCING}/${YEAR}_6hr_DFS4.1_u10.nc u10_core_y${YEAR}.nc -ln -s ${FORCING}/${YEAR}_6hr_DFS4.1_v10.nc v10_core_y${YEAR}.nc -ln -s ${FORCING}/${YEAR}_1m_DFS4.1_precip.nc precip_core_y${YEAR}.nc -ln -s ${FORCING}/${YEAR}_1m_DFS4.1_snow.nc snow_core_y${YEAR}.nc - -for ((l=0; l<$NPROCNEMO; l++)); do - ln -sf coordinates.nc coordinates_$(printf "%03d" $l).nc - ln -sf geothermal_heating.nc geothermal_heating_$(printf "%03d" $l).nc -done - -ls -alF - -ulimit -s unlimited - -aprun -n $NPROCNEMO -N $MPPNPPN opa.xx - -date diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef.orig b/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef.orig deleted file mode 100755 index e08d5da00dbdcf2a95fa935d3c832c165970ade9..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef.orig +++ /dev/null @@ -1,50 +0,0 @@ -#---------------------------------------------------------------------- -#- NEMO SYSTEM : Ocean model + Sea Ice Model (BB_make.ldef in scripts) -#---------------------------------------------------------------------- -SHELL = /bin/sh -#- -#-Q- t3e #--- Please use gmake instead of make -#-Q- fjvpp #--- Please use gmake instead of make - -#- -#- Define the libraries --- -LIBDIR = ../../../lib -MODDIR = $(LIBDIR) -MODEL_LIB = $(LIBDIR)/oce/libopa.a -IOIPSL_LIB = $(LIBDIR)/libioipsl.a -#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -AGRIF_LIB = $(LIBDIR)/libagrif.a -#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a -#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a -SXMODEL_LIB = $(MODEL_LIB) -#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -OASISMPI2_LIB = -LIBMPI = -LIBMP = -EXEC_BIN = ../../../bin/opa - -#- -#- Key options for OPA ocean model + LIM sea ice model : ORCA_R2 - FORCED (CLIO) -# Keys have to be written on one single line (does NOT accept "\") - -P_P = key_trabbl_dif key_vectopt_loop key_vectopt_memory key_orca_r2 key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_tradmp key_trabbc key_zdftke key_zdfddm key_diahth key_iomput - -#- -#- Prefix for preprocessing --- -#-Q- sx8mercure prefix = -D -#-Q- sx9mercure prefix = -D -#-Q- sx8brodie prefix = -D -#-Q- es2 prefix = -D -#-Q- sxdkrz prefix = -D -#-Q- linux prefix = -D -#-Q- lxiv7 prefix = -D -#-Q- lxiv8 prefix = -D -#-Q- g95 prefix = -D -#-Q- gfortran prefix = -D -#-Q- aix prefix = -WF,-D -#-Q- aix6 prefix = -WF,-D -#-Q- babel prefix = -WF,-D -#-Q- osxxlf prefix = -WF,-D -#-Q- platine prefix= -Wp,-D diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_1st b/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_1st deleted file mode 100755 index e04fc95ea6290b1e62c4422625725d68b4e46b43..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_1st +++ /dev/null @@ -1,50 +0,0 @@ -#---------------------------------------------------------------------- -#- NEMO SYSTEM : Ocean model + Sea Ice Model (BB_make.ldef in scripts) -#---------------------------------------------------------------------- -SHELL = /bin/sh -#- -#-Q- t3e #--- Please use gmake instead of make -#-Q- fjvpp #--- Please use gmake instead of make - -#- -#- Define the libraries --- -LIBDIR = ../../../lib -MODDIR = $(LIBDIR) -MODEL_LIB = $(LIBDIR)/oce/libopa.a -IOIPSL_LIB = $(LIBDIR)/libioipsl.a -#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -AGRIF_LIB = $(LIBDIR)/libagrif.a -#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a -#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a -SXMODEL_LIB = $(MODEL_LIB) -#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -OASISMPI2_LIB = -LIBMPI = -LIBMP = -EXEC_BIN = ../../../bin/opa - -#- -#- Key options for OPA ocean model + LIM sea ice model : ORCA_R2 - FORCED (CLIO) -# Keys have to be written on one single line (does NOT accept "\") - -P_P = key_trabbl_dif key_vectopt_loop key_vectopt_memory key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_tradmp key_trabbc key_zdftke key_zdfddm key_mpp_mpi - -#- -#- Prefix for preprocessing --- -#-Q- sx8mercure prefix = -D -#-Q- sx9mercure prefix = -D -#-Q- sx8brodie prefix = -D -#-Q- es2 prefix = -D -#-Q- sxdkrz prefix = -D -#-Q- linux prefix = -D -#-Q- lxiv7 prefix = -D -#-Q- lxiv8 prefix = -D -#-Q- g95 prefix = -D -#-Q- gfortran prefix = -D -#-Q- aix prefix = -WF,-D -#-Q- aix6 prefix = -WF,-D -#-Q- babel prefix = -WF,-D -#-Q- osxxlf prefix = -WF,-D -#-Q- platine prefix= -Wp,-D diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_2nd b/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_2nd deleted file mode 100755 index 1aa899904d78cc68c37381cfc1b19c6fa2eee41d..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_2nd +++ /dev/null @@ -1,50 +0,0 @@ -#---------------------------------------------------------------------- -#- NEMO SYSTEM : Ocean model + Sea Ice Model (BB_make.ldef in scripts) -#---------------------------------------------------------------------- -SHELL = /bin/sh -#- -#-Q- t3e #--- Please use gmake instead of make -#-Q- fjvpp #--- Please use gmake instead of make - -#- -#- Define the libraries --- -LIBDIR = ../../../lib -MODDIR = $(LIBDIR) -MODEL_LIB = $(LIBDIR)/oce/libopa.a -IOIPSL_LIB = $(LIBDIR)/libioipsl.a -#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -AGRIF_LIB = $(LIBDIR)/libagrif.a -#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a -#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a -SXMODEL_LIB = $(MODEL_LIB) -#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -OASISMPI2_LIB = -LIBMPI = -LIBMP = -EXEC_BIN = ../../../bin/opa - -#- -#- Key options for OPA ocean model + LIM sea ice model : ORCA_R2 - FORCED (CLIO) -# Keys have to be written on one single line (does NOT accept "\") - -P_P = key_trabbl_dif key_vectopt_loop key_vectopt_memory key_orca_r1 key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_tradmp key_trabbc key_zdftke key_zdfddm key_mpp_mpi - -#- -#- Prefix for preprocessing --- -#-Q- sx8mercure prefix = -D -#-Q- sx9mercure prefix = -D -#-Q- sx8brodie prefix = -D -#-Q- es2 prefix = -D -#-Q- sxdkrz prefix = -D -#-Q- linux prefix = -D -#-Q- lxiv7 prefix = -D -#-Q- lxiv8 prefix = -D -#-Q- g95 prefix = -D -#-Q- gfortran prefix = -D -#-Q- aix prefix = -WF,-D -#-Q- aix6 prefix = -WF,-D -#-Q- babel prefix = -WF,-D -#-Q- osxxlf prefix = -WF,-D -#-Q- platine prefix= -Wp,-D diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default b/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default deleted file mode 100755 index 3df189403d5983af0fb42d8a005a53062d3f1f8c..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default +++ /dev/null @@ -1,760 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namqsr, namsbc_rnf, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namtrd, namgap, namspr, namflo, namptr) -!! 9 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! CAUTION: some scripts does not support CAPITALs for logical use .true./.false., not .TRUE./.FALSE. - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== - -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "ORCA1" ! experience name - nn_it000 = 1 ! first time step - nn_itend = 720 ! last time step (std 5475) - nn_date0 = 19900101 ! initial calendar date yymmdd (used if nrstdt=1) - nn_leapy = 0 ! Leap year calendar (1) or not (0) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 720 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = 120 ! frequency of write in the output file (modulo referenced to nit000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (working only with iom_nf90 routines) - ln_rstart = .false. ! start from rest (F) or from a restart file (T) - nn_rstctl = 2 ! restart control = 0 nit000 is not compared to the restart file value - ! = 1 use ndate0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart" ! suffix of ocean restart name (output) -/ -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!!====================================================================== - -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (0 5760 - nn_baro = 60 ! number of barotropic time step (for the split explicit algorithm) ("key_dynspg_ts") - rn_atfp = 0.1 ! asselin time filter parameter - nn_acc = 0 ! acceleration of convergence : =1 used, rdt < rdttra(k) - ! =0, not used, rdt = rdttra - rn_rdtmin = 3600. ! minimum time step on tracers (used if nacc=1) - rn_rdtmax = 3600. ! maximum time step on tracers (used if nacc=1) - rn_rdth = 800. ! depth variation of tracer time step (used if nacc=1) -/ -!!====================================================================== -!! *** Surface Boundary Condition namelists *** -!!====================================================================== -!! namsbc surface boundary condition -!! namsbc_ana analytical formulation -!! namsbc_flx flux formulation -!! namsbc_clio CLIO bulk formulea formulation -!! namsbc_core CORE bulk formulea formulation -!! namsbc_cpl CouPLed formulation ("key_coupled") -!! namtra_qsr penetrative solar radiation -!! namsbc_rnf river runoffs -!! namsbc_ssr sea surface restoring term (for T and/or S) -!! namsbc_alb albedo parameters -!!====================================================================== - -!----------------------------------------------------------------------- -&namsbc ! Surface Boundary Condition (surface module) -!----------------------------------------------------------------------- - nn_fsbc = 6 ! frequency of surface boundary condition computation - ! (= the frequency of sea-ice model call) - ln_ana = .false. ! analytical formulation (T => fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - nn_ico_cpl = 0 ! ice-ocean coupling : =0 each nn_fsbc - ! =1 stresses recomputed each ocean time step ("key_lim3" only) - ! =2 combination of 0 and 1 cases ("key_lim3" only) - ln_dm2dc = .false. ! daily mean to diurnal cycle short wave (qsr) - ln_rnf = .true. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .true. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked , - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24. , 'utau' , .false. , .false. , 'yearly' , '' , '' - sn_vtau = 'vtau' , 24. , 'vtau' , .false. , .false. , 'yearly' , '' , '' - sn_qtot = 'qtot' , 24. , 'qtot' , .false. , .false. , 'yearly' , '' , '' - sn_qsr = 'qsr' , 24. , 'qsr' , .false. , .false. , 'yearly' , '' , '' - sn_emp = 'emp' , 24. , 'emp' , .false. , .false. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1. , 'sozotaux' , .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1. , 'sometauy' , .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1. , 'socliowi' , .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1. , 'socliot2' , .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1. , 'socliohu' , .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1. , 'socliocl' , .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1. , 'socliopl' , .false. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u10_core' , 6 , 'u10', .false., .false. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Ume' - sn_wndj = 'v10_core' , 6 , 'v10', .false., .false. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Vme' - sn_qsr = 'qsw_core' , 24 , 'swdn', .false., .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_qlw = 'qlw_core' , 24 , 'lwdn', .false., .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_tair = 't2_core' , 6 , 't2', .false., .false. , 'yearly' , 'weights_grid02_bilinear_orca1.nc', '' - sn_humi = 'q2_core' , 6 , 'q2', .false., .false. , 'yearly' , 'weights_grid02_bilinear_orca1.nc', '' - sn_prec = 'precip_core', -1 , 'precip', .true. , .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_snow = 'snow_core', -1 , 'snow', .true. , .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' -! - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -! katabatic winds -! ln_kata = .true. ! enhanced katabatic winds (T) or no (F). -! ! file name ! frequency (hours) ! variable ! time intepolation ! clim ! 'yearly' or ! weights ! vector -! ! ! (if <0 months) ! name ! (logical) ! (logical) ! 'monthly' ! filename ! identifier -! sn_kati = 'katamask' , 0. , 'katamaskx', .false. , .true. , 'yearly' , ' ' , ' ' -! sn_katj = 'katamask' , 0. , 'katamasky', .false. , .true. , 'yearly' , ' ' , ' ' -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- - ! send -cn_snd_temperature= 'weighted oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'weighted ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'none' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' - ! receive -cn_rcv_w10m = 'coupled' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce only' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'cartesian' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'U,V' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- -cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' -cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl = 'chlorophyll' , -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction - rn_si2 = 62.0 ! 3 bands: longest depth of extinction (for blue waveband & 0.01 mg/m2 Chl) -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask.nc' , -1 , 'sorunoff' , .true. , .true. , 'yearly' , ' ' , ' ' - sn_cnf = 'runoff_1m_nomask.nc' , 0 , 'socoeff' , .false. , .true. , 'yearly' , ' ' , ' ' -! - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-4 ! value of the additional vertical mixing coef. [m2/s] -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_1m.nc' , -1 , 'votemper', .false. , .false., 'yearly' , ' ' , ' ' - sn_sss = 'sss_1m.nc' , -1 , 'vosaline', .true. , .true. , 'yearly' , ' ' , ' ' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 1 ! add a damping term in the surface freshwater flux (=1) or not (=0) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day/psu] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=1) or not (=0) -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== - -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim= .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [s] -/ -!----------------------------------------------------------------------- -! nam_tide tide parameters (#ifdef key_tide) -!----------------------------------------------------------------------- -! ln_tide_obcramp= linearly apply tidal forcing on open boundaries (sea rdtideramp) -! ln_tide_pot = use tidal potential forcing -! ln_read_tide_elev = read tidal elevations (tide_elev.nc) as obc data -! ln_read_tide_trans = read tidal barotropic velocities (tide_ubar.nc/tide_vbar.nc) as obc data -! ln_compute_tide_trans = compute barotropic velocities from linear equations and elevation as obc data -! ln_read_pot_charge = read charge potential -! rdtideramp = Ramp length in days if ln_tide_obcramp=.true. -! nb_harmo = number of constituents used -! name(1) = 'M2', 'K1', etc name of constituent - -&nam_tide - ln_tide_obcramp = .false. - ln_tide_pot = .true. - ln_read_tide_elev = .false. - ln_read_tide_trans = .false. - ln_compute_tide_trans = .false. - ln_read_pot_charge = .false. - rdtideramp = 2. - nb_harmo = 1 - clname(1) = 'M2' -! nb_harmo = 11 -! clname(1) = 'M2' -! clname(2) = 'S2' -! clname(3) = 'N2' -! clname(4) = 'K1' -! clname(5) = 'O1' -! clname(6) = 'Q1' -! clname(7) = 'M4' -! clname(8) = 'K2' -! clname(9) = 'P1' -! clname(10) = 'Mf' -! clname(11) = 'Mm' -/ -&nam_diaharm -!----------------------------------------------------------------------- -! nam_diaharm online tidal analysis (#ifdef key_diaharm) -!----------------------------------------------------------------------- -! nit000_han = first step used for analysis -! nitend_han = last step used for analysis -! nstep_han = frequency in steps to perform analysis -! nb_ana = number of analysed frequencies -! tname = 'M2', 'K1', etc. Name of tidal constituent - nit000_han = 28801 - nitend_han = 30240 -! nit000_han = 1 -! nitend_han = 10 - nstep_han = 1 - nb_ana = 1 - tname(1) = 'M2' -! tname(2) = 'K1' -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - filbdy_mask = '' ! name of mask file (if ln_bdy_mask=.TRUE.) - filbdy_data_T = 'bdydata_grid_T.nc' ! name of data file (T-points) - filbdy_data_U = 'bdydata_grid_U.nc' ! name of data file (U-points) - filbdy_data_V = 'bdydata_grid_V.nc' ! name of data file (V-points) - ln_bdy_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_bdy_vol = .true. ! total volume correction (see volbdy parameter) - ln_bdy_mask = .false. ! boundary mask from filbdy_mask (T) or boundaries are on edges of domain (F) - ln_bdy_tides = .true. ! Apply tidal harmonic forcing with Flather condition - ln_bdy_dyn_fla = .true. ! Apply Flather condition to velocities - ln_bdy_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_bdy_dyn_frs = .false. ! Apply FRS condition to velocities - nbdy_dta = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nb_rimwidth = 9 ! width of the relaxation zone - volbdy = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date = .false. ! adjust tidal harmonics for start date of run -/ -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition ("key_trabbc") -!! nambbl bottom boundary layer scheme ("key_trabbl_dif","key_trabbl_adv") -!!====================================================================== - -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : no slip, = 2 : nonlinear friction - ! = 3 : free slip, = 1 : linear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m^2/s^2) - rn_bfeb2 = 0.0 ! bottom turbulent kinetic energy background (m^2/s^2) - ! Drakkar enhancement -! ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D file ) -! ln_bfr2d = .true. ! horizontal variation of the bottom friction coef (read a 2D file ) -! rn_bfrien = 50. ! multiplying factor of bfr -! rn_bfrien = 50. ! multiplying factor of bfr -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- -! ! diffusive bbl ("key_trabbl") -! ! advective bbl ("key_trabbl_adv") - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] -/ -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== - -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.e-4 ! thermal expension coefficient (neos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (neos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = .false. ! 2nd order centered scheme - ln_traadv_tvd = .true. ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ! Coefficient - rn_aht_0 = 600. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 600. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 0 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== - -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) - nn_dynhpg_rst = 1 ! =1 dynhpg restartable restart or not (=0) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! Coefficient - rn_ahm_0 = 20000. ! horizontal eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] -/ -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric" ) -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke" ) -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp" ) -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm" ) -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx" ) -!!====================================================================== - -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.2e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 100. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative algorithm (T) or not (F) - nn_npc = 0 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! coef. of the surface input of tke - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - rn_bshear = 1.e-20 ! background shear (>0) - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 same criteria as case 2 but applied in a different way - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .false. ! mixing length scale surface value as function of wind stress (T) or not (F) - rn_lmin = 0.001 ! interior buoyancy lenght scale minimum value - rn_lmin0 = 0.01 ! surface buoyancy lenght scale minimum value - nn_etau = 0 ! exponentially deceasing penetration of tke due to internal & intertial waves - ! = 0 no penetration ( O(2 km) resolution) - ! = 1 additional tke source - ! = 2 additional tke source applied only at the base of the mixed layer - nn_htau = 1 ! type of exponential decrease of tke penetration - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m at high latitudes - rn_efr = 0.05 ! fraction of surface tke value which penetrates inside the ocean - ln_lc = .true. ! Langmuir cell parameterisation - rn_lc = 0.15 ! coef. associated to Langmuir cells -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionnally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .FALSE. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ -!!====================================================================== -!! *** Miscelaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi) -!! nammpp_dyndist Massively Parallel domain decomposition ("key_agrif" && "key_mpp_dyndist") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== - -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'I' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 0 ! size in bytes of exported buffer ('B' case), 0 no exportation -/ -!----------------------------------------------------------------------- -&nammpp_dyndist ! Massively Parallel Distribution for AGRIF zoom ("key_agrif" && "key_mpp_dyndist") -!----------------------------------------------------------------------- - jpni = 6 ! jpni number of processors following i - jpnj = 6 ! jpnj number of processors following j - jpnij = 36 ! jpnij number of local domains -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 16 ! number of processors in i-direction - nn_jsplt = 16 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) - nn_bit_cmp = 0 ! bit comparison mode (1/0): CAUTION use zero except for test - ! of comparison between single and multiple processor runs -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namgap level mean model-data gap ("key_diagap") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!!====================================================================== - -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ('key_trdmld' or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namgap ! level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- - nn_gap = 15 ! time-step frequency of model-data gap computation - nn_prg = 10 ! time-step frequency of gap print in model output -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl= 75 ! frequency of writing in float output file - nn_stockfl= 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - nf_ptr = 1 ! Frequency of ptr computation [time step] - nf_ptr_wri = 15 ! Frequency of ptr outputs -/ diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist_ice.v3.2.default b/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist_ice.v3.2.default deleted file mode 100755 index ae6409267ad7d1d5e0903a965a6b6b306079f9e5..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist_ice.v3.2.default +++ /dev/null @@ -1,134 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 5 - ice advection (namicetrp) -!! 6 - thermodynamic (namicethd) -!! 7 - ice salinity (namicesal) -!! 8 - mechanical redistribution of ice (namiceitdme) -!! 3 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T) or not (F) - acrit = 2.0e-06 , 5.0e-06 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the ice initial state in the file 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 2.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 2.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 250.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- -! hmelt : maximum melting at the bottom -! hiccrit(1/2): ice thickness for lateral accretion in the Northern (Southern) Hemisphere -! caution 1.0, 1.0 best value to be used!!! (gilles G.) -! hicmin : ice thickness corr. to max. energy stored in brine pocket -! hiclim : minimum ice thickness -! amax : maximum lead fraction -! swiqst : energy stored in brine pocket (=1) or not (=0) -! sbeta : numerical caracteritic of the scheme for diffusion in ice -! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) -! parlat : percentage of energy used for lateral ablation -! hakspl : slope of distr. for Hakkinen-Mellor's lateral melting -! hibspl : slope of distribution for Hibler's lateral melting -! exld : exponent for leads-closure rate -! hakdif : coefficient for diffusions of ice and snow -! thth : threshold thickness for comp. of eq. thermal conductivity -! hnzst : thickness of the surf. layer in temp. computation -! parsub : switch for snow sublimation or not -! alphs : coefficient for snow density when snow ice formation -! - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.6 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, - noumef = 19 ! number of fields -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -/ diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/IOIPSL/src/calendar.f90 b/deploy/patches/hector/nemo/v3.2/modipsl/modeles/IOIPSL/src/calendar.f90 deleted file mode 100644 index b600b437f90979651b8e79d93914347620d48067..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/IOIPSL/src/calendar.f90 +++ /dev/null @@ -1,996 +0,0 @@ -MODULE calendar -!- -!$Id: calendar.f90 1011 2010-05-07 13:05:34Z bellier $ -!- -! This software is governed by the CeCILL license -! See IOIPSL/IOIPSL_License_CeCILL.txt -!--------------------------------------------------------------------- -!- This is the calendar which going to be used to do all -!- calculations on time. Three types of calendars are possible : -!- -!- - gregorian : -!- The normal calendar. The time origin for the -!- julian day in this case is 24 Nov -4713 -!- (other names : 'standard','proleptic_gregorian') -!- - noleap : -!- A 365 day year without leap years. -!- The origin for the julian days is in this case 1 Jan 0 -!- (other names : '365_day','365d') -!- - all_leap : -!- A 366 day year with leap years. -!- The origin for the julian days is in this case ???? -!- (other names : '366_day','366d' -!- - julian : -!- same as gregorian, but with all leap century years -!- - xxxd : -!- Year of xxx days with month of equal length. -!- The origin for the julian days is then also 1 Jan 0 -!- -!- As one can see it is difficult to go from one calendar to the other. -!- All operations involving julian days will be wrong. -!- This calendar will lock as soon as possible -!- the length of the year and forbid any further modification. -!- -!- For the non leap-year calendar the method is still brute force. -!- We need to find an Integer series which takes care of the length -!- of the various month. (Jan) -!- -!- one_day : one day in seconds -!- one_year : one year in days -!--------------------------------------------------------------------- - USE stringop,ONLY : strlowercase - USE errioipsl,ONLY : ipslerr -!- - PRIVATE - PUBLIC :: ymds2ju,ju2ymds,tlen2itau,isittime,ioconf_calendar, & - & ioget_calendar,ioget_mon_len,ioget_year_len,itau2date, & - & ioget_timestamp,ioconf_startdate,itau2ymds, & - & time_diff,time_add,lock_calendar -!- - INTERFACE ioget_calendar - MODULE PROCEDURE & - & ioget_calendar_real1,ioget_calendar_real2,ioget_calendar_str - END INTERFACE -!- - INTERFACE ioconf_startdate - MODULE PROCEDURE & - & ioconf_startdate_simple,ioconf_startdate_internal, & - & ioconf_startdate_ymds - END INTERFACE -!- - REAL,PARAMETER :: one_day = 86400.0 - LOGICAL,SAVE :: lock_startdate = .FALSE. -!- - CHARACTER(LEN=30),SAVE :: time_stamp='XXXXXXXXXXXXXXXX' -!- -!- Description of calendar -!- - CHARACTER(LEN=20),SAVE :: calendar_used="gregorian" - LOGICAL,SAVE :: lock_one_year = .FALSE. - REAL,SAVE :: one_year = 365.2425 - INTEGER,SAVE :: mon_len(12)=(/31,28,31,30,31,30,31,31,30,31,30,31/) -!- - CHARACTER(LEN=3),PARAMETER :: & - & cal(12) = (/'JAN','FEB','MAR','APR','MAY','JUN', & - & 'JUL','AUG','SEP','OCT','NOV','DEC'/) -!- - REAL,SAVE :: start_day,start_sec -!- -CONTAINS -!- -!=== -!- -SUBROUTINE lock_calendar (new_status,old_status) -!!-------------------------------------------------------------------- -!! The "lock_calendar" routine -!! allows to lock or unlock the calendar, -!! and to know the current status of the calendar. -!! Be careful ! -!! -!! SUBROUTINE lock_calendar (new_status,old_status) -!! -!! Optional INPUT argument -!! -!! (L) new_status : new status of the calendar -!! -!! Optional OUTPUT argument -!! -!! (L) old_status : current status of the calendar -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - LOGICAL,OPTIONAL,INTENT(IN) :: new_status - LOGICAL,OPTIONAL,INTENT(OUT) :: old_status -!--------------------------------------------------------------------- - IF (PRESENT(old_status)) THEN - old_status = lock_one_year - ENDIF - IF (PRESENT(new_status)) THEN - lock_one_year = new_status - ENDIF -!--------------------------- -END SUBROUTINE lock_calendar -!- -!=== -!- -SUBROUTINE ymds2ju (year,month,day,sec,julian) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - REAL,INTENT(OUT) :: julian -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!- - julian = julian_day+julian_sec/one_day -!--------------------- -END SUBROUTINE ymds2ju -!- -!=== -!- -SUBROUTINE ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!--------------------------------------------------------------------- -!- Converts year, month, day and seconds into a julian day -!- -!- In 1968 in a letter to the editor of Communications of the ACM -!- (CACM, volume 11, number 10, October 1968, p.657) Henry F. Fliegel -!- and Thomas C. Van Flandern presented such an algorithm. -!- -!- See also : http://www.magnet.ch/serendipity/hermetic/cal_stud/jdn.htm -!- -!- In the case of the Gregorian calendar we have chosen to use -!- the Lilian day numbers. This is the day counter which starts -!- on the 15th October 1582. -!- This is the day at which Pope Gregory XIII introduced the -!- Gregorian calendar. -!- Compared to the true Julian calendar, which starts some -!- 7980 years ago, the Lilian days are smaler and are dealt with -!- easily on 32 bit machines. With the true Julian days you can only -!- the fraction of the day in the real part to a precision of -!- a 1/4 of a day with 32 bits. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - INTEGER,INTENT(OUT) :: julian_day - REAL,INTENT(OUT) :: julian_sec -!- - INTEGER :: jd,m,y,d,ml -!--------------------------------------------------------------------- - lock_one_year = .TRUE. -!- - m = month - y = year - d = day -!- -!- We deduce the calendar from the length of the year as it -!- is faster than an INDEX on the calendar variable. -!- - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!-- "Gregorian" - jd = (1461*(y+4800+INT((m-14)/12)))/4 & - & +(367*(m-2-12*(INT((m-14)/12))))/12 & - & -(3*((y+4900+INT((m-14)/12))/100))/4 & - & +d-32075 - jd = jd-2299160 - ELSE IF ( (ABS(one_year-365.0) <= EPSILON(one_year)) & - & .OR.(ABS(one_year-366.0) <= EPSILON(one_year)) ) THEN -!-- "No leap" or "All leap" - ml = SUM(mon_len(1:m-1)) - jd = y*NINT(one_year)+ml+(d-1) - ELSE -!-- Calendar with regular month - ml = NINT(one_year/12.) - jd = y*NINT(one_year)+(m-1)*ml+(d-1) - ENDIF -!- - julian_day = jd - julian_sec = sec -!------------------------------ -END SUBROUTINE ymds2ju_internal -!- -!=== -!- -SUBROUTINE ju2ymds (julian,year,month,day,sec) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(IN) :: julian -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - julian_day = INT(julian) - julian_sec = (julian-julian_day)*one_day -!- - CALL ju2ymds_internal(julian_day,julian_sec,year,month,day,sec) -!--------------------- -END SUBROUTINE ju2ymds -!- -!=== -!- -SUBROUTINE ju2ymds_internal (julian_day,julian_sec,year,month,day,sec) -!--------------------------------------------------------------------- -!- This subroutine computes from the julian day the year, -!- month, day and seconds -!- -!- In 1968 in a letter to the editor of Communications of the ACM -!- (CACM, volume 11, number 10, October 1968, p.657) Henry F. Fliegel -!- and Thomas C. Van Flandern presented such an algorithm. -!- -!- See also : http://www.magnet.ch/serendipity/hermetic/cal_stud/jdn.htm -!- -!- In the case of the Gregorian calendar we have chosen to use -!- the Lilian day numbers. This is the day counter which starts -!- on the 15th October 1582. This is the day at which Pope -!- Gregory XIII introduced the Gregorian calendar. -!- Compared to the true Julian calendar, which starts some 7980 -!- years ago, the Lilian days are smaler and are dealt with easily -!- on 32 bit machines. With the true Julian days you can only the -!- fraction of the day in the real part to a precision of a 1/4 of -!- a day with 32 bits. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: julian_day - REAL,INTENT(IN) :: julian_sec -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: l,n,i,jd,j,d,m,y,ml - INTEGER :: add_day - REAL :: eps_day -!--------------------------------------------------------------------- - eps_day = SPACING(one_day) - lock_one_year = .TRUE. -!- - jd = julian_day - sec = julian_sec - IF (sec > (one_day-eps_day)) THEN - add_day = INT(sec/one_day) - sec = sec-add_day*one_day - jd = jd+add_day - ENDIF - IF (sec < -eps_day) THEN - sec = sec+one_day - jd = jd-1 - ENDIF -!- - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!-- Gregorian - jd = jd+2299160 -!- - l = jd+68569 - n = (4*l)/146097 - l = l-(146097*n+3)/4 - i = (4000*(l+1))/1461001 - l = l-(1461*i)/4+31 - j = (80*l)/2447 - d = l-(2447*j)/80 - l = j/11 - m = j+2-(12*l) - y = 100*(n-49)+i+l - ELSE IF ( (ABS(one_year-365.0) <= EPSILON(one_year)) & - & .OR.(ABS(one_year-366.0) <= EPSILON(one_year)) ) THEN -!-- No leap or All leap - y = jd/NINT(one_year) - l = jd-y*NINT(one_year) - m = 1 - ml = 0 - DO WHILE (ml+mon_len(m) <= l) - ml = ml+mon_len(m) - m = m+1 - ENDDO - d = l-ml+1 - ELSE -!-- others - ml = NINT(one_year/12.) - y = jd/NINT(one_year) - l = jd-y*NINT(one_year) - m = (l/ml)+1 - d = l-(m-1)*ml+1 - ENDIF -!- - day = d - month = m - year = y -!------------------------------ -END SUBROUTINE ju2ymds_internal -!- -!=== -!- -SUBROUTINE tlen2itau (input_str,dt,date,itau) -!--------------------------------------------------------------------- -!- This subroutine transforms a string containing a time length -!- into a number of time steps. -!- To do this operation the date (in julian days is needed as the -!- length of the month varies. -!- The following convention is used : -!- n : n time steps -!- nS : n seconds is transformed into itaus -!- nH : n hours -!- nD : n days -!- nM : n month -!- nY : n years -!- Combinations are also possible -!- nYmD : nyears plus m days ! -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(IN) :: input_str - REAL,INTENT(IN) :: dt,date -!- - INTEGER,INTENT(OUT) :: itau -!- - INTEGER :: y_pos,m_pos,d_pos,h_pos,s_pos - INTEGER :: read_time - CHARACTER(LEN=13) :: fmt - CHARACTER(LEN=80) :: tmp_str -!- - INTEGER :: year,month,day - REAL :: sec,date_new,dd,ss -!--------------------------------------------------------------------- - itau = 0 - CALL ju2ymds (date,year,month,day,sec) -!- - y_pos = MAX(INDEX(input_str,'y'),INDEX(input_str,'Y')) - m_pos = MAX(INDEX(input_str,'m'),INDEX(input_str,'M')) - d_pos = MAX(INDEX(input_str,'d'),INDEX(input_str,'D')) - h_pos = MAX(INDEX(input_str,'h'),INDEX(input_str,'H')) - s_pos = MAX(INDEX(input_str,'s'),INDEX(input_str,'S')) -!- - IF (MAX(y_pos,m_pos,d_pos,s_pos) > 0) THEN - tmp_str = input_str - DO WHILE ( MAX(y_pos,m_pos,d_pos,s_pos) > 0) -!---- WRITE(*,*) tmp_str -!---- WRITE(*,*) y_pos,m_pos,d_pos,s_pos - IF (y_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') y_pos-1 - READ(tmp_str(1:y_pos-1),fmt) read_time - CALL ymds2ju (year+read_time,month,day,sec,date_new) - dd = date_new-date - ss = INT(dd)*one_day+dd-INT(dd) - itau = itau+NINT(ss/dt) - tmp_str = tmp_str(y_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (m_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') m_pos-1 - READ(tmp_str(1:m_pos-1),fmt) read_time - CALL ymds2ju (year,month+read_time,day,sec,date_new) - dd = date_new-date - ss = INT(dd)*one_day+dd-INT(dd) - itau = itau+NINT(ss/dt) - tmp_str = tmp_str(m_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (d_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') d_pos-1 - READ(tmp_str(1:d_pos-1),fmt) read_time - itau = itau+NINT(read_time*one_day/dt) - tmp_str = tmp_str(d_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (h_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') h_pos-1 - READ(tmp_str(1:h_pos-1),fmt) read_time - itau = itau+NINT(read_time*60.*60./dt) - tmp_str = tmp_str(d_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (s_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') s_pos-1 - READ(tmp_str(1:s_pos-1),fmt) read_time - itau = itau+NINT(read_time/dt) - tmp_str = tmp_str(s_pos+1:LEN_TRIM(tmp_str)) - ENDIF -!- - y_pos = MAX(INDEX(tmp_str,'y'),INDEX(tmp_str,'Y')) - m_pos = MAX(INDEX(tmp_str,'m'),INDEX(tmp_str,'M')) - d_pos = MAX(INDEX(tmp_str,'d'),INDEX(tmp_str,'D')) - h_pos = MAX(INDEX(tmp_str,'h'),INDEX(tmp_str,'H')) - s_pos = MAX(INDEX(tmp_str,'s'),INDEX(tmp_str,'S')) - ENDDO - ELSE - WRITE(fmt,'("(I",I10.10,")")') LEN_TRIM(input_str) - READ(input_str(1:LEN_TRIM(input_str)),fmt) itau - ENDIF -!----------------------- -END SUBROUTINE tlen2itau -!- -!=== -!- -REAL FUNCTION itau2date (itau,date0,deltat) -!--------------------------------------------------------------------- -!- This function transforms itau into a date. The date with which -!- the time axis is going to be labeled -!- -!- INPUT -!- itau : current time step -!- date0 : Date at which itau was equal to 0 -!- deltat : time step between itau s -!- -!- OUTPUT -!- itau2date : Date for the given itau -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER :: itau - REAL :: date0,deltat -!--------------------------------------------------------------------- - itau2date = REAL(itau)*deltat/one_day+date0 -!--------------------- -END FUNCTION itau2date -!- -!=== -!- -SUBROUTINE itau2ymds (itau,deltat,year,month,day,sec) -!--------------------------------------------------------------------- -!- This subroutine transforms itau into a date. The date with which -!- the time axis is going to be labeled -!- -!- INPUT -!- itau : current time step -!- deltat : time step between itau s -!- -!- OUTPUT -!- year : year -!- month : month -!- day : day -!- sec : seconds since midnight -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: deltat -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - IF (.NOT.lock_startdate) THEN - CALL ipslerr (2,'itau2ymds', & - & 'You try to call this function, itau2ymds, but you didn''t', & - & ' call ioconf_startdate to initialize date0 in calendar.', & - & ' Please call ioconf_startdate before itau2ymds.') - ENDIF - julian_day = start_day - julian_sec = start_sec+REAL(itau)*deltat - CALL ju2ymds_internal (julian_day,julian_sec,year,month,day,sec) -!----------------------- -END SUBROUTINE itau2ymds -!- -!=== -!- -REAL FUNCTION dtchdate (itau,date0,old_dt,new_dt) -!--------------------------------------------------------------------- -!- This function changes the date so that the simulation can -!- continue with the same itau but a different dt. -!- -!- INPUT -!- itau : current time step -!- date0 : Date at which itau was equal to 0 -!- old_dt : Old time step between itaus -!- new_dt : New time step between itaus -!- -!- OUTPUT -!- dtchdate : Date for the given itau -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: date0,old_dt,new_dt -!- - REAL :: rtime -!--------------------------------------------------------------------- - rtime = itau2date (itau,date0,old_dt) - dtchdate = rtime-REAL(itau)*new_dt/one_day -!-------------------- -END FUNCTION dtchdate -!- -!=== -!- -SUBROUTINE isittime & - & (itau,date0,dt,freq,last_action,last_check,do_action) -!--------------------------------------------------------------------- -!- This subroutine checks the time as come for a given action. -!- This is computed from the current time-step(itau). -!- Thus we need to have the time delta (dt), the frequency -!- of the action (freq) and the last time it was done -!- (last_action in units of itau). -!- In order to extrapolate when will be the next check we need -!- the time step of the last call (last_check). -!- -!- The test is done on the following condition : -!- the distance from the current time to the time for the next -!- action is smaller than the one from the next expected -!- check to the next action. -!- When the test is done on the time steps simplifications make -!- it more difficult to read in the code. -!- For the real time case it is easier to understand ! -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: dt,freq - INTEGER,INTENT(IN) :: last_action,last_check - REAL,INTENT(IN) :: date0 -!- - LOGICAL,INTENT(OUT) :: do_action -!- - REAL :: dt_action,dt_check - REAL :: date_last_act,date_next_check,date_next_act, & - & date_now,date_mp1,date_mpf - INTEGER :: year,month,monthp1,day,next_check_itau,next_act_itau - INTEGER :: yearp,dayp - REAL :: sec,secp - LOGICAL :: check = .FALSE. -!--------------------------------------------------------------------- - IF (check) THEN - WRITE(*,*) & - & "isittime 1.0 ",itau,date0,dt,freq,last_action,last_check - ENDIF -!- - IF (last_check >= 0) THEN - dt_action = (itau-last_action)*dt - dt_check = (itau-last_check)*dt - next_check_itau = itau+(itau-last_check) -!- -!-- We are dealing with frequencies in seconds and thus operation -!-- can be done on the time steps. -!- - IF (freq > 0) THEN - IF (ABS(dt_action-freq) <= ABS(dt_action+dt_check-freq)) THEN - do_action = .TRUE. - ELSE - do_action = .FALSE. - ENDIF -!- -!---- Here we deal with frequencies in month and work on julian days. -!- - ELSE - date_now = itau2date (itau,date0,dt) -!KW! blow out part of the code, replace with a quick and dirty fix -!KW! that checks if month of next timestep is equal to current month -!KW! if this isn't true, then doaction=true - CALL ju2ymds (date_now,year,month,day,sec) - date_mp1 = itau2date (itau+1,date0,dt) - CALL ju2ymds (date_mp1,year,monthp1,day,sec) - IF (month /= monthp1) THEN - do_action = .TRUE. -!KW! end of changes - ELSE - do_action = .FALSE. - ENDIF - ENDIF -!- - IF (check) THEN - WRITE(*,*) "isittime 2.0 ", & - & date_next_check,date_next_act,ABS(dt_action-freq), & - & ABS(dt_action+dt_check-freq),dt_action,dt_check, & - & next_check_itau,do_action - ENDIF - ELSE - do_action=.FALSE. - ENDIF -!---------------------- -END SUBROUTINE isittime -!- -!=== -!- -SUBROUTINE ioconf_calendar (str) -!--------------------------------------------------------------------- -!- This routine allows to configure the calendar to be used. -!- This operation is only allowed once and the first call to -!- ymds2ju or ju2ymsd will lock the current configuration. -!- the argument to ioconf_calendar can be any of the following : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(IN) :: str -!- - INTEGER :: leng,ipos - CHARACTER(LEN=20) :: str_w -!--------------------------------------------------------------------- -!- -! Clean up the string ! -!- - str_w = str - CALL strlowercase (str_w) -!- - IF (.NOT.lock_one_year) THEN -!--- - lock_one_year=.TRUE. -!--- - SELECT CASE(TRIM(str_w)) - CASE('gregorian','standard','proleptic_gregorian') - calendar_used = 'gregorian' - one_year = 365.2425 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE('noleap','365_day','365d') - calendar_used = 'noleap' - one_year = 365.0 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE('all_leap','366_day','366d') - calendar_used = 'all_leap' - one_year = 366.0 - mon_len(:)=(/31,29,31,30,31,30,31,31,30,31,30,31/) - CASE('360_day','360d') - calendar_used = '360d' - one_year = 360.0 - mon_len(:)=(/30,30,30,30,30,30,30,30,30,30,30,30/) - CASE('julian') - calendar_used = 'julian' - one_year = 365.25 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE DEFAULT - ipos = INDEX(str_w,'d') - IF (ipos == 4) THEN - READ(str_w(1:3),'(I3)') leng - IF ( (MOD(leng,12) == 0).AND.(leng > 1) ) THEN - calendar_used = str_w - one_year = leng - mon_len(:) = leng/12 - ELSE - CALL ipslerr (3,'ioconf_calendar', & - & 'The length of the year as to be a modulo of 12', & - & 'so that it can be divided into 12 month of equal length', & - & TRIM(str_w)) - ENDIF - ELSE - CALL ipslerr (3,'ioconf_calendar', & - & 'Unrecognized input, please check the man pages.', & - & TRIM(str_w),' ') - ENDIF - END SELECT - ELSE IF (TRIM(str_w) /= TRIM(calendar_used)) THEN - WRITE(str_w,'(f10.4)') one_year - CALL ipslerr (2,'ioconf_calendar', & - & 'The calendar was already used or configured to : '// & - & TRIM(calendar_used)//'.', & - & 'You are not allowed to change it to : '//TRIM(str)//'.', & - & 'The following length of year is used : '//TRIM(ADJUSTL(str_w))) - ENDIF -!----------------------------- -END SUBROUTINE ioconf_calendar -!- -!=== -!- -SUBROUTINE ioconf_startdate_simple (julian) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(IN) :: julian -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - julian_day = INT(julian) - julian_sec = (julian-julian_day)*one_day -!- - CALL ioconf_startdate_internal (julian_day,julian_sec) -!------------------------------------- -END SUBROUTINE ioconf_startdate_simple -!- -!=== -!- -SUBROUTINE ioconf_startdate_ymds (year,month,day,sec) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!- - CALL ioconf_startdate_internal (julian_day,julian_sec) -!----------------------------------- -END SUBROUTINE ioconf_startdate_ymds -!- -!=== -!- -SUBROUTINE ioconf_startdate_internal (julian_day,julian_sec) -!--------------------------------------------------------------------- -! This subroutine allows to set the startdate for later -! use. It allows the applications to access the date directly from -! the timestep. In order to avoid any problems the start date will -! be locked and can not be changed once set. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: julian_day - REAL,INTENT(IN) :: julian_sec -!- - CHARACTER(len=70) :: str70a,str70b -!--------------------------------------------------------------------- - IF (.NOT.lock_startdate) THEN - start_day = julian_day - start_sec = julian_sec - lock_startdate = .TRUE. - ELSE - WRITE(str70a,'("The date you tried to set : ",f10.4)') & - & julian_day,julian_sec/one_day - WRITE(str70b, & - & '("The date which was already set in the calendar : ",f10.4)') & - & start_day+start_sec/one_day - CALL ipslerr (2,'ioconf_startdate', & - & 'The start date has already been set and you tried to change it', & - & str70a,str70b) - ENDIF -!--------------------------------------- -END SUBROUTINE ioconf_startdate_internal -!- -!=== -!- -SUBROUTINE ioget_calendar_str (str) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(OUT) :: str -!--------------------------------------------------------------------- - lock_one_year = .TRUE. -!- - str = calendar_used -!-------------------------------- -END SUBROUTINE ioget_calendar_str -!- -!=== -!- -SUBROUTINE ioget_calendar_real1 (long_year) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(OUT) :: long_year -!--------------------------------------------------------------------- - long_year = one_year - lock_one_year = .TRUE. -!---------------------------------- -END SUBROUTINE ioget_calendar_real1 -!- -!=== -!- -SUBROUTINE ioget_calendar_real2 (long_year,long_day) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(OUT) :: long_year,long_day -!--------------------------------------------------------------------- - long_year = one_year - long_day = one_day - lock_one_year = .TRUE. -!---------------------------------- -END SUBROUTINE ioget_calendar_real2 -!- -!=== -!- -INTEGER FUNCTION ioget_mon_len (year,month) -!!-------------------------------------------------------------------- -!! The "ioget_mon_len" function returns -!! the number of days in a "month" of a "year", -!! in the current calendar. -!! -!! INTEGER FUNCTION ioget_mon_len (year,month) -!! -!! INPUT -!! -!! (I) year : year -!! (I) month : month in the year (1 --> 12) -!! -!! OUTPUT -!! -!! (I) ioget_mon_len : number of days in the month -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month -!- - INTEGER :: ml -!--------------------------------------------------------------------- - IF ( (month >= 1).AND.(month <= 12) ) THEN - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!---- "Gregorian" or "Julian" - ml = mon_len(month) - IF (month == 2) THEN - IF (ABS(one_year-365.2425) <= EPSILON(one_year) ) THEN -!-------- "Gregorian" - IF ( ((MOD(year,4) == 0).AND.(MOD(year,100) /= 0)) & - .OR.(MOD(year,400) == 0) ) THEN - ml = ml+1 - ENDIF - ELSE -!-------- "Julian" - IF (MOD(year,4) == 0) THEN - ml = ml+1 - ENDIF - ENDIF - ENDIF - ioget_mon_len = ml - ELSE -!---- "No leap" or "All leap" or "Calendar with regular month" - ioget_mon_len = mon_len(month) - ENDIF - ELSE - CALL ipslerr (3,'ioget_mon_len', & - & 'The number of the month','must be between','1 and 12') - ENDIF -!------------------------- -END FUNCTION ioget_mon_len -!- -!=== -!- -INTEGER FUNCTION ioget_year_len (year) -!!-------------------------------------------------------------------- -!! The "ioget_year_len" function returns -!! the number of days in "year", in the current calendar. -!! -!! INTEGER FUNCTION ioget_year_len (year) -!! -!! INPUT -!! -!! (I) year : year -!! -!! OUTPUT -!! -!! (I) ioget_year_len : number of days in the year -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year -!- - INTEGER :: yl -!--------------------------------------------------------------------- - SELECT CASE(TRIM(calendar_used)) - CASE('gregorian') - yl = 365 - IF ( ((MOD(year,4) == 0).AND.(MOD(year,100) /= 0)) & - .OR.(MOD(year,400) == 0) ) THEN - yl = yl+1 - ENDIF - CASE('julian') - yl = 365 - IF (MOD(year,4) == 0) THEN - yl = yl+1 - ENDIF - CASE DEFAULT - yl = NINT(one_year) - END SELECT - ioget_year_len = yl -!-------------------------- -END FUNCTION ioget_year_len -!- -!=== -!- -SUBROUTINE ioget_timestamp (string) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=30),INTENT(OUT) :: string -!- - INTEGER :: date_time(8) - CHARACTER(LEN=10) :: bigben(3) -!--------------------------------------------------------------------- - IF (INDEX(time_stamp,'XXXXXX') > 0) THEN - CALL DATE_AND_TIME (bigben(1),bigben(2),bigben(3),date_time) -!--- - WRITE(time_stamp, & - & "(I4.4,'-',A3,'-',I2.2,' ',I2.2,':',I2.2,':',I2.2,' GMT',a5)") & - & date_time(1),cal(date_time(2)),date_time(3),date_time(5), & - & date_time(6),date_time(7),bigben(3) - ENDIF -!- - string = time_stamp -!----------------------------- -END SUBROUTINE ioget_timestamp -!- -!=== -!- -SUBROUTINE time_add & - & (year_s,month_s,day_s,sec_s,sec_increment, & - & year_e,month_e,day_e,sec_e) -!--------------------------------------------------------------------- -!- This subroutine allows to increment a date by a number of seconds. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year_s,month_s,day_s - REAL,INTENT(IN) :: sec_s -!- -! Time in seconds to be added to the date -!- - REAL,INTENT(IN) :: sec_increment -!- - INTEGER,INTENT(OUT) :: year_e,month_e,day_e - REAL,INTENT(OUT) :: sec_e -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal & - & (year_s,month_s,day_s,sec_s,julian_day,julian_sec) -!- - julian_sec = julian_sec+sec_increment -!- - CALL ju2ymds_internal & - & (julian_day,julian_sec,year_e,month_e,day_e,sec_e) -!---------------------- -END SUBROUTINE time_add -!- -!=== -!- -SUBROUTINE time_diff & - & (year_s,month_s,day_s,sec_s,year_e,month_e,day_e,sec_e,sec_diff) -!--------------------------------------------------------------------- -!- This subroutine allows to determine the number of seconds -!- between two dates. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year_s,month_s,day_s - REAL,INTENT(IN) :: sec_s - INTEGER,INTENT(IN) :: year_e,month_e,day_e - REAL,INTENT(IN) :: sec_e -!- -! Time in seconds between the two dates -!- - REAL,INTENT(OUT) :: sec_diff -!- - INTEGER :: julian_day_s,julian_day_e,day_diff - REAL :: julian_sec_s,julian_sec_e -!--------------------------------------------------------------------- - CALL ymds2ju_internal & - & (year_s,month_s,day_s,sec_s,julian_day_s,julian_sec_s) - CALL ymds2ju_internal & - & (year_e,month_e,day_e,sec_e,julian_day_e,julian_sec_e) -!- - day_diff = julian_day_e-julian_day_s - sec_diff = julian_sec_e-julian_sec_s -!- - sec_diff = sec_diff+day_diff*one_day -!----------------------- -END SUBROUTINE time_diff -!- -!=== -!- -END MODULE calendar diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/LIM_SRC_2_old/limthd_2.F90 b/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/LIM_SRC_2_old/limthd_2.F90 deleted file mode 100644 index 5fe0d68cd63a279f8a354a51da76e57959b46200..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/LIM_SRC_2_old/limthd_2.F90 +++ /dev/null @@ -1,582 +0,0 @@ -MODULE limthd_2 - !!====================================================================== - !! *** MODULE limthd_2 *** - !! LIM thermo ice model : ice thermodynamic - !!====================================================================== - !! History : 1.0 ! 2000-01 (LIM) - !! 2.0 ! 2002-07 (C. Ethe, G. Madec) F90 - !! 2.0 ! 2003-08 (C. Ethe) add lim_thd_init - !! - ! 2008-2008 (A. Caubel, G. Madec, E. Maisonnave, S. Masson ) generic coupled interface - !!--------------------------------------------------------------------- -#if defined key_lim2 - !!---------------------------------------------------------------------- - !! 'key_lim2' : LIM 2.0 sea-ice model - !!---------------------------------------------------------------------- - !! lim_thd_2 : thermodynamic of sea ice - !! lim_thd_init_2 : initialisation of sea-ice thermodynamic - !!---------------------------------------------------------------------- - USE phycst ! physical constants - USE dom_oce ! ocean space and time domain variables - USE domvvl - USE lbclnk - USE in_out_manager ! I/O manager - USE lib_mpp - USE iom ! IOM library - USE ice_2 ! LIM sea-ice variables - USE sbc_oce ! - USE sbc_ice ! - USE thd_ice_2 ! LIM thermodynamic sea-ice variables - USE dom_ice_2 ! LIM sea-ice domain - USE limthd_zdf_2 - USE limthd_lac_2 - USE limtab_2 - USE prtctl ! Print control - USE cpl_oasis3, ONLY : lk_cpl - USE diaar5, ONLY : lk_diaar5 - - IMPLICIT NONE - PRIVATE - - PUBLIC lim_thd_2 ! called by lim_step - - REAL(wp) :: epsi20 = 1.e-20 ! constant values - REAL(wp) :: epsi16 = 1.e-16 ! - REAL(wp) :: epsi04 = 1.e-04 ! - REAL(wp) :: rzero = 0.e0 ! - REAL(wp) :: rone = 1.e0 ! - - !! * Substitutions -# include "domzgr_substitute.h90" -# include "vectopt_loop_substitute.h90" - !!-------- ------------------------------------------------------------- - !! NEMO/LIM 3.2, UCL-LOCEAN-IPSL (2009) - !! $Id: limthd_2.F90 1924 2010-06-09 14:12:23Z charris $ - !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) - !!---------------------------------------------------------------------- - -CONTAINS - - SUBROUTINE lim_thd_2( kt ) - !!------------------------------------------------------------------- - !! *** ROUTINE lim_thd_2 *** - !! - !! ** Purpose : This routine manages the ice thermodynamic. - !! - !! ** Action : - Initialisation of some variables - !! - Some preliminary computation (oceanic heat flux - !! at the ice base, snow acc.,heat budget of the leads) - !! - selection of the icy points and put them in an array - !! - call lim_vert_ther for vert ice thermodynamic - !! - back to the geographic grid - !! - selection of points for lateral accretion - !! - call lim_lat_acc for the ice accretion - !! - back to the geographic grid - !! - !! References : Goosse et al. 1996, Bul. Soc. Roy. Sc. Liege, 65, 87-90 - !!--------------------------------------------------------------------- - INTEGER, INTENT(in) :: kt ! number of iteration - !! - INTEGER :: ji, jj ! dummy loop indices - INTEGER :: nbpb ! nb of icy pts for thermo. cal. - INTEGER :: nbpac ! nb of pts for lateral accretion - CHARACTER (len=22) :: charout - REAL(wp) :: zfric_umin = 5e-03 ! lower bound for the friction velocity - REAL(wp) :: zfric_umax = 2e-02 ! upper bound for the friction velocity - REAL(wp) :: zinda ! switch for test. the val. of concen. - REAL(wp) :: zindb, zindg ! switches for test. the val of arg - REAL(wp) :: zfricp ! temporary scalar - REAL(wp) :: za , zh, zthsnice ! - REAL(wp) :: zfric_u ! friction velocity - REAL(wp) :: zfnsol ! total non solar heat - REAL(wp) :: zfontn ! heat flux from snow thickness - REAL(wp) :: zfntlat, zpareff ! test. the val. of lead heat budget - REAL(wp), DIMENSION(jpi,jpj) :: ztmp ! 2D workspace - REAL(wp), DIMENSION(jpi,jpj) :: zqlbsbq ! link with lead energy budget qldif - REAL(wp) :: zuice_m, zvice_m ! Sea-ice velocities at U & V-points - REAL(wp) :: zhice_u, zhice_v ! Sea-ice volume at U & V-points - REAL(wp) :: ztr_fram ! Sea-ice transport through Fram strait - REAL(wp) :: zrhoij, zrhoijm1 ! temporary scalars - REAL(wp) :: zztmp ! temporary scalars within a loop - REAL(wp), DIMENSION(jpi,jpj) :: zlicegr ! link with lateral ice growth - REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmsk ! 3D workspace -!!$ REAL(wp), DIMENSION(jpi,jpj) :: firic !: IR flux over the ice (outputs only) -!!$ REAL(wp), DIMENSION(jpi,jpj) :: fcsic !: Sensible heat flux over the ice (outputs only) -!!$ REAL(wp), DIMENSION(jpi,jpj) :: fleic !: Latent heat flux over the ice (outputs only) -!!$ REAL(wp), DIMENSION(jpi,jpj) :: qlatic !: latent flux (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvosif !: Variation of volume at surface (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvobif !: Variation of ice volume at the bottom ice (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvolif !: Total variation of ice volume (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvonif !: Surface accretion Snow to Ice transformation (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvomif !: Bottom variation of ice volume due to melting (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zu_imasstr !: Sea-ice transport along i-axis at U-point (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zv_imasstr !: Sea-ice transport along j-axis at V-point (outputs only) - !!------------------------------------------------------------------- - - IF( kt == nit000 ) CALL lim_thd_init_2 ! Initialization (first time-step only) - - !-------------------------------------------! - ! Initilization of diagnostic variables ! - !-------------------------------------------! - -!!gm needed? yes at least for some of these arrays - zdvosif(:,:) = 0.e0 ! variation of ice volume at surface - zdvobif(:,:) = 0.e0 ! variation of ice volume at bottom - zdvolif(:,:) = 0.e0 ! total variation of ice volume - zdvonif(:,:) = 0.e0 ! transformation of snow to sea-ice volume -! zdvonif(:,:) = 0.e0 ! lateral variation of ice volume - zlicegr(:,:) = 0.e0 ! lateral variation of ice volume - zdvomif(:,:) = 0.e0 ! variation of ice volume at bottom due to melting only - ztr_fram = 0.e0 ! sea-ice transport through Fram strait - fstric (:,:) = 0.e0 ! part of solar radiation absorbing inside the ice - fscmbq (:,:) = 0.e0 ! linked with fstric - ffltbif(:,:) = 0.e0 ! linked with fstric - qfvbq (:,:) = 0.e0 ! linked with fstric - rdmsnif(:,:) = 0.e0 ! variation of snow mass per unit area - rdmicif(:,:) = 0.e0 ! variation of ice mass per unit area - zmsk (:,:,:) = 0.e0 - - ! set to zero snow thickness smaller than epsi04 - DO jj = 1, jpj - DO ji = 1, jpi - hsnif(ji,jj) = hsnif(ji,jj) * MAX( rzero, SIGN( rone , hsnif(ji,jj) - epsi04 ) ) - END DO - END DO -!!gm better coded (do not use SIGN...) -! WHERE( hsnif(:,:) < epsi04 ) hsnif(:,:) = 0.e0 -!!gm - - IF(ln_ctl) CALL prt_ctl( tab2d_1=hsnif, clinfo1=' lim_thd: hsnif : ' ) - - !-----------------------------------! - ! Treatment of particular cases ! - !-----------------------------------! - - DO jj = 1, jpj - DO ji = 1, jpi - ! snow is transformed into ice if the original ice cover disappears. - zindg = tms(ji,jj) * MAX( rzero , SIGN( rone , -hicif(ji,jj) ) ) - hicif(ji,jj) = hicif(ji,jj) + zindg * rhosn * hsnif(ji,jj) / rau0 - hsnif(ji,jj) = ( rone - zindg ) * hsnif(ji,jj) + zindg * hicif(ji,jj) * ( rau0 - rhoic ) / rhosn - dmgwi(ji,jj) = zindg * (1.0 - frld(ji,jj)) * rhoic * hicif(ji,jj) ! snow/ice mass - - ! the lead fraction, frld, must be little than or equal to amax (ice ridging). - zthsnice = hsnif(ji,jj) + hicif(ji,jj) - zindb = tms(ji,jj) * ( 1.0 - MAX( rzero , SIGN( rone , - zthsnice ) ) ) - za = zindb * MIN( rone, ( 1.0 - frld(ji,jj) ) * uscomi ) - hsnif (ji,jj) = hsnif(ji,jj) * za - hicif (ji,jj) = hicif(ji,jj) * za - qstoif(ji,jj) = qstoif(ji,jj) * za - frld (ji,jj) = 1.0 - zindb * ( 1.0 - frld(ji,jj) ) / MAX( za, epsi20 ) - - ! the in situ ice thickness, hicif, must be equal to or greater than hiclim. - zh = MAX( rone , zindb * hiclim / MAX( hicif(ji,jj), epsi20 ) ) - hsnif (ji,jj) = hsnif(ji,jj) * zh - hicif (ji,jj) = hicif(ji,jj) * zh - qstoif(ji,jj) = qstoif(ji,jj) * zh - frld (ji,jj) = ( frld(ji,jj) + ( zh - 1.0 ) ) / zh - END DO - END DO - - IF(ln_ctl) THEN - CALL prt_ctl( tab2d_1=hicif , clinfo1=' lim_thd: hicif : ' ) - CALL prt_ctl( tab2d_1=hsnif , clinfo1=' lim_thd: hsnif : ' ) - CALL prt_ctl( tab2d_1=dmgwi , clinfo1=' lim_thd: dmgwi : ' ) - CALL prt_ctl( tab2d_1=qstoif, clinfo1=' lim_thd: qstoif : ' ) - CALL prt_ctl( tab2d_1=frld , clinfo1=' lim_thd: frld : ' ) - ENDIF - - - !-------------------------------! - ! Thermodynamics of sea ice ! - !-------------------------------! - - ! Partial computation of forcing for the thermodynamic sea ice model. - !-------------------------------------------------------------------------- - - sst_m(:,:) = sst_m(:,:) + rt0 - -!CDIR NOVERRCHK - DO jj = 1, jpj -!CDIR NOVERRCHK - DO ji = 1, jpi - zthsnice = hsnif(ji,jj) + hicif(ji,jj) - zindb = tms(ji,jj) * ( 1.0 - MAX( rzero , SIGN( rone , - zthsnice ) ) ) - pfrld(ji,jj) = frld(ji,jj) - zfricp = 1.0 - frld(ji,jj) - zinda = 1.0 - MAX( rzero , SIGN( rone , - zfricp ) ) - - ! solar irradiance transmission at the mixed layer bottom and used in the lead heat budget - thcm(ji,jj) = 0.e0 - - ! net downward heat flux from the ice to the ocean, expressed as a function of ocean - ! temperature and turbulent mixing (McPhee, 1992) - zfric_u = MAX ( MIN( SQRT( ust2s(ji,jj) ) , zfric_umax ) , zfric_umin ) ! friction velocity - fdtcn(ji,jj) = zindb * rau0 * rcp * 0.006 * zfric_u * ( sst_m(ji,jj) - tfu(ji,jj) ) - qdtcn(ji,jj) = zindb * fdtcn(ji,jj) * frld(ji,jj) * rdt_ice - - ! partial computation of the lead energy budget (qldif) -#if defined key_coupled - qldif(ji,jj) = tms(ji,jj) * rdt_ice & - & * ( ( qsr_tot(ji,jj) - qsr_ice(ji,jj,1) * zfricp ) * ( 1.0 - thcm(ji,jj) ) & - & + ( qns_tot(ji,jj) - qns_ice(ji,jj,1) * zfricp ) & - & + frld(ji,jj) * ( fdtcn(ji,jj) + ( 1.0 - zindb ) * fsbbq(ji,jj) ) ) -#else - zfontn = ( sprecip(ji,jj) / rhosn ) * xlsn ! energy for melting solid precipitation - zfnsol = qns(ji,jj) ! total non solar flux over the ocean - qldif(ji,jj) = tms(ji,jj) * ( qsr(ji,jj) * ( 1.0 - thcm(ji,jj) ) & - & + zfnsol + fdtcn(ji,jj) - zfontn & - & + ( 1.0 - zindb ) * fsbbq(ji,jj) ) & - & * frld(ji,jj) * rdt_ice -!!$ qldif(ji,jj) = tms(ji,jj) * rdt_ice * frld(ji,jj) -!!$ & * ( qsr(ji,jj) * ( 1.0 - thcm(ji,jj) ) & -!!$ & + qns(ji,jj) + fdtcn(ji,jj) - zfontn & -!!$ & + ( 1.0 - zindb ) * fsbbq(ji,jj) ) & -#endif - ! parlat : percentage of energy used for lateral ablation (0.0) - zfntlat = 1.0 - MAX( rzero , SIGN( rone , - qldif(ji,jj) ) ) - zpareff = 1.0 + ( parlat - 1.0 ) * zinda * zfntlat - zqlbsbq(ji,jj) = qldif(ji,jj) * ( 1.0 - zpareff ) / MAX( (1.0 - frld(ji,jj)) * rdt_ice , epsi16 ) - qldif (ji,jj) = zpareff * qldif(ji,jj) - qdtcn (ji,jj) = zpareff * qdtcn(ji,jj) - - ! energy needed to bring ocean surface layer until its freezing - qcmif (ji,jj) = rau0 * rcp * fse3t_m(ji,jj,1) & - & * ( tfu(ji,jj) - sst_m(ji,jj) ) * ( 1 - zinda ) - - ! calculate oceanic heat flux. - fbif (ji,jj) = zindb * ( fsbbq(ji,jj) / MAX( (1.0 - frld(ji,jj)) , epsi20 ) + fdtcn(ji,jj) ) - - ! computation of the thermodynamic ice production (only needed for output) - hicifp(ji,jj) = hicif(ji,jj) * ( 1.0 - frld(ji,jj) ) - END DO - END DO - - sst_m(:,:) = sst_m(:,:) - rt0 - - ! Select icy points and fulfill arrays for the vectorial grid. - !---------------------------------------------------------------------- - nbpb = 0 - DO jj = 1, jpj - DO ji = 1, jpi - IF ( frld(ji,jj) < 1.0 ) THEN - nbpb = nbpb + 1 - npb(nbpb) = (jj - 1) * jpi + ji - ENDIF - END DO - END DO - - IF(ln_ctl) THEN - CALL prt_ctl(tab2d_1=pfrld, clinfo1=' lim_thd: pfrld : ', tab2d_2=thcm , clinfo2=' thcm : ') - CALL prt_ctl(tab2d_1=fdtcn, clinfo1=' lim_thd: fdtcn : ', tab2d_2=qdtcn , clinfo2=' qdtcn : ') - CALL prt_ctl(tab2d_1=qldif, clinfo1=' lim_thd: qldif : ', tab2d_2=zqlbsbq, clinfo2=' zqlbsbq : ') - CALL prt_ctl(tab2d_1=qcmif, clinfo1=' lim_thd: qcmif : ', tab2d_2=fbif , clinfo2=' fbif : ') - zmsk(:,:,1) = tms(:,:) - CALL prt_ctl(tab2d_1=qcmif , clinfo1=' lim_thd: qcmif : ', mask1=zmsk) - CALL prt_ctl(tab2d_1=hicifp, clinfo1=' lim_thd: hicifp : ') - WRITE(charout, FMT="('lim_thd: nbpb = ',I4)") nbpb - CALL prt_ctl_info(charout) - ENDIF - - - ! If there is no ice, do nothing. Otherwise, compute Top and Bottom accretion/ablation - !------------------------------------------------------------------------------------ - - IF( nbpb > 0 ) THEN - ! - ! put the variable in a 1-D array for thermodynamics process - CALL tab_2d_1d_2( nbpb, frld_1d (1:nbpb) , frld , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, h_ice_1d (1:nbpb) , hicif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, h_snow_1d (1:nbpb) , hsnif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, sist_1d (1:nbpb) , sist , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 1 ), tbif(:,:,1) , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 2 ), tbif(:,:,2) , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 3 ), tbif(:,:,3) , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qsr_ice_1d (1:nbpb) , qsr_ice(:,:,1) , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, fr1_i0_1d (1:nbpb) , fr1_i0 , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, fr2_i0_1d (1:nbpb) , fr2_i0 , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qns_ice_1d(1:nbpb) , qns_ice(:,:,1), jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, dqns_ice_1d(1:nbpb) , dqns_ice(:,:,1), jpi, jpj, npb(1:nbpb) ) - IF( .NOT. lk_cpl ) THEN - CALL tab_2d_1d_2( nbpb, qla_ice_1d (1:nbpb) , qla_ice(:,:,1), jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, dqla_ice_1d(1:nbpb) , dqla_ice(:,:,1), jpi, jpj, npb(1:nbpb) ) - ENDIF - CALL tab_2d_1d_2( nbpb, tfu_1d (1:nbpb) , tfu , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, sprecip_1d (1:nbpb) , sprecip , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, fbif_1d (1:nbpb) , fbif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, thcm_1d (1:nbpb) , thcm , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qldif_1d (1:nbpb) , qldif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qstbif_1d (1:nbpb) , qstoif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, rdmicif_1d (1:nbpb) , rdmicif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, dmgwi_1d (1:nbpb) , dmgwi , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qlbbq_1d (1:nbpb) , zqlbsbq , jpi, jpj, npb(1:nbpb) ) - ! - CALL lim_thd_zdf_2( 1, nbpb ) ! compute ice growth - ! - ! back to the geographic grid. - CALL tab_1d_2d_2( nbpb, frld , npb, frld_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, hicif , npb, h_ice_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, hsnif , npb, h_snow_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, sist , npb, sist_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, tbif(:,:,1), npb, tbif_1d (1:nbpb , 1 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpb, tbif(:,:,2), npb, tbif_1d (1:nbpb , 2 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpb, tbif(:,:,3), npb, tbif_1d (1:nbpb , 3 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpb, fscmbq , npb, fscbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, ffltbif , npb, fltbif_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, fstric , npb, fstbif_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qldif , npb, qldif_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qfvbq , npb, qfvbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qstoif , npb, qstbif_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, rdmicif , npb, rdmicif_1d(1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, dmgwi , npb, dmgwi_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, rdmsnif , npb, rdmsnif_1d(1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvosif , npb, dvsbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvobif , npb, dvbbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvomif , npb, rdvomif_1d(1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvolif , npb, dvlbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvonif , npb, dvnbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qsr_ice(:,:,1), npb, qsr_ice_1d(1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qns_ice(:,:,1), npb, qns_ice_1d(1:nbpb) , jpi, jpj ) - IF( .NOT. lk_cpl ) CALL tab_1d_2d_2( nbpb, qla_ice(:,:,1), npb, qla_ice_1d(1:nbpb) , jpi, jpj ) - ! - ENDIF - - ! Up-date sea ice thickness - !-------------------------- - DO jj = 1, jpj - DO ji = 1, jpi - phicif(ji,jj) = hicif(ji,jj) - hicif(ji,jj) = hicif(ji,jj) * ( rone - MAX( rzero, SIGN( rone, - ( 1.0 - frld(ji,jj) ) ) ) ) - END DO - END DO - - - ! Tricky trick : add 2 to frld in the Southern Hemisphere - !-------------------------------------------------------- - IF( fcor(1,1) < 0.e0 ) THEN - DO jj = 1, njeqm1 - DO ji = 1, jpi - frld(ji,jj) = frld(ji,jj) + 2.0 - END DO - END DO - ENDIF - - CALL lbc_lnk( frld , 'T', 1. ) - - ! Select points for lateral accretion (this occurs when heat exchange - ! between ice and ocean is negative; ocean losing heat) - !----------------------------------------------------------------- - nbpac = 0 - DO jj = 1, jpj - DO ji = 1, jpi -!i yes! IF ( ( qcmif(ji,jj) - qldif(ji,jj) ) > 0.e0 ) THEN - IF ( tms(ji,jj) * ( qcmif(ji,jj) - qldif(ji,jj) ) > 0.e0 ) THEN - nbpac = nbpac + 1 - npac( nbpac ) = (jj - 1) * jpi + ji - ENDIF - END DO - END DO - - IF(ln_ctl) THEN - CALL prt_ctl(tab2d_1=phicif, clinfo1=' lim_thd: phicif : ', tab2d_2=hicif, clinfo2=' hicif : ') - WRITE(charout, FMT="('lim_thd: nbpac = ',I4)") nbpac - CALL prt_ctl_info(charout) - ENDIF - - - ! If ocean gains heat do nothing ; otherwise, one performs lateral accretion - !-------------------------------------------------------------------------------- - IF( nbpac > 0 ) THEN - ! - zlicegr(:,:) = rdmicif(:,:) ! to output the lateral sea-ice growth - !...Put the variable in a 1-D array for lateral accretion - CALL tab_2d_1d_2( nbpac, frld_1d (1:nbpac) , frld , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, h_snow_1d (1:nbpac) , hsnif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, h_ice_1d (1:nbpac) , hicif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 1 ), tbif(:,:,1), jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 2 ), tbif(:,:,2), jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 3 ), tbif(:,:,3), jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, qldif_1d (1:nbpac) , qldif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, qcmif_1d (1:nbpac) , qcmif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, qstbif_1d (1:nbpac) , qstoif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, rdmicif_1d(1:nbpac) , rdmicif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, dvlbq_1d (1:nbpac) , zdvolif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, tfu_1d (1:nbpac) , tfu , jpi, jpj, npac(1:nbpac) ) - ! - CALL lim_thd_lac_2( 1 , nbpac ) ! lateral accretion routine. - ! - ! back to the geographic grid - CALL tab_1d_2d_2( nbpac, frld , npac(1:nbpac), frld_1d (1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, hsnif , npac(1:nbpac), h_snow_1d (1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, hicif , npac(1:nbpac), h_ice_1d (1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, tbif(:,:,1), npac(1:nbpac), tbif_1d (1:nbpac , 1 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpac, tbif(:,:,2), npac(1:nbpac), tbif_1d (1:nbpac , 2 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpac, tbif(:,:,3), npac(1:nbpac), tbif_1d (1:nbpac , 3 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpac, qstoif , npac(1:nbpac), qstbif_1d (1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, rdmicif , npac(1:nbpac), rdmicif_1d(1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, zdvolif , npac(1:nbpac), dvlbq_1d (1:nbpac) , jpi, jpj ) - ! - ENDIF - - - ! Recover frld values between 0 and 1 in the Southern Hemisphere (tricky trick) - ! Update daily thermodynamic ice production. - !------------------------------------------------------------------------------ - DO jj = 1, jpj - DO ji = 1, jpi - frld (ji,jj) = MIN( frld(ji,jj), ABS( frld(ji,jj) - 2.0 ) ) - fr_i (ji,jj) = 1.0 - frld(ji,jj) - hicifp(ji,jj) = hicif(ji,jj) * fr_i(ji,jj) - hicifp(ji,jj) - END DO - END DO - - ! Outputs - !-------------------------------------------------------------------------------- - ztmp(:,:) = 1. - pfrld(:,:) ! fraction of ice after the dynamic, before the thermodynamic - CALL iom_put( 'ioceflxb', fbif ) ! Oceanic flux at the ice base [W/m2 ???] - CALL iom_put( 'ist_cea', (sist(:,:) - rt0) * ztmp(:,:) ) ! Ice surface temperature [Celius] - CALL iom_put( 'qsr_ai_cea', qsr_ice(:,:,1) * ztmp(:,:) ) ! Solar flux over the ice [W/m2] - CALL iom_put( 'qns_ai_cea', qns_ice(:,:,1) * ztmp(:,:) ) ! Non-solar flux over the ice [W/m2] - IF( .NOT. lk_cpl ) CALL iom_put( 'qla_ai_cea', qla_ice(:,:,1) * ztmp(:,:) ) ! Latent flux over the ice [W/m2] - ! - CALL iom_put( 'snowthic_cea', hsnif (:,:) * fr_i(:,:) ) ! Snow thickness [m] - CALL iom_put( 'icethic_cea' , hicif (:,:) * fr_i(:,:) ) ! Ice thickness [m] - zztmp = 1.0 / rdt_ice - CALL iom_put( 'iceprod_cea' , hicifp (:,:) * zztmp ) ! Ice produced [m/s] - IF( lk_diaar5 ) THEN - CALL iom_put( 'snowmel_cea' , rdmsnif(:,:) * zztmp ) ! Snow melt [kg/m2/s] - zztmp = rhoic / rdt_ice - CALL iom_put( 'sntoice_cea' , zdvonif(:,:) * zztmp ) ! Snow to Ice transformation [kg/m2/s] - CALL iom_put( 'ticemel_cea' , zdvosif(:,:) * zztmp ) ! Melt at Sea Ice top [kg/m2/s] - CALL iom_put( 'bicemel_cea' , zdvomif(:,:) * zztmp ) ! Melt at Sea Ice bottom [kg/m2/s] - zlicegr(:,:) = MAX( 0.e0, rdmicif(:,:)-zlicegr(:,:) ) - CALL iom_put( 'licepro_cea' , zlicegr(:,:) * zztmp ) ! Latereal sea ice growth [kg/m2/s] - ENDIF - ! - ! Compute the Eastward & Northward sea-ice transport - zztmp = 0.25 * rhoic - DO jj = 1, jpjm1 - DO ji = 1, jpim1 ! NO vector opt. - ! Ice velocities, volume & transport at U & V-points - zuice_m = u_ice(ji+1,jj+1) + u_ice(ji+1,jj ) - zvice_m = v_ice(ji+1,jj+1) + v_ice(ji ,jj+1) - zhice_u = hicif(ji,jj)*e2t(ji,jj)*fr_i(ji,jj) + hicif(ji+1,jj )*e2t(ji+1,jj )*fr_i(ji+1,jj ) - zhice_v = hicif(ji,jj)*e1t(ji,jj)*fr_i(ji,jj) + hicif(ji ,jj+1)*e1t(ji ,jj+1)*fr_i(ji ,jj+1) - zu_imasstr(ji,jj) = zztmp * zhice_u * zuice_m - zv_imasstr(ji,jj) = zztmp * zhice_v * zvice_m - END DO - END DO - CALL lbc_lnk( zu_imasstr, 'U', -1. ) ; CALL lbc_lnk( zv_imasstr, 'V', -1. ) - CALL iom_put( 'u_imasstr', zu_imasstr(:,:) ) ! Ice transport along i-axis at U-point [kg/s] - CALL iom_put( 'v_imasstr', zv_imasstr(:,:) ) ! Ice transport along j-axis at V-point [kg/s] - - !! Fram Strait sea-ice transport (sea-ice + snow) (in ORCA2 = 5 points) - IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration - DO jj = mj0(137), mj1(137) ! B grid - IF( mj0(jj-1) >= nldj ) THEN - DO ji = MAX(mi0(134),nldi), MIN(mi1(138),nlei) - zrhoij = e1t(ji,jj ) * fr_i(ji,jj ) * ( rhoic*hicif(ji,jj ) + rhosn*hsnif(ji,jj ) ) - zrhoijm1 = e1t(ji,jj-1) * fr_i(ji,jj-1) * ( rhoic*hicif(ji,jj-1) + rhosn*hsnif(ji,jj-1) ) - ztr_fram = ztr_fram - 0.25 * ( v_ice(ji,jj)+ v_ice(ji+1,jj) ) * ( zrhoij + zrhoijm1 ) - END DO - ENDIF - END DO - IF( lk_mpp ) CALL mpp_sum( ztr_fram ) - CALL iom_put( 'fram_trans', ztr_fram ) ! Ice transport through Fram strait [kg/s] - ENDIF - - !ztmp(:,:) = 1. - AINT( frld(:,:), wp ) ! return 1 as soon as there is ice - DO jj = 1, jpj - DO ji = 1, jpi - ztmp(ji,jj) = 1. - AINT( frld(ji,jj), wp ) ! return 1 as soon as there is ice - END DO - END DO - - - CALL iom_put( 'ice_pres' , ztmp ) ! Ice presence [-] - CALL iom_put( 'ist_ipa' , ( sist(:,:) - rt0 ) * ztmp(:,:) ) ! Ice surface temperature [Celius] - CALL iom_put( 'uice_ipa' , u_ice(:,:) * ztmp(:,:) ) ! Ice velocity along i-axis at I-point [m/s] - CALL iom_put( 'vice_ipa' , v_ice(:,:) * ztmp(:,:) ) ! Ice velocity along j-axis at I-point [m/s] - - IF(ln_ctl) THEN - CALL prt_ctl_info(' lim_thd end ') - CALL prt_ctl( tab2d_1=hicif , clinfo1=' lim_thd: hicif : ', tab2d_2=hsnif , clinfo2=' hsnif : ' ) - CALL prt_ctl( tab2d_1=frld , clinfo1=' lim_thd: frld : ', tab2d_2=hicifp, clinfo2=' hicifp : ' ) - CALL prt_ctl( tab2d_1=phicif , clinfo1=' lim_thd: phicif : ', tab2d_2=pfrld , clinfo2=' pfrld : ' ) - CALL prt_ctl( tab2d_1=sist , clinfo1=' lim_thd: sist : ' ) - CALL prt_ctl( tab2d_1=tbif(:,:,1), clinfo1=' lim_thd: tbif 1 : ' ) - CALL prt_ctl( tab2d_1=tbif(:,:,2), clinfo1=' lim_thd: tbif 2 : ' ) - CALL prt_ctl( tab2d_1=tbif(:,:,3), clinfo1=' lim_thd: tbif 3 : ' ) - CALL prt_ctl( tab2d_1=fdtcn , clinfo1=' lim_thd: fdtcn : ', tab2d_2=qdtcn , clinfo2=' qdtcn : ' ) - CALL prt_ctl( tab2d_1=qstoif , clinfo1=' lim_thd: qstoif : ', tab2d_2=fsbbq , clinfo2=' fsbbq : ' ) - ENDIF - ! - END SUBROUTINE lim_thd_2 - - - SUBROUTINE lim_thd_init_2 - !!------------------------------------------------------------------- - !! *** ROUTINE lim_thd_init_2 *** - !! - !! ** Purpose : Physical constants and parameters linked to the ice - !! thermodynamics - !! - !! ** Method : Read the namicethd namelist and check the ice-thermo - !! parameter values called at the first timestep (nit000) - !! - !! ** input : Namelist namicether - !!------------------------------------------------------------------- - NAMELIST/namicethd/ hmelt , hiccrit, hicmin, hiclim, amax , & - & swiqst, sbeta , parlat, hakspl, hibspl, exld, & - & hakdif, hnzst , thth , parsub, alphs - !!------------------------------------------------------------------- - ! - REWIND( numnam_ice ) ! read namelist - READ ( numnam_ice , namicethd ) - IF( lk_cpl .AND. parsub /= 0.0 ) CALL ctl_stop( 'In coupled mode, use parsub = 0. or send dqla' ) - ! - IF(lwp) THEN ! control print - WRITE(numout,*) - WRITE(numout,*)'lim_thd_init_2: ice parameters for ice thermodynamic computation ' - WRITE(numout,*)'~~~~~~~~~~~~~~' - WRITE(numout,*)' maximum melting at the bottom hmelt = ', hmelt - WRITE(numout,*)' ice thick. for lateral accretion in NH (SH) hiccrit(1/2) = ', hiccrit - WRITE(numout,*)' ice thick. corr. to max. energy stored in brine pocket hicmin = ', hicmin - WRITE(numout,*)' minimum ice thickness hiclim = ', hiclim - WRITE(numout,*)' maximum lead fraction amax = ', amax - WRITE(numout,*)' energy stored in brine pocket (=1) or not (=0) swiqst = ', swiqst - WRITE(numout,*)' numerical carac. of the scheme for diffusion in ice ' - WRITE(numout,*)' Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) sbeta = ', sbeta - WRITE(numout,*)' percentage of energy used for lateral ablation parlat = ', parlat - WRITE(numout,*)' slope of distr. for Hakkinen-Mellor lateral melting hakspl = ', hakspl - WRITE(numout,*)' slope of distribution for Hibler lateral melting hibspl = ', hibspl - WRITE(numout,*)' exponent for leads-closure rate exld = ', exld - WRITE(numout,*)' coefficient for diffusions of ice and snow hakdif = ', hakdif - WRITE(numout,*)' threshold thick. for comp. of eq. thermal conductivity zhth = ', thth - WRITE(numout,*)' thickness of the surf. layer in temp. computation hnzst = ', hnzst - WRITE(numout,*)' switch for snow sublimation (=1) or not (=0) parsub = ', parsub - WRITE(numout,*)' coefficient for snow density when snow ice formation alphs = ', alphs - ENDIF - ! - uscomi = 1.0 / ( 1.0 - amax ) ! inverse of minimum lead fraction - rcdsn = hakdif * rcdsn - rcdic = hakdif * rcdic - ! - IF( hsndif > 100.e0 .OR. hicdif > 100.e0 ) THEN - cnscg = 0.e0 - ELSE - cnscg = rcpsn / rcpic ! ratio rcpsn/rcpic - ENDIF - ! - END SUBROUTINE lim_thd_init_2 - -#else - !!---------------------------------------------------------------------- - !! Default option Dummy module NO LIM 2.0 sea-ice model - !!---------------------------------------------------------------------- -CONTAINS - SUBROUTINE lim_thd_2 ! Dummy routine - END SUBROUTINE lim_thd_2 -#endif - - !!====================================================================== -END MODULE limthd_2 diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/LIM_SRC_2_old/limthd_2.F90.orig b/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/LIM_SRC_2_old/limthd_2.F90.orig deleted file mode 100644 index 686a27e3799efd1a9460b8d7bc2a5ccd5cc68e13..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/LIM_SRC_2_old/limthd_2.F90.orig +++ /dev/null @@ -1,575 +0,0 @@ -MODULE limthd_2 - !!====================================================================== - !! *** MODULE limthd_2 *** - !! LIM thermo ice model : ice thermodynamic - !!====================================================================== - !! History : 1.0 ! 2000-01 (LIM) - !! 2.0 ! 2002-07 (C. Ethe, G. Madec) F90 - !! 2.0 ! 2003-08 (C. Ethe) add lim_thd_init - !! - ! 2008-2008 (A. Caubel, G. Madec, E. Maisonnave, S. Masson ) generic coupled interface - !!--------------------------------------------------------------------- -#if defined key_lim2 - !!---------------------------------------------------------------------- - !! 'key_lim2' : LIM 2.0 sea-ice model - !!---------------------------------------------------------------------- - !! lim_thd_2 : thermodynamic of sea ice - !! lim_thd_init_2 : initialisation of sea-ice thermodynamic - !!---------------------------------------------------------------------- - USE phycst ! physical constants - USE dom_oce ! ocean space and time domain variables - USE domvvl - USE lbclnk - USE in_out_manager ! I/O manager - USE lib_mpp - USE iom ! IOM library - USE ice_2 ! LIM sea-ice variables - USE sbc_oce ! - USE sbc_ice ! - USE thd_ice_2 ! LIM thermodynamic sea-ice variables - USE dom_ice_2 ! LIM sea-ice domain - USE limthd_zdf_2 - USE limthd_lac_2 - USE limtab_2 - USE prtctl ! Print control - USE cpl_oasis3, ONLY : lk_cpl - USE diaar5, ONLY : lk_diaar5 - - IMPLICIT NONE - PRIVATE - - PUBLIC lim_thd_2 ! called by lim_step - - REAL(wp) :: epsi20 = 1.e-20 ! constant values - REAL(wp) :: epsi16 = 1.e-16 ! - REAL(wp) :: epsi04 = 1.e-04 ! - REAL(wp) :: rzero = 0.e0 ! - REAL(wp) :: rone = 1.e0 ! - - !! * Substitutions -# include "domzgr_substitute.h90" -# include "vectopt_loop_substitute.h90" - !!-------- ------------------------------------------------------------- - !! NEMO/LIM 3.2, UCL-LOCEAN-IPSL (2009) - !! $Id: limthd_2.F90 1924 2010-06-09 14:12:23Z charris $ - !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) - !!---------------------------------------------------------------------- - -CONTAINS - - SUBROUTINE lim_thd_2( kt ) - !!------------------------------------------------------------------- - !! *** ROUTINE lim_thd_2 *** - !! - !! ** Purpose : This routine manages the ice thermodynamic. - !! - !! ** Action : - Initialisation of some variables - !! - Some preliminary computation (oceanic heat flux - !! at the ice base, snow acc.,heat budget of the leads) - !! - selection of the icy points and put them in an array - !! - call lim_vert_ther for vert ice thermodynamic - !! - back to the geographic grid - !! - selection of points for lateral accretion - !! - call lim_lat_acc for the ice accretion - !! - back to the geographic grid - !! - !! References : Goosse et al. 1996, Bul. Soc. Roy. Sc. Liege, 65, 87-90 - !!--------------------------------------------------------------------- - INTEGER, INTENT(in) :: kt ! number of iteration - !! - INTEGER :: ji, jj ! dummy loop indices - INTEGER :: nbpb ! nb of icy pts for thermo. cal. - INTEGER :: nbpac ! nb of pts for lateral accretion - CHARACTER (len=22) :: charout - REAL(wp) :: zfric_umin = 5e-03 ! lower bound for the friction velocity - REAL(wp) :: zfric_umax = 2e-02 ! upper bound for the friction velocity - REAL(wp) :: zinda ! switch for test. the val. of concen. - REAL(wp) :: zindb, zindg ! switches for test. the val of arg - REAL(wp) :: zfricp ! temporary scalar - REAL(wp) :: za , zh, zthsnice ! - REAL(wp) :: zfric_u ! friction velocity - REAL(wp) :: zfnsol ! total non solar heat - REAL(wp) :: zfontn ! heat flux from snow thickness - REAL(wp) :: zfntlat, zpareff ! test. the val. of lead heat budget - REAL(wp), DIMENSION(jpi,jpj) :: ztmp ! 2D workspace - REAL(wp), DIMENSION(jpi,jpj) :: zqlbsbq ! link with lead energy budget qldif - REAL(wp) :: zuice_m, zvice_m ! Sea-ice velocities at U & V-points - REAL(wp) :: zhice_u, zhice_v ! Sea-ice volume at U & V-points - REAL(wp) :: ztr_fram ! Sea-ice transport through Fram strait - REAL(wp) :: zrhoij, zrhoijm1 ! temporary scalars - REAL(wp) :: zztmp ! temporary scalars within a loop - REAL(wp), DIMENSION(jpi,jpj) :: zlicegr ! link with lateral ice growth - REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmsk ! 3D workspace -!!$ REAL(wp), DIMENSION(jpi,jpj) :: firic !: IR flux over the ice (outputs only) -!!$ REAL(wp), DIMENSION(jpi,jpj) :: fcsic !: Sensible heat flux over the ice (outputs only) -!!$ REAL(wp), DIMENSION(jpi,jpj) :: fleic !: Latent heat flux over the ice (outputs only) -!!$ REAL(wp), DIMENSION(jpi,jpj) :: qlatic !: latent flux (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvosif !: Variation of volume at surface (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvobif !: Variation of ice volume at the bottom ice (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvolif !: Total variation of ice volume (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvonif !: Surface accretion Snow to Ice transformation (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zdvomif !: Bottom variation of ice volume due to melting (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zu_imasstr !: Sea-ice transport along i-axis at U-point (outputs only) - REAL(wp), DIMENSION(jpi,jpj) :: zv_imasstr !: Sea-ice transport along j-axis at V-point (outputs only) - !!------------------------------------------------------------------- - - IF( kt == nit000 ) CALL lim_thd_init_2 ! Initialization (first time-step only) - - !-------------------------------------------! - ! Initilization of diagnostic variables ! - !-------------------------------------------! - -!!gm needed? yes at least for some of these arrays - zdvosif(:,:) = 0.e0 ! variation of ice volume at surface - zdvobif(:,:) = 0.e0 ! variation of ice volume at bottom - zdvolif(:,:) = 0.e0 ! total variation of ice volume - zdvonif(:,:) = 0.e0 ! transformation of snow to sea-ice volume -! zdvonif(:,:) = 0.e0 ! lateral variation of ice volume - zlicegr(:,:) = 0.e0 ! lateral variation of ice volume - zdvomif(:,:) = 0.e0 ! variation of ice volume at bottom due to melting only - ztr_fram = 0.e0 ! sea-ice transport through Fram strait - fstric (:,:) = 0.e0 ! part of solar radiation absorbing inside the ice - fscmbq (:,:) = 0.e0 ! linked with fstric - ffltbif(:,:) = 0.e0 ! linked with fstric - qfvbq (:,:) = 0.e0 ! linked with fstric - rdmsnif(:,:) = 0.e0 ! variation of snow mass per unit area - rdmicif(:,:) = 0.e0 ! variation of ice mass per unit area - zmsk (:,:,:) = 0.e0 - - ! set to zero snow thickness smaller than epsi04 - DO jj = 1, jpj - DO ji = 1, jpi - hsnif(ji,jj) = hsnif(ji,jj) * MAX( rzero, SIGN( rone , hsnif(ji,jj) - epsi04 ) ) - END DO - END DO -!!gm better coded (do not use SIGN...) -! WHERE( hsnif(:,:) < epsi04 ) hsnif(:,:) = 0.e0 -!!gm - - IF(ln_ctl) CALL prt_ctl( tab2d_1=hsnif, clinfo1=' lim_thd: hsnif : ' ) - - !-----------------------------------! - ! Treatment of particular cases ! - !-----------------------------------! - - DO jj = 1, jpj - DO ji = 1, jpi - ! snow is transformed into ice if the original ice cover disappears. - zindg = tms(ji,jj) * MAX( rzero , SIGN( rone , -hicif(ji,jj) ) ) - hicif(ji,jj) = hicif(ji,jj) + zindg * rhosn * hsnif(ji,jj) / rau0 - hsnif(ji,jj) = ( rone - zindg ) * hsnif(ji,jj) + zindg * hicif(ji,jj) * ( rau0 - rhoic ) / rhosn - dmgwi(ji,jj) = zindg * (1.0 - frld(ji,jj)) * rhoic * hicif(ji,jj) ! snow/ice mass - - ! the lead fraction, frld, must be little than or equal to amax (ice ridging). - zthsnice = hsnif(ji,jj) + hicif(ji,jj) - zindb = tms(ji,jj) * ( 1.0 - MAX( rzero , SIGN( rone , - zthsnice ) ) ) - za = zindb * MIN( rone, ( 1.0 - frld(ji,jj) ) * uscomi ) - hsnif (ji,jj) = hsnif(ji,jj) * za - hicif (ji,jj) = hicif(ji,jj) * za - qstoif(ji,jj) = qstoif(ji,jj) * za - frld (ji,jj) = 1.0 - zindb * ( 1.0 - frld(ji,jj) ) / MAX( za, epsi20 ) - - ! the in situ ice thickness, hicif, must be equal to or greater than hiclim. - zh = MAX( rone , zindb * hiclim / MAX( hicif(ji,jj), epsi20 ) ) - hsnif (ji,jj) = hsnif(ji,jj) * zh - hicif (ji,jj) = hicif(ji,jj) * zh - qstoif(ji,jj) = qstoif(ji,jj) * zh - frld (ji,jj) = ( frld(ji,jj) + ( zh - 1.0 ) ) / zh - END DO - END DO - - IF(ln_ctl) THEN - CALL prt_ctl( tab2d_1=hicif , clinfo1=' lim_thd: hicif : ' ) - CALL prt_ctl( tab2d_1=hsnif , clinfo1=' lim_thd: hsnif : ' ) - CALL prt_ctl( tab2d_1=dmgwi , clinfo1=' lim_thd: dmgwi : ' ) - CALL prt_ctl( tab2d_1=qstoif, clinfo1=' lim_thd: qstoif : ' ) - CALL prt_ctl( tab2d_1=frld , clinfo1=' lim_thd: frld : ' ) - ENDIF - - - !-------------------------------! - ! Thermodynamics of sea ice ! - !-------------------------------! - - ! Partial computation of forcing for the thermodynamic sea ice model. - !-------------------------------------------------------------------------- - - sst_m(:,:) = sst_m(:,:) + rt0 - -!CDIR NOVERRCHK - DO jj = 1, jpj -!CDIR NOVERRCHK - DO ji = 1, jpi - zthsnice = hsnif(ji,jj) + hicif(ji,jj) - zindb = tms(ji,jj) * ( 1.0 - MAX( rzero , SIGN( rone , - zthsnice ) ) ) - pfrld(ji,jj) = frld(ji,jj) - zfricp = 1.0 - frld(ji,jj) - zinda = 1.0 - MAX( rzero , SIGN( rone , - zfricp ) ) - - ! solar irradiance transmission at the mixed layer bottom and used in the lead heat budget - thcm(ji,jj) = 0.e0 - - ! net downward heat flux from the ice to the ocean, expressed as a function of ocean - ! temperature and turbulent mixing (McPhee, 1992) - zfric_u = MAX ( MIN( SQRT( ust2s(ji,jj) ) , zfric_umax ) , zfric_umin ) ! friction velocity - fdtcn(ji,jj) = zindb * rau0 * rcp * 0.006 * zfric_u * ( sst_m(ji,jj) - tfu(ji,jj) ) - qdtcn(ji,jj) = zindb * fdtcn(ji,jj) * frld(ji,jj) * rdt_ice - - ! partial computation of the lead energy budget (qldif) -#if defined key_coupled - qldif(ji,jj) = tms(ji,jj) * rdt_ice & - & * ( ( qsr_tot(ji,jj) - qsr_ice(ji,jj,1) * zfricp ) * ( 1.0 - thcm(ji,jj) ) & - & + ( qns_tot(ji,jj) - qns_ice(ji,jj,1) * zfricp ) & - & + frld(ji,jj) * ( fdtcn(ji,jj) + ( 1.0 - zindb ) * fsbbq(ji,jj) ) ) -#else - zfontn = ( sprecip(ji,jj) / rhosn ) * xlsn ! energy for melting solid precipitation - zfnsol = qns(ji,jj) ! total non solar flux over the ocean - qldif(ji,jj) = tms(ji,jj) * ( qsr(ji,jj) * ( 1.0 - thcm(ji,jj) ) & - & + zfnsol + fdtcn(ji,jj) - zfontn & - & + ( 1.0 - zindb ) * fsbbq(ji,jj) ) & - & * frld(ji,jj) * rdt_ice -!!$ qldif(ji,jj) = tms(ji,jj) * rdt_ice * frld(ji,jj) -!!$ & * ( qsr(ji,jj) * ( 1.0 - thcm(ji,jj) ) & -!!$ & + qns(ji,jj) + fdtcn(ji,jj) - zfontn & -!!$ & + ( 1.0 - zindb ) * fsbbq(ji,jj) ) & -#endif - ! parlat : percentage of energy used for lateral ablation (0.0) - zfntlat = 1.0 - MAX( rzero , SIGN( rone , - qldif(ji,jj) ) ) - zpareff = 1.0 + ( parlat - 1.0 ) * zinda * zfntlat - zqlbsbq(ji,jj) = qldif(ji,jj) * ( 1.0 - zpareff ) / MAX( (1.0 - frld(ji,jj)) * rdt_ice , epsi16 ) - qldif (ji,jj) = zpareff * qldif(ji,jj) - qdtcn (ji,jj) = zpareff * qdtcn(ji,jj) - - ! energy needed to bring ocean surface layer until its freezing - qcmif (ji,jj) = rau0 * rcp * fse3t_m(ji,jj,1) & - & * ( tfu(ji,jj) - sst_m(ji,jj) ) * ( 1 - zinda ) - - ! calculate oceanic heat flux. - fbif (ji,jj) = zindb * ( fsbbq(ji,jj) / MAX( (1.0 - frld(ji,jj)) , epsi20 ) + fdtcn(ji,jj) ) - - ! computation of the thermodynamic ice production (only needed for output) - hicifp(ji,jj) = hicif(ji,jj) * ( 1.0 - frld(ji,jj) ) - END DO - END DO - - sst_m(:,:) = sst_m(:,:) - rt0 - - ! Select icy points and fulfill arrays for the vectorial grid. - !---------------------------------------------------------------------- - nbpb = 0 - DO jj = 1, jpj - DO ji = 1, jpi - IF ( frld(ji,jj) < 1.0 ) THEN - nbpb = nbpb + 1 - npb(nbpb) = (jj - 1) * jpi + ji - ENDIF - END DO - END DO - - IF(ln_ctl) THEN - CALL prt_ctl(tab2d_1=pfrld, clinfo1=' lim_thd: pfrld : ', tab2d_2=thcm , clinfo2=' thcm : ') - CALL prt_ctl(tab2d_1=fdtcn, clinfo1=' lim_thd: fdtcn : ', tab2d_2=qdtcn , clinfo2=' qdtcn : ') - CALL prt_ctl(tab2d_1=qldif, clinfo1=' lim_thd: qldif : ', tab2d_2=zqlbsbq, clinfo2=' zqlbsbq : ') - CALL prt_ctl(tab2d_1=qcmif, clinfo1=' lim_thd: qcmif : ', tab2d_2=fbif , clinfo2=' fbif : ') - zmsk(:,:,1) = tms(:,:) - CALL prt_ctl(tab2d_1=qcmif , clinfo1=' lim_thd: qcmif : ', mask1=zmsk) - CALL prt_ctl(tab2d_1=hicifp, clinfo1=' lim_thd: hicifp : ') - WRITE(charout, FMT="('lim_thd: nbpb = ',I4)") nbpb - CALL prt_ctl_info(charout) - ENDIF - - - ! If there is no ice, do nothing. Otherwise, compute Top and Bottom accretion/ablation - !------------------------------------------------------------------------------------ - - IF( nbpb > 0 ) THEN - ! - ! put the variable in a 1-D array for thermodynamics process - CALL tab_2d_1d_2( nbpb, frld_1d (1:nbpb) , frld , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, h_ice_1d (1:nbpb) , hicif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, h_snow_1d (1:nbpb) , hsnif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, sist_1d (1:nbpb) , sist , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 1 ), tbif(:,:,1) , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 2 ), tbif(:,:,2) , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 3 ), tbif(:,:,3) , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qsr_ice_1d (1:nbpb) , qsr_ice(:,:,1) , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, fr1_i0_1d (1:nbpb) , fr1_i0 , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, fr2_i0_1d (1:nbpb) , fr2_i0 , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qns_ice_1d(1:nbpb) , qns_ice(:,:,1), jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, dqns_ice_1d(1:nbpb) , dqns_ice(:,:,1), jpi, jpj, npb(1:nbpb) ) - IF( .NOT. lk_cpl ) THEN - CALL tab_2d_1d_2( nbpb, qla_ice_1d (1:nbpb) , qla_ice(:,:,1), jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, dqla_ice_1d(1:nbpb) , dqla_ice(:,:,1), jpi, jpj, npb(1:nbpb) ) - ENDIF - CALL tab_2d_1d_2( nbpb, tfu_1d (1:nbpb) , tfu , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, sprecip_1d (1:nbpb) , sprecip , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, fbif_1d (1:nbpb) , fbif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, thcm_1d (1:nbpb) , thcm , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qldif_1d (1:nbpb) , qldif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qstbif_1d (1:nbpb) , qstoif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, rdmicif_1d (1:nbpb) , rdmicif , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, dmgwi_1d (1:nbpb) , dmgwi , jpi, jpj, npb(1:nbpb) ) - CALL tab_2d_1d_2( nbpb, qlbbq_1d (1:nbpb) , zqlbsbq , jpi, jpj, npb(1:nbpb) ) - ! - CALL lim_thd_zdf_2( 1, nbpb ) ! compute ice growth - ! - ! back to the geographic grid. - CALL tab_1d_2d_2( nbpb, frld , npb, frld_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, hicif , npb, h_ice_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, hsnif , npb, h_snow_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, sist , npb, sist_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, tbif(:,:,1), npb, tbif_1d (1:nbpb , 1 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpb, tbif(:,:,2), npb, tbif_1d (1:nbpb , 2 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpb, tbif(:,:,3), npb, tbif_1d (1:nbpb , 3 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpb, fscmbq , npb, fscbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, ffltbif , npb, fltbif_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, fstric , npb, fstbif_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qldif , npb, qldif_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qfvbq , npb, qfvbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qstoif , npb, qstbif_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, rdmicif , npb, rdmicif_1d(1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, dmgwi , npb, dmgwi_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, rdmsnif , npb, rdmsnif_1d(1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvosif , npb, dvsbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvobif , npb, dvbbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvomif , npb, rdvomif_1d(1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvolif , npb, dvlbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, zdvonif , npb, dvnbq_1d (1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qsr_ice(:,:,1), npb, qsr_ice_1d(1:nbpb) , jpi, jpj ) - CALL tab_1d_2d_2( nbpb, qns_ice(:,:,1), npb, qns_ice_1d(1:nbpb) , jpi, jpj ) - IF( .NOT. lk_cpl ) CALL tab_1d_2d_2( nbpb, qla_ice(:,:,1), npb, qla_ice_1d(1:nbpb) , jpi, jpj ) - ! - ENDIF - - ! Up-date sea ice thickness - !-------------------------- - DO jj = 1, jpj - DO ji = 1, jpi - phicif(ji,jj) = hicif(ji,jj) - hicif(ji,jj) = hicif(ji,jj) * ( rone - MAX( rzero, SIGN( rone, - ( 1.0 - frld(ji,jj) ) ) ) ) - END DO - END DO - - - ! Tricky trick : add 2 to frld in the Southern Hemisphere - !-------------------------------------------------------- - IF( fcor(1,1) < 0.e0 ) THEN - DO jj = 1, njeqm1 - DO ji = 1, jpi - frld(ji,jj) = frld(ji,jj) + 2.0 - END DO - END DO - ENDIF - - CALL lbc_lnk( frld , 'T', 1. ) - - ! Select points for lateral accretion (this occurs when heat exchange - ! between ice and ocean is negative; ocean losing heat) - !----------------------------------------------------------------- - nbpac = 0 - DO jj = 1, jpj - DO ji = 1, jpi -!i yes! IF ( ( qcmif(ji,jj) - qldif(ji,jj) ) > 0.e0 ) THEN - IF ( tms(ji,jj) * ( qcmif(ji,jj) - qldif(ji,jj) ) > 0.e0 ) THEN - nbpac = nbpac + 1 - npac( nbpac ) = (jj - 1) * jpi + ji - ENDIF - END DO - END DO - - IF(ln_ctl) THEN - CALL prt_ctl(tab2d_1=phicif, clinfo1=' lim_thd: phicif : ', tab2d_2=hicif, clinfo2=' hicif : ') - WRITE(charout, FMT="('lim_thd: nbpac = ',I4)") nbpac - CALL prt_ctl_info(charout) - ENDIF - - - ! If ocean gains heat do nothing ; otherwise, one performs lateral accretion - !-------------------------------------------------------------------------------- - IF( nbpac > 0 ) THEN - ! - zlicegr(:,:) = rdmicif(:,:) ! to output the lateral sea-ice growth - !...Put the variable in a 1-D array for lateral accretion - CALL tab_2d_1d_2( nbpac, frld_1d (1:nbpac) , frld , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, h_snow_1d (1:nbpac) , hsnif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, h_ice_1d (1:nbpac) , hicif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 1 ), tbif(:,:,1), jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 2 ), tbif(:,:,2), jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 3 ), tbif(:,:,3), jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, qldif_1d (1:nbpac) , qldif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, qcmif_1d (1:nbpac) , qcmif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, qstbif_1d (1:nbpac) , qstoif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, rdmicif_1d(1:nbpac) , rdmicif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, dvlbq_1d (1:nbpac) , zdvolif , jpi, jpj, npac(1:nbpac) ) - CALL tab_2d_1d_2( nbpac, tfu_1d (1:nbpac) , tfu , jpi, jpj, npac(1:nbpac) ) - ! - CALL lim_thd_lac_2( 1 , nbpac ) ! lateral accretion routine. - ! - ! back to the geographic grid - CALL tab_1d_2d_2( nbpac, frld , npac(1:nbpac), frld_1d (1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, hsnif , npac(1:nbpac), h_snow_1d (1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, hicif , npac(1:nbpac), h_ice_1d (1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, tbif(:,:,1), npac(1:nbpac), tbif_1d (1:nbpac , 1 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpac, tbif(:,:,2), npac(1:nbpac), tbif_1d (1:nbpac , 2 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpac, tbif(:,:,3), npac(1:nbpac), tbif_1d (1:nbpac , 3 ), jpi, jpj ) - CALL tab_1d_2d_2( nbpac, qstoif , npac(1:nbpac), qstbif_1d (1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, rdmicif , npac(1:nbpac), rdmicif_1d(1:nbpac) , jpi, jpj ) - CALL tab_1d_2d_2( nbpac, zdvolif , npac(1:nbpac), dvlbq_1d (1:nbpac) , jpi, jpj ) - ! - ENDIF - - - ! Recover frld values between 0 and 1 in the Southern Hemisphere (tricky trick) - ! Update daily thermodynamic ice production. - !------------------------------------------------------------------------------ - DO jj = 1, jpj - DO ji = 1, jpi - frld (ji,jj) = MIN( frld(ji,jj), ABS( frld(ji,jj) - 2.0 ) ) - fr_i (ji,jj) = 1.0 - frld(ji,jj) - hicifp(ji,jj) = hicif(ji,jj) * fr_i(ji,jj) - hicifp(ji,jj) - END DO - END DO - - ! Outputs - !-------------------------------------------------------------------------------- - ztmp(:,:) = 1. - pfrld(:,:) ! fraction of ice after the dynamic, before the thermodynamic - CALL iom_put( 'ioceflxb', fbif ) ! Oceanic flux at the ice base [W/m2 ???] - CALL iom_put( 'ist_cea', (sist(:,:) - rt0) * ztmp(:,:) ) ! Ice surface temperature [Celius] - CALL iom_put( 'qsr_ai_cea', qsr_ice(:,:,1) * ztmp(:,:) ) ! Solar flux over the ice [W/m2] - CALL iom_put( 'qns_ai_cea', qns_ice(:,:,1) * ztmp(:,:) ) ! Non-solar flux over the ice [W/m2] - IF( .NOT. lk_cpl ) CALL iom_put( 'qla_ai_cea', qla_ice(:,:,1) * ztmp(:,:) ) ! Latent flux over the ice [W/m2] - ! - CALL iom_put( 'snowthic_cea', hsnif (:,:) * fr_i(:,:) ) ! Snow thickness [m] - CALL iom_put( 'icethic_cea' , hicif (:,:) * fr_i(:,:) ) ! Ice thickness [m] - zztmp = 1.0 / rdt_ice - CALL iom_put( 'iceprod_cea' , hicifp (:,:) * zztmp ) ! Ice produced [m/s] - IF( lk_diaar5 ) THEN - CALL iom_put( 'snowmel_cea' , rdmsnif(:,:) * zztmp ) ! Snow melt [kg/m2/s] - zztmp = rhoic / rdt_ice - CALL iom_put( 'sntoice_cea' , zdvonif(:,:) * zztmp ) ! Snow to Ice transformation [kg/m2/s] - CALL iom_put( 'ticemel_cea' , zdvosif(:,:) * zztmp ) ! Melt at Sea Ice top [kg/m2/s] - CALL iom_put( 'bicemel_cea' , zdvomif(:,:) * zztmp ) ! Melt at Sea Ice bottom [kg/m2/s] - zlicegr(:,:) = MAX( 0.e0, rdmicif(:,:)-zlicegr(:,:) ) - CALL iom_put( 'licepro_cea' , zlicegr(:,:) * zztmp ) ! Latereal sea ice growth [kg/m2/s] - ENDIF - ! - ! Compute the Eastward & Northward sea-ice transport - zztmp = 0.25 * rhoic - DO jj = 1, jpjm1 - DO ji = 1, jpim1 ! NO vector opt. - ! Ice velocities, volume & transport at U & V-points - zuice_m = u_ice(ji+1,jj+1) + u_ice(ji+1,jj ) - zvice_m = v_ice(ji+1,jj+1) + v_ice(ji ,jj+1) - zhice_u = hicif(ji,jj)*e2t(ji,jj)*fr_i(ji,jj) + hicif(ji+1,jj )*e2t(ji+1,jj )*fr_i(ji+1,jj ) - zhice_v = hicif(ji,jj)*e1t(ji,jj)*fr_i(ji,jj) + hicif(ji ,jj+1)*e1t(ji ,jj+1)*fr_i(ji ,jj+1) - zu_imasstr(ji,jj) = zztmp * zhice_u * zuice_m - zv_imasstr(ji,jj) = zztmp * zhice_v * zvice_m - END DO - END DO - CALL lbc_lnk( zu_imasstr, 'U', -1. ) ; CALL lbc_lnk( zv_imasstr, 'V', -1. ) - CALL iom_put( 'u_imasstr', zu_imasstr(:,:) ) ! Ice transport along i-axis at U-point [kg/s] - CALL iom_put( 'v_imasstr', zv_imasstr(:,:) ) ! Ice transport along j-axis at V-point [kg/s] - - !! Fram Strait sea-ice transport (sea-ice + snow) (in ORCA2 = 5 points) - IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration - DO jj = mj0(137), mj1(137) ! B grid - IF( mj0(jj-1) >= nldj ) THEN - DO ji = MAX(mi0(134),nldi), MIN(mi1(138),nlei) - zrhoij = e1t(ji,jj ) * fr_i(ji,jj ) * ( rhoic*hicif(ji,jj ) + rhosn*hsnif(ji,jj ) ) - zrhoijm1 = e1t(ji,jj-1) * fr_i(ji,jj-1) * ( rhoic*hicif(ji,jj-1) + rhosn*hsnif(ji,jj-1) ) - ztr_fram = ztr_fram - 0.25 * ( v_ice(ji,jj)+ v_ice(ji+1,jj) ) * ( zrhoij + zrhoijm1 ) - END DO - ENDIF - END DO - IF( lk_mpp ) CALL mpp_sum( ztr_fram ) - CALL iom_put( 'fram_trans', ztr_fram ) ! Ice transport through Fram strait [kg/s] - ENDIF - - ztmp(:,:) = 1. - AINT( frld(:,:), wp ) ! return 1 as soon as there is ice - CALL iom_put( 'ice_pres' , ztmp ) ! Ice presence [-] - CALL iom_put( 'ist_ipa' , ( sist(:,:) - rt0 ) * ztmp(:,:) ) ! Ice surface temperature [Celius] - CALL iom_put( 'uice_ipa' , u_ice(:,:) * ztmp(:,:) ) ! Ice velocity along i-axis at I-point [m/s] - CALL iom_put( 'vice_ipa' , v_ice(:,:) * ztmp(:,:) ) ! Ice velocity along j-axis at I-point [m/s] - - IF(ln_ctl) THEN - CALL prt_ctl_info(' lim_thd end ') - CALL prt_ctl( tab2d_1=hicif , clinfo1=' lim_thd: hicif : ', tab2d_2=hsnif , clinfo2=' hsnif : ' ) - CALL prt_ctl( tab2d_1=frld , clinfo1=' lim_thd: frld : ', tab2d_2=hicifp, clinfo2=' hicifp : ' ) - CALL prt_ctl( tab2d_1=phicif , clinfo1=' lim_thd: phicif : ', tab2d_2=pfrld , clinfo2=' pfrld : ' ) - CALL prt_ctl( tab2d_1=sist , clinfo1=' lim_thd: sist : ' ) - CALL prt_ctl( tab2d_1=tbif(:,:,1), clinfo1=' lim_thd: tbif 1 : ' ) - CALL prt_ctl( tab2d_1=tbif(:,:,2), clinfo1=' lim_thd: tbif 2 : ' ) - CALL prt_ctl( tab2d_1=tbif(:,:,3), clinfo1=' lim_thd: tbif 3 : ' ) - CALL prt_ctl( tab2d_1=fdtcn , clinfo1=' lim_thd: fdtcn : ', tab2d_2=qdtcn , clinfo2=' qdtcn : ' ) - CALL prt_ctl( tab2d_1=qstoif , clinfo1=' lim_thd: qstoif : ', tab2d_2=fsbbq , clinfo2=' fsbbq : ' ) - ENDIF - ! - END SUBROUTINE lim_thd_2 - - - SUBROUTINE lim_thd_init_2 - !!------------------------------------------------------------------- - !! *** ROUTINE lim_thd_init_2 *** - !! - !! ** Purpose : Physical constants and parameters linked to the ice - !! thermodynamics - !! - !! ** Method : Read the namicethd namelist and check the ice-thermo - !! parameter values called at the first timestep (nit000) - !! - !! ** input : Namelist namicether - !!------------------------------------------------------------------- - NAMELIST/namicethd/ hmelt , hiccrit, hicmin, hiclim, amax , & - & swiqst, sbeta , parlat, hakspl, hibspl, exld, & - & hakdif, hnzst , thth , parsub, alphs - !!------------------------------------------------------------------- - ! - REWIND( numnam_ice ) ! read namelist - READ ( numnam_ice , namicethd ) - IF( lk_cpl .AND. parsub /= 0.0 ) CALL ctl_stop( 'In coupled mode, use parsub = 0. or send dqla' ) - ! - IF(lwp) THEN ! control print - WRITE(numout,*) - WRITE(numout,*)'lim_thd_init_2: ice parameters for ice thermodynamic computation ' - WRITE(numout,*)'~~~~~~~~~~~~~~' - WRITE(numout,*)' maximum melting at the bottom hmelt = ', hmelt - WRITE(numout,*)' ice thick. for lateral accretion in NH (SH) hiccrit(1/2) = ', hiccrit - WRITE(numout,*)' ice thick. corr. to max. energy stored in brine pocket hicmin = ', hicmin - WRITE(numout,*)' minimum ice thickness hiclim = ', hiclim - WRITE(numout,*)' maximum lead fraction amax = ', amax - WRITE(numout,*)' energy stored in brine pocket (=1) or not (=0) swiqst = ', swiqst - WRITE(numout,*)' numerical carac. of the scheme for diffusion in ice ' - WRITE(numout,*)' Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) sbeta = ', sbeta - WRITE(numout,*)' percentage of energy used for lateral ablation parlat = ', parlat - WRITE(numout,*)' slope of distr. for Hakkinen-Mellor lateral melting hakspl = ', hakspl - WRITE(numout,*)' slope of distribution for Hibler lateral melting hibspl = ', hibspl - WRITE(numout,*)' exponent for leads-closure rate exld = ', exld - WRITE(numout,*)' coefficient for diffusions of ice and snow hakdif = ', hakdif - WRITE(numout,*)' threshold thick. for comp. of eq. thermal conductivity zhth = ', thth - WRITE(numout,*)' thickness of the surf. layer in temp. computation hnzst = ', hnzst - WRITE(numout,*)' switch for snow sublimation (=1) or not (=0) parsub = ', parsub - WRITE(numout,*)' coefficient for snow density when snow ice formation alphs = ', alphs - ENDIF - ! - uscomi = 1.0 / ( 1.0 - amax ) ! inverse of minimum lead fraction - rcdsn = hakdif * rcdsn - rcdic = hakdif * rcdic - ! - IF( hsndif > 100.e0 .OR. hicdif > 100.e0 ) THEN - cnscg = 0.e0 - ELSE - cnscg = rcpsn / rcpic ! ratio rcpsn/rcpic - ENDIF - ! - END SUBROUTINE lim_thd_init_2 - -#else - !!---------------------------------------------------------------------- - !! Default option Dummy module NO LIM 2.0 sea-ice model - !!---------------------------------------------------------------------- -CONTAINS - SUBROUTINE lim_thd_2 ! Dummy routine - END SUBROUTINE lim_thd_2 -#endif - - !!====================================================================== -END MODULE limthd_2 diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/DIA_old/diawri.F90 b/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/DIA_old/diawri.F90 deleted file mode 100644 index b2058fb33e4c8dd7c964188113690111ee82368d..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/DIA_old/diawri.F90 +++ /dev/null @@ -1,741 +0,0 @@ -MODULE diawri - !!====================================================================== - !! *** MODULE diawri *** - !! Ocean diagnostics : write ocean output files - !!===================================================================== - - !!---------------------------------------------------------------------- - !! * Modules used - USE oce ! ocean dynamics and tracers - USE dom_oce ! ocean space and time domain - USE zdf_oce ! ocean vertical physics - USE ldftra_oce ! ocean active tracers: lateral physics - USE ldfdyn_oce ! ocean dynamics: lateral physics - USE sol_oce ! solver variables - USE sbc_oce ! Surface boundary condition: ocean fields - USE sbc_ice ! Surface boundary condition: ice fields - USE sbcssr ! restoring term toward SST/SSS climatology - USE phycst ! physical constants - USE zdfmxl ! mixed layer - USE dianam ! build name of file (routine) - USE zdfddm ! vertical physics: double diffusion - USE diahth ! thermocline diagnostics - USE lbclnk ! ocean lateral boundary conditions (or mpp link) - USE in_out_manager ! I/O manager - USE diadimg ! dimg direct access file format output - USE diaar5, ONLY : lk_diaar5 - USE iom - USE ioipsl -#if defined key_lim2 - USE limwri_2 -#endif - IMPLICIT NONE - PRIVATE - - !! * Accessibility - PUBLIC dia_wri ! routines called by step.F90 - PUBLIC dia_wri_state - - !! * Module variables - INTEGER :: & - nid_T, nz_T, nh_T, ndim_T, ndim_hT, & ! grid_T file - nid_U, nz_U, nh_U, ndim_U, ndim_hU, & ! grid_U file - nid_V, nz_V, nh_V, ndim_V, ndim_hV, & ! grid_V file - nid_W, nz_W, nh_W, & ! grid_W file - ndex(1) ! ??? - INTEGER, DIMENSION(jpi*jpj) :: & - ndex_hT, ndex_hU, ndex_hV - INTEGER, DIMENSION(jpi*jpj*jpk) :: & - ndex_T, ndex_U, ndex_V - - !! * Substitutions -# include "zdfddm_substitute.h90" -# include "domzgr_substitute.h90" -# include "vectopt_loop_substitute.h90" - !!---------------------------------------------------------------------- - !! OPA 9.0 , LOCEAN-IPSL (2005) - !! $Id: diawri.F90 1792 2009-12-21 15:05:15Z rblod $ - !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt - !!---------------------------------------------------------------------- - -CONTAINS - -#if defined key_dimgout - !!---------------------------------------------------------------------- - !! dia_wri : create the dimg direct access output file (mpp) - !!---------------------------------------------------------------------- -# include "diawri_dimg.h90" - -#else - !!---------------------------------------------------------------------- - !! Default option NetCDF output file - !!---------------------------------------------------------------------- - !! dia_wri : create the standart NetCDF output files - !! dia_wri_state : create an output NetCDF file for a single - !! instantaeous ocean state and forcing fields - !!---------------------------------------------------------------------- -# if defined key_iomput - SUBROUTINE dia_wri( kt ) - !!--------------------------------------------------------------------- - !! *** ROUTINE dia_wri *** - !! - !! ** Purpose : Standard output of opa: dynamics and tracer fields - !! NETCDF format is used by default - !! - !! ** Method : use iom_put - !! - !! History : - !! 3.2 ! 05-11 (B. Lemaire) creation from old diawri - !!---------------------------------------------------------------------- - USE oce, ONLY : z3d => ta ! use ta as 3D workspace - !! - INTEGER, INTENT( in ) :: kt ! ocean time-step index - !! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zztmp, zztmpx, zztmpy ! - REAL(wp), DIMENSION(jpi,jpj) :: z2d ! - !!---------------------------------------------------------------------- - ! - ! Output the initial state and forcings - IF( ninist == 1 ) THEN - CALL dia_wri_state( 'output.init', kt ) - ninist = 0 - ENDIF - - CALL iom_put( "toce" , tn ) ! temperature - CALL iom_put( "soce" , sn ) ! salinity - CALL iom_put( "sst" , tn(:,:,1) ) ! sea surface temperature - CALL iom_put( "sst2" , tn(:,:,1) * tn(:,:,1) ) ! square of sea surface temperature - CALL iom_put( "sss" , sn(:,:,1) ) ! sea surface salinity - CALL iom_put( "sss2" , sn(:,:,1) * sn(:,:,1) ) ! square of sea surface salinity - CALL iom_put( "uoce" , un ) ! i-current - CALL iom_put( "voce" , vn ) ! j-current - - CALL iom_put( "avt" , avt ) ! T vert. eddy diff. coef. - CALL iom_put( "avm" , avmu ) ! T vert. eddy visc. coef. - IF( lk_zdfddm ) THEN - CALL iom_put( "avs" , fsavs(:,:,:) ) ! S vert. eddy diff. coef. - ENDIF - - DO jj = 2, jpjm1 ! sst gradient - DO ji = fs_2, fs_jpim1 ! vector opt. - zztmp = tn(ji,jj,1) - zztmpx = ( tn(ji+1,jj ,1) - zztmp ) / e1u(ji,jj) + ( zztmp - tn(ji-1,jj ,1) ) / e1u(ji-1,jj ) - zztmpy = ( tn(ji ,jj+1,1) - zztmp ) / e2v(ji,jj) + ( zztmp - tn(ji ,jj-1,1) ) / e2v(ji ,jj-1) - z2d(ji,jj) = 0.25 * ( zztmpx * zztmpx + zztmpy * zztmpy ) & - & * umask(ji,jj,1) * umask(ji-1,jj,1) * vmask(ji,jj,1) * umask(ji,jj-1,1) - END DO - END DO - CALL lbc_lnk( z2d, 'T', 1. ) - CALL iom_put( "|sstgrad|2", z2d ) ! square of module of sst gradient -!CDIR NOVERRCHK - z2d(:,:) = SQRT( z2d(:,:) ) - CALL iom_put( "|sstgrad|" , z2d ) ! module of sst gradient - - IF( lk_diaar5 ) THEN - z3d(:,:,jpk) = 0.e0 - DO jk = 1, jpkm1 - z3d(:,:,jk) = rau0 * un(:,:,jk) * e1u(:,:) * fse3u(:,:,jk) - END DO - CALL iom_put( "u_masstr", z3d ) ! mass transport in i-direction - zztmp = 0.5 * rcp - z2d(:,:) = 0.e0 - DO jk = 1, jpkm1 - DO jj = 2, jpjm1 - DO ji = fs_2, fs_jpim1 ! vector opt. - z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * zztmp * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) - END DO - END DO - END DO - CALL lbc_lnk( z2d, 'U', -1. ) - CALL iom_put( "u_heattr", z2d ) ! heat transport in i-direction - DO jk = 1, jpkm1 - z3d(:,:,jk) = rau0 * vn(:,:,jk) * e2v(:,:) * fse3v(:,:,jk) - END DO - CALL iom_put( "v_masstr", z3d ) ! mass transport in j-direction - z2d(:,:) = 0.e0 - DO jk = 1, jpkm1 - DO jj = 2, jpjm1 - DO ji = fs_2, fs_jpim1 ! vector opt. - z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * zztmp * ( tn(ji,jj,jk) + tn(ji,jj+1,jk) ) - END DO - END DO - END DO - CALL lbc_lnk( z2d, 'V', -1. ) - CALL iom_put( "v_heattr", z2d ) ! heat transport in i-direction - ENDIF - - END SUBROUTINE dia_wri - -#else - SUBROUTINE dia_wri( kt ) - !!--------------------------------------------------------------------- - !! *** ROUTINE dia_wri *** - !! - !! ** Purpose : Standard output of opa: dynamics and tracer fields - !! NETCDF format is used by default - !! - !! ** Method : At the beginning of the first time step (nit000), - !! define all the NETCDF files and fields - !! At each time step call histdef to compute the mean if ncessary - !! Each nwrite time step, output the instantaneous or mean fields - !! - !! History : - !! ! 91-03 (M.-A. Foujols) Original code - !! ! 91-11 (G. Madec) - !! ! 92-06 (M. Imbard) correction restart file - !! ! 92-07 (M. Imbard) split into diawri and rstwri - !! ! 93-03 (M. Imbard) suppress writibm - !! ! 98-01 (C. Levy) NETCDF format using ioipsl INTERFACE - !! ! 99-02 (E. Guilyardi) name of netCDF files + variables - !! 8.5 ! 02-09 (G. Madec) F90: Free form and module - !! 9.0 ! 05-11 (V. Garnier) Surface pressure gradient organization - !!---------------------------------------------------------------------- - !! * Arguments - INTEGER, INTENT( in ) :: kt ! ocean time-step index - - !! * Local declarations - LOGICAL :: ll_print = .FALSE. ! =T print and flush numout - CHARACTER (len=40) :: & - clhstnam, clop, clmx ! temporary names - INTEGER :: inum = 11 ! temporary logical unit - INTEGER :: & - iimi, iima, ipk, it, itmod, & ! temporary integers - ijmi, ijma ! " " - REAL(wp) :: & - zsto, zout, zmax, & ! temporary scalars - zjulian, zdt ! " " - REAL(wp), DIMENSION(jpi,jpj) :: & - zw2d ! temporary workspace - !!---------------------------------------------------------------------- - ! - ! Output the initial state and forcings - IF( ninist == 1 ) THEN - CALL dia_wri_state( 'output.init', kt ) - ninist = 0 - ENDIF - ! - ! 0. Initialisation - ! ----------------- - - ! local variable for debugging - ll_print = .FALSE. - ll_print = ll_print .AND. lwp - - ! Define frequency of output and means - zdt = rdt - IF( nacc == 1 ) zdt = rdtmin - IF( ln_mskland ) THEN ; clop = "only(x)" ! put 1.e+20 on land (very expensive!!) - ELSE ; clop = "x" ! no use of the mask value (require less cpu time) - ENDIF -#if defined key_diainstant - zsto = nwrite * zdt - clop = "inst("//TRIM(clop)//")" -#else - zsto=zdt - clop = "ave("//TRIM(clop)//")" -#endif - zout = nwrite * zdt - zmax = ( nitend - nit000 + 1 ) * zdt - - ! Define indices of the horizontal output zoom and vertical limit storage - iimi = 1 ; iima = jpi - ijmi = 1 ; ijma = jpj - ipk = jpk - - ! define time axis - it = kt - itmod = kt - nit000 + 1 - - - ! 1. Define NETCDF files and fields at beginning of first time step - ! ----------------------------------------------------------------- - - IF( kt == nit000 ) THEN - - ! Define the NETCDF files (one per grid) - - ! Compute julian date from starting date of the run - CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) - zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment - IF(lwp)WRITE(numout,*) - IF(lwp)WRITE(numout,*) 'Date 0 used :', nit000, ' YEAR ', nyear, & - & ' MONTH ', nmonth, ' DAY ', nday, 'Julian day : ', zjulian - IF(lwp)WRITE(numout,*) ' indexes of zoom = ', iimi, iima, ijmi, ijma, & - ' limit storage in depth = ', ipk - - ! WRITE root name in date.file for use by postpro - IF(lwp) THEN - CALL dia_nam( clhstnam, nwrite,' ' ) - CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) - WRITE(inum,*) clhstnam - CLOSE(inum) - ENDIF - - ! Define the T grid FILE ( nid_T ) - - CALL dia_nam( clhstnam, nwrite, 'grid_T' ) - IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam ! filename - CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit - & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & - & nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom ) - CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept - & "m", ipk, gdept_0, nz_T, "down" ) - ! ! Index of ocean points - CALL wheneq( jpi*jpj*ipk, tmask, 1, 1., ndex_T , ndim_T ) ! volume - CALL wheneq( jpi*jpj , tmask, 1, 1., ndex_hT, ndim_hT ) ! surface - - ! Define the U grid FILE ( nid_U ) - - CALL dia_nam( clhstnam, nwrite, 'grid_U' ) - IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam ! filename - CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu - & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & - & nit000-1, zjulian, zdt, nh_U, nid_U, domain_id=nidom ) - CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept - & "m", ipk, gdept_0, nz_U, "down" ) - ! ! Index of ocean points - CALL wheneq( jpi*jpj*ipk, umask, 1, 1., ndex_U , ndim_U ) ! volume - CALL wheneq( jpi*jpj , umask, 1, 1., ndex_hU, ndim_hU ) ! surface - - ! Define the V grid FILE ( nid_V ) - - CALL dia_nam( clhstnam, nwrite, 'grid_V' ) ! filename - IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam - CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv - & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & - & nit000-1, zjulian, zdt, nh_V, nid_V, domain_id=nidom ) - CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept - & "m", ipk, gdept_0, nz_V, "down" ) - ! ! Index of ocean points - CALL wheneq( jpi*jpj*ipk, vmask, 1, 1., ndex_V , ndim_V ) ! volume - CALL wheneq( jpi*jpj , vmask, 1, 1., ndex_hV, ndim_hV ) ! surface - - ! Define the W grid FILE ( nid_W ) - - CALL dia_nam( clhstnam, nwrite, 'grid_W' ) ! filename - IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam - CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit - & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & - & nit000-1, zjulian, zdt, nh_W, nid_W, domain_id=nidom ) - CALL histvert( nid_W, "depthw", "Vertical W levels", & ! Vertical grid: gdepw - & "m", ipk, gdepw_0, nz_W, "down" ) - - - ! Declare all the output fields as NETCDF variables - - ! !!! nid_T : 3D - CALL histdef( nid_T, "votemper", "Temperature" , "C" , & ! tn - & jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) - CALL histdef( nid_T, "vosaline", "Salinity" , "PSU" , & ! sn - & jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) - ! !!! nid_T : 2D - CALL histdef( nid_T, "sosstsst", "Sea Surface temperature" , "C" , & ! sst - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sosaline", "Sea Surface Salinity" , "PSU" , & ! sss - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sossheig", "Sea Surface Height" , "m" , & ! ssh - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -!!$#if defined key_lim3 || defined key_lim2 -!!$ ! sowaflup = sowaflep + sorunoff + sowafldp + a term associated to -!!$ ! internal damping to Levitus that can be diagnosed from others -!!$ ! sowaflcd = sowaflep + sorunoff + sowafldp + iowaflup -!!$ CALL histdef( nid_T, "iowaflup", "Ice=>ocean net freshwater" , "kg/m2/s", & ! fsalt -!!$ & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -!!$ CALL histdef( nid_T, "sowaflep", "atmos=>ocean net freshwater" , "kg/m2/s", & ! fmass -!!$ & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -!!$#endif - CALL histdef( nid_T, "sowaflup", "Net Upward Water Flux" , "Kg/m2/s", & ! emp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -!!$ CALL histdef( nid_T, "sorunoff", "Runoffs" , "Kg/m2/s", & ! runoffs -!!$ & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sowaflcd", "concentration/dilution water flux" , "kg/m2/s", & ! emps - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sosalflx", "Surface Salt Flux" , "Kg/m2/s", & ! emps * sn - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sohefldo", "Net Downward Heat Flux" , "W/m2" , & ! qns + qsr - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "soshfldo", "Shortwave Radiation" , "W/m2" , & ! qsr - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "somixhgt", "Turbocline Depth" , "m" , & ! hmld - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "somxl010", "Mixed Layer Depth 0.01" , "m" , & ! hmlp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "soicecov", "Ice fraction" , "[0,1]" , & ! fr_i - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sowindsp", "wind speed at 10m" , "m/s" , & ! wndm - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#if ! defined key_coupled - CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping" , "W/m2" , & ! qrp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping" , "Kg/m2/s", & ! erp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sosafldp", "Surface salt flux: damping" , "Kg/m2/s", & ! erp * sn - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#endif - - - -#if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 ) - CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping" , "W/m2" , & ! qrp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping" , "Kg/m2/s", & ! erp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sosafldp", "Surface salt flux: Damping" , "Kg/m2/s", & ! erp * sn - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#endif -#if defined key_diaspr - CALL histdef( nid_T, "sosurfps", "Surface Pressure" , "cm" , & ! sp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#endif - clmx ="l_max(only(x))" ! max index on a period - CALL histdef( nid_T, "sobowlin", "Bowl Index" , "W-point", & ! bowl INDEX - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clmx, zsto, zout ) -#if defined key_diahth - CALL histdef( nid_T, "sothedep", "Thermocline Depth" , "m" , & ! hth - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "so20chgt", "Depth of 20C isotherm" , "m" , & ! hd20 - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "so28chgt", "Depth of 28C isotherm" , "m" , & ! hd28 - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sohtc300", "Heat content 300 m" , "W" , & ! htc3 - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#endif - -#if defined key_coupled -# if defined key_lim3 - Must be adapted to LIM3 -# else - CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature" , "K" , & ! tn_ice - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T,"soicealb" , "Ice Albedo" , "[0,1]" , & ! alb_ice - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -# endif -#endif - - CALL histend( nid_T ) - - ! !!! nid_U : 3D - CALL histdef( nid_U, "vozocrtx", "Zonal Current" , "m/s" , & ! un - & jpi, jpj, nh_U, ipk, 1, ipk, nz_U, 32, clop, zsto, zout ) -#if defined key_diaeiv - CALL histdef( nid_U, "vozoeivu", "Zonal EIV Current" , "m/s" , & ! u_eiv - & jpi, jpj, nh_U, ipk, 1, ipk, nz_U, 32, clop, zsto, zout ) -#endif - ! !!! nid_U : 2D - CALL histdef( nid_U, "sozotaux", "Wind Stress along i-axis" , "N/m2" , & ! utau - & jpi, jpj, nh_U, 1 , 1, 1 , - 99, 32, clop, zsto, zout ) - - CALL histend( nid_U ) - - ! !!! nid_V : 3D - CALL histdef( nid_V, "vomecrty", "Meridional Current" , "m/s" , & ! vn - & jpi, jpj, nh_V, ipk, 1, ipk, nz_V, 32, clop, zsto, zout ) -#if defined key_diaeiv - CALL histdef( nid_V, "vomeeivv", "Meridional EIV Current" , "m/s" , & ! v_eiv - & jpi, jpj, nh_V, ipk, 1, ipk, nz_V, 32, clop, zsto, zout ) -#endif - ! !!! nid_V : 2D - CALL histdef( nid_V, "sometauy", "Wind Stress along j-axis" , "N/m2" , & ! vtau - & jpi, jpj, nh_V, 1 , 1, 1 , - 99, 32, clop, zsto, zout ) - - CALL histend( nid_V ) - - ! !!! nid_W : 3D - CALL histdef( nid_W, "vovecrtz", "Vertical Velocity" , "m/s" , & ! wn - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) -#if defined key_diaeiv - CALL histdef( nid_W, "voveeivw", "Vertical EIV Velocity" , "m/s" , & ! w_eiv - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) -#endif - CALL histdef( nid_W, "votkeavt", "Vertical Eddy Diffusivity" , "m2/s" , & ! avt - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) - CALL histdef( nid_W, "votkeavm", "Vertical Eddy Viscosity" , "m2/s" , & ! avmu - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) - - IF( lk_zdfddm ) THEN - CALL histdef( nid_W,"voddmavs","Salt Vertical Eddy Diffusivity" , "m2/s" , & ! avs - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) - ENDIF - ! !!! nid_W : 2D -#if defined key_traldf_c2d - CALL histdef( nid_W, "soleahtw", "lateral eddy diffusivity" , "m2/s" , & ! ahtw - & jpi, jpj, nh_W, 1 , 1, 1 , - 99, 32, clop, zsto, zout ) -# if defined key_traldf_eiv - CALL histdef( nid_W, "soleaeiw", "eddy induced vel. coeff. at w-point", "m2/s", & ! aeiw - & jpi, jpj, nh_W, 1 , 1, 1 , - 99, 32, clop, zsto, zout ) -# endif -#endif - - CALL histend( nid_W ) - - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'End of NetCDF Initialization' - IF(ll_print) CALL FLUSH(numout ) - - ENDIF - - ! 2. Start writing data - ! --------------------- - - ! ndex(1) est utilise ssi l'avant dernier argument est diffferent de - ! la taille du tableau en sortie. Dans ce cas , l'avant dernier argument - ! donne le nombre d'elements, et ndex la liste des indices a sortir - - IF( lwp .AND. MOD( itmod, nwrite ) == 0 ) THEN - WRITE(numout,*) 'dia_wri : write model outputs in NetCDF files at ', kt, 'time-step' - WRITE(numout,*) '~~~~~~ ' - ENDIF - - ! Write fields on T grid - CALL histwrite( nid_T, "votemper", it, tn , ndim_T , ndex_T ) ! temperature - CALL histwrite( nid_T, "vosaline", it, sn , ndim_T , ndex_T ) ! salinity - CALL histwrite( nid_T, "sosstsst", it, tn(:,:,1) , ndim_hT, ndex_hT ) ! sea surface temperature - CALL histwrite( nid_T, "sosaline", it, sn(:,:,1) , ndim_hT, ndex_hT ) ! sea surface salinity - CALL histwrite( nid_T, "sossheig", it, sshn , ndim_hT, ndex_hT ) ! sea surface height -!!$#if defined key_lim3 || defined key_lim2 -!!$ CALL histwrite( nid_T, "iowaflup", it, fsalt(:,:) , ndim_hT, ndex_hT ) ! ice=>ocean water flux -!!$ CALL histwrite( nid_T, "sowaflep", it, fmass(:,:) , ndim_hT, ndex_hT ) ! atmos=>ocean water flux -!!$#endif - CALL histwrite( nid_T, "sowaflup", it, emp , ndim_hT, ndex_hT ) ! upward water flux -!!$ CALL histwrite( nid_T, "sorunoff", it, runoff , ndim_hT, ndex_hT ) ! runoff - CALL histwrite( nid_T, "sowaflcd", it, emps , ndim_hT, ndex_hT ) ! c/d water flux - zw2d(:,:) = emps(:,:) * sn(:,:,1) * tmask(:,:,1) - CALL histwrite( nid_T, "sosalflx", it, zw2d , ndim_hT, ndex_hT ) ! c/d salt flux - CALL histwrite( nid_T, "sohefldo", it, qns + qsr , ndim_hT, ndex_hT ) ! total heat flux - CALL histwrite( nid_T, "soshfldo", it, qsr , ndim_hT, ndex_hT ) ! solar heat flux - CALL histwrite( nid_T, "somixhgt", it, hmld , ndim_hT, ndex_hT ) ! turbocline depth - CALL histwrite( nid_T, "somxl010", it, hmlp , ndim_hT, ndex_hT ) ! mixed layer depth - CALL histwrite( nid_T, "soicecov", it, fr_i , ndim_hT, ndex_hT ) ! ice fraction - CALL histwrite( nid_T, "sowindsp", it, wndm , ndim_hT, ndex_hT ) ! wind speed -#if ! defined key_coupled - CALL histwrite( nid_T, "sohefldp", it, qrp , ndim_hT, ndex_hT ) ! heat flux damping - CALL histwrite( nid_T, "sowafldp", it, erp , ndim_hT, ndex_hT ) ! freshwater flux damping - zw2d(:,:) = erp(:,:) * sn(:,:,1) * tmask(:,:,1) - CALL histwrite( nid_T, "sosafldp", it, zw2d , ndim_hT, ndex_hT ) ! salt flux damping -#endif -#if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 ) - CALL histwrite( nid_T, "sohefldp", it, qrp , ndim_hT, ndex_hT ) ! heat flux damping - CALL histwrite( nid_T, "sowafldp", it, erp , ndim_hT, ndex_hT ) ! freshwater flux damping - zw2d(:,:) = erp(:,:) * sn(:,:,1) * tmask(:,:,1) - CALL histwrite( nid_T, "sosafldp", it, zw2d , ndim_hT, ndex_hT ) ! salt flux damping -#endif -#if defined key_diaspr - CALL histwrite( nid_T, "sosurfps", it, gps , ndim_hT, ndex_hT ) ! surface pressure -#endif - zw2d(:,:) = FLOAT( nmln(:,:) ) * tmask(:,:,1) - CALL histwrite( nid_T, "sobowlin", it, zw2d , ndim_hT, ndex_hT ) ! ??? - -#if defined key_diahth - CALL histwrite( nid_T, "sothedep", it, hth , ndim_hT, ndex_hT ) ! depth of the thermocline - CALL histwrite( nid_T, "so20chgt", it, hd20 , ndim_hT, ndex_hT ) ! depth of the 20 isotherm - CALL histwrite( nid_T, "so28chgt", it, hd28 , ndim_hT, ndex_hT ) ! depth of the 28 isotherm - CALL histwrite( nid_T, "sohtc300", it, htc3 , ndim_hT, ndex_hT ) ! first 300m heaat content -#endif - -#if defined key_coupled -# if defined key_lim3 - Must be adapted for LIM3 - CALL histwrite( nid_T, "soicetem", it, tn_ice , ndim_hT, ndex_hT ) ! surf. ice temperature - CALL histwrite( nid_T, "soicealb", it, alb_ice , ndim_hT, ndex_hT ) ! ice albedo -# else - CALL histwrite( nid_T, "soicetem", it, tn_ice(:,:,1) , ndim_hT, ndex_hT ) ! surf. ice temperature - CALL histwrite( nid_T, "soicealb", it, alb_ice(:,:,1), ndim_hT, ndex_hT ) ! ice albedo -# endif -#endif - ! Write fields on U grid - CALL histwrite( nid_U, "vozocrtx", it, un , ndim_U , ndex_U ) ! i-current -#if defined key_diaeiv - CALL histwrite( nid_U, "vozoeivu", it, u_eiv , ndim_U , ndex_U ) ! i-eiv current -#endif - CALL histwrite( nid_U, "sozotaux", it, utau , ndim_hU, ndex_hU ) ! i-wind stress - - ! Write fields on V grid - CALL histwrite( nid_V, "vomecrty", it, vn , ndim_V , ndex_V ) ! j-current -#if defined key_diaeiv - CALL histwrite( nid_V, "vomeeivv", it, v_eiv , ndim_V , ndex_V ) ! j-eiv current -#endif - CALL histwrite( nid_V, "sometauy", it, vtau , ndim_hV, ndex_hV ) ! j-wind stress - - ! Write fields on W grid - CALL histwrite( nid_W, "vovecrtz", it, wn , ndim_T, ndex_T ) ! vert. current -# if defined key_diaeiv - CALL histwrite( nid_W, "voveeivw", it, w_eiv , ndim_T, ndex_T ) ! vert. eiv current -# endif - CALL histwrite( nid_W, "votkeavt", it, avt , ndim_T, ndex_T ) ! T vert. eddy diff. coef. - CALL histwrite( nid_W, "votkeavm", it, avmu , ndim_T, ndex_T ) ! T vert. eddy visc. coef. - IF( lk_zdfddm ) THEN - CALL histwrite( nid_W, "voddmavs", it, fsavs(:,:,:), ndim_T, ndex_T ) ! S vert. eddy diff. coef. - ENDIF -#if defined key_traldf_c2d - CALL histwrite( nid_W, "soleahtw", it, ahtw , ndim_hT, ndex_hT ) ! lateral eddy diff. coef. -# if defined key_traldf_eiv - CALL histwrite( nid_W, "soleaeiw", it, aeiw , ndim_hT, ndex_hT ) ! EIV coefficient at w-point -# endif -#endif - - ! 3. Synchronise and close all files - ! --------------------------------------- - IF( MOD( kt, nwrite ) == 0 .OR. kt < 0 ) THEN - CALL histsync( nid_T ) - CALL histsync( nid_U ) - CALL histsync( nid_V ) - CALL histsync( nid_W ) - ENDIF - - ! 3. Close all files - ! --------------------------------------- - IF( kt == nitend ) THEN - CALL histclo( nid_T ) - CALL histclo( nid_U ) - CALL histclo( nid_V ) - CALL histclo( nid_W ) - ENDIF - - END SUBROUTINE dia_wri -# endif - -#endif - - SUBROUTINE dia_wri_state( cdfile_name, kt ) - !!--------------------------------------------------------------------- - !! *** ROUTINE dia_wri_state *** - !! - !! ** Purpose : create a NetCDF file named cdfile_name which contains - !! the instantaneous ocean state and forcing fields. - !! Used to find errors in the initial state or save the last - !! ocean state in case of abnormal end of a simulation - !! - !! ** Method : NetCDF files using ioipsl - !! File 'output.init.nc' is created if ninist = 1 (namelist) - !! File 'output.abort.nc' is created in case of abnormal job end - !! - !! History : - !! 8.2 ! 00-06 (M. Imbard) Original code (diabort.F) - !! 8.5 ! 02-06 (A.Bozec, E. Durand) Original code (diainit.F) - !! 9.0 ! 02-12 (G. Madec) merge of diabort and diainit, F90 - !! " ! 05-11 (V. Garnier) Surface pressure gradient organization - !!---------------------------------------------------------------------- - !! * Arguments - CHARACTER (len=* ), INTENT( in ) :: cdfile_name ! name of the file created - INTEGER , INTENT( in ) :: kt ! ocean time-step index - - !! * Local declarations - CHARACTER (len=32) :: clname - CHARACTER (len=40) :: clop - INTEGER :: & - id_i , nz_i, nh_i - INTEGER, DIMENSION(1) :: & - idex ! temprary workspace - REAL(wp) :: & - zsto, zout, zmax, & - zjulian, zdt - !!---------------------------------------------------------------------- - - ! 0. Initialisation - ! ----------------- - - ! Define name, frequency of output and means - clname = cdfile_name - IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) - zdt = rdt - zsto = rdt - clop = "inst(x)" ! no use of the mask value (require less cpu time) - zout = rdt - zmax = ( nitend - nit000 + 1 ) * zdt - - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'dia_wri_state : single instantaneous ocean state' - IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~ and forcing fields file created ' - IF(lwp) WRITE(numout,*) ' and named :', clname, '.nc' - - - ! 1. Define NETCDF files and fields at beginning of first time step - ! ----------------------------------------------------------------- - - ! Compute julian date from starting date of the run - CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) ! time axis - zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment - CALL histbeg( clname, jpi, glamt, jpj, gphit, & - 1, jpi, 1, jpj, nit000-1, zjulian, zdt, nh_i, id_i, domain_id=nidom ) ! Horizontal grid : glamt and gphit - CALL histvert( id_i, "deptht", "Vertical T levels", & ! Vertical grid : gdept - "m", jpk, gdept_0, nz_i, "down") - - ! Declare all the output fields as NetCDF variables - - CALL histdef( id_i, "vosaline", "Salinity" , "PSU" , & ! salinity - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "votemper", "Temperature" , "C" , & ! temperature - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "sossheig", "Sea Surface Height" , "m" , & ! ssh - & jpi, jpj, nh_i, 1 , 1, 1 , nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "vozocrtx", "Zonal Current" , "m/s" , & ! zonal current - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "vomecrty", "Meridional Current" , "m/s" , & ! meridonal current - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "vovecrtz", "Vertical Velocity" , "m/s" , & ! vertical current - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "sowaflup", "Net Upward Water Flux" , "Kg/m2/S", & ! net freshwater - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "sohefldo", "Net Downward Heat Flux", "W/m2" , & ! net heat flux - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "soshfldo", "Shortwave Radiation" , "W/m2" , & ! solar flux - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "soicecov", "Ice fraction" , "[0,1]" , & ! fr_i - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "sozotaux", "Zonal Wind Stress" , "N/m2" , & ! i-wind stress - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "sometauy", "Meridional Wind Stress", "N/m2" , & ! j-wind stress - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - -#if defined key_lim2 - CALL lim_wri_state_2( kt, id_i, nh_i ) -#else - CALL histend( id_i ) -#endif - - ! 2. Start writing data - ! --------------------- - ! idex(1) est utilise ssi l'avant dernier argument est diffferent de - ! la taille du tableau en sortie. Dans ce cas , l'avant dernier argument - ! donne le nombre d'elements, et idex la liste des indices a sortir - idex(1) = 1 ! init to avoid compil warning - - ! Write all fields on T grid - CALL histwrite( id_i, "votemper", kt, tn , jpi*jpj*jpk, idex ) ! now temperature - CALL histwrite( id_i, "vosaline", kt, sn , jpi*jpj*jpk, idex ) ! now salinity - CALL histwrite( id_i, "sossheig", kt, sshn , jpi*jpj , idex ) ! sea surface height - CALL histwrite( id_i, "vozocrtx", kt, un , jpi*jpj*jpk, idex ) ! now i-velocity - CALL histwrite( id_i, "vomecrty", kt, vn , jpi*jpj*jpk, idex ) ! now j-velocity - CALL histwrite( id_i, "vovecrtz", kt, wn , jpi*jpj*jpk, idex ) ! now k-velocity - CALL histwrite( id_i, "sowaflup", kt, emp , jpi*jpj , idex ) ! freshwater budget - CALL histwrite( id_i, "sohefldo", kt, qsr + qns, jpi*jpj , idex ) ! total heat flux - CALL histwrite( id_i, "soshfldo", kt, qsr , jpi*jpj , idex ) ! solar heat flux - CALL histwrite( id_i, "soicecov", kt, fr_i , jpi*jpj , idex ) ! ice fraction - CALL histwrite( id_i, "sozotaux", kt, utau , jpi*jpj , idex ) ! i-wind stress - CALL histwrite( id_i, "sometauy", kt, vtau , jpi*jpj , idex ) ! j-wind stress - - ! 3. Synchronise and close all files - ! --------------------------------------- - IF( MOD( kt, nwrite ) == 0 .OR. kt < 0 ) THEN - CALL histsync( nid_T ) - CALL histsync( nid_U ) - CALL histsync( nid_V ) - CALL histsync( nid_W ) - ENDIF - - ! 3. Close the file - ! ----------------- - CALL histclo( id_i ) -#if ! defined key_iomput && ! defined key_dimgout - IF( ninist /= 1 ) THEN - CALL histclo( nid_T ) - CALL histclo( nid_U ) - CALL histclo( nid_V ) - CALL histclo( nid_W ) - ENDIF -#endif - - END SUBROUTINE dia_wri_state - !!====================================================================== -END MODULE diawri diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/DIA_old/diawri.F90.orig b/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/DIA_old/diawri.F90.orig deleted file mode 100644 index abac6ad1af043a5cf3a91fbdc873eab6e8b6a50d..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/DIA_old/diawri.F90.orig +++ /dev/null @@ -1,723 +0,0 @@ -MODULE diawri - !!====================================================================== - !! *** MODULE diawri *** - !! Ocean diagnostics : write ocean output files - !!===================================================================== - - !!---------------------------------------------------------------------- - !! * Modules used - USE oce ! ocean dynamics and tracers - USE dom_oce ! ocean space and time domain - USE zdf_oce ! ocean vertical physics - USE ldftra_oce ! ocean active tracers: lateral physics - USE ldfdyn_oce ! ocean dynamics: lateral physics - USE sol_oce ! solver variables - USE sbc_oce ! Surface boundary condition: ocean fields - USE sbc_ice ! Surface boundary condition: ice fields - USE sbcssr ! restoring term toward SST/SSS climatology - USE phycst ! physical constants - USE zdfmxl ! mixed layer - USE dianam ! build name of file (routine) - USE zdfddm ! vertical physics: double diffusion - USE diahth ! thermocline diagnostics - USE lbclnk ! ocean lateral boundary conditions (or mpp link) - USE in_out_manager ! I/O manager - USE diadimg ! dimg direct access file format output - USE diaar5, ONLY : lk_diaar5 - USE iom - USE ioipsl -#if defined key_lim2 - USE limwri_2 -#endif - IMPLICIT NONE - PRIVATE - - !! * Accessibility - PUBLIC dia_wri ! routines called by step.F90 - PUBLIC dia_wri_state - - !! * Module variables - INTEGER :: & - nid_T, nz_T, nh_T, ndim_T, ndim_hT, & ! grid_T file - nid_U, nz_U, nh_U, ndim_U, ndim_hU, & ! grid_U file - nid_V, nz_V, nh_V, ndim_V, ndim_hV, & ! grid_V file - nid_W, nz_W, nh_W, & ! grid_W file - ndex(1) ! ??? - INTEGER, DIMENSION(jpi*jpj) :: & - ndex_hT, ndex_hU, ndex_hV - INTEGER, DIMENSION(jpi*jpj*jpk) :: & - ndex_T, ndex_U, ndex_V - - !! * Substitutions -# include "zdfddm_substitute.h90" -# include "domzgr_substitute.h90" -# include "vectopt_loop_substitute.h90" - !!---------------------------------------------------------------------- - !! OPA 9.0 , LOCEAN-IPSL (2005) - !! $Id: diawri.F90 1792 2009-12-21 15:05:15Z rblod $ - !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt - !!---------------------------------------------------------------------- - -CONTAINS - -#if defined key_dimgout - !!---------------------------------------------------------------------- - !! dia_wri : create the dimg direct access output file (mpp) - !!---------------------------------------------------------------------- -# include "diawri_dimg.h90" - -#else - !!---------------------------------------------------------------------- - !! Default option NetCDF output file - !!---------------------------------------------------------------------- - !! dia_wri : create the standart NetCDF output files - !! dia_wri_state : create an output NetCDF file for a single - !! instantaeous ocean state and forcing fields - !!---------------------------------------------------------------------- -# if defined key_iomput - SUBROUTINE dia_wri( kt ) - !!--------------------------------------------------------------------- - !! *** ROUTINE dia_wri *** - !! - !! ** Purpose : Standard output of opa: dynamics and tracer fields - !! NETCDF format is used by default - !! - !! ** Method : use iom_put - !! - !! History : - !! 3.2 ! 05-11 (B. Lemaire) creation from old diawri - !!---------------------------------------------------------------------- - USE oce, ONLY : z3d => ta ! use ta as 3D workspace - !! - INTEGER, INTENT( in ) :: kt ! ocean time-step index - !! - INTEGER :: ji, jj, jk ! dummy loop indices - REAL(wp) :: zztmp, zztmpx, zztmpy ! - REAL(wp), DIMENSION(jpi,jpj) :: z2d ! - !!---------------------------------------------------------------------- - ! - ! Output the initial state and forcings - IF( ninist == 1 ) THEN - CALL dia_wri_state( 'output.init', kt ) - ninist = 0 - ENDIF - - CALL iom_put( "toce" , tn ) ! temperature - CALL iom_put( "soce" , sn ) ! salinity - CALL iom_put( "sst" , tn(:,:,1) ) ! sea surface temperature - CALL iom_put( "sst2" , tn(:,:,1) * tn(:,:,1) ) ! square of sea surface temperature - CALL iom_put( "sss" , sn(:,:,1) ) ! sea surface salinity - CALL iom_put( "sss2" , sn(:,:,1) * sn(:,:,1) ) ! square of sea surface salinity - CALL iom_put( "uoce" , un ) ! i-current - CALL iom_put( "voce" , vn ) ! j-current - - CALL iom_put( "avt" , avt ) ! T vert. eddy diff. coef. - CALL iom_put( "avm" , avmu ) ! T vert. eddy visc. coef. - IF( lk_zdfddm ) THEN - CALL iom_put( "avs" , fsavs(:,:,:) ) ! S vert. eddy diff. coef. - ENDIF - - DO jj = 2, jpjm1 ! sst gradient - DO ji = fs_2, fs_jpim1 ! vector opt. - zztmp = tn(ji,jj,1) - zztmpx = ( tn(ji+1,jj ,1) - zztmp ) / e1u(ji,jj) + ( zztmp - tn(ji-1,jj ,1) ) / e1u(ji-1,jj ) - zztmpy = ( tn(ji ,jj+1,1) - zztmp ) / e2v(ji,jj) + ( zztmp - tn(ji ,jj-1,1) ) / e2v(ji ,jj-1) - z2d(ji,jj) = 0.25 * ( zztmpx * zztmpx + zztmpy * zztmpy ) & - & * umask(ji,jj,1) * umask(ji-1,jj,1) * vmask(ji,jj,1) * umask(ji,jj-1,1) - END DO - END DO - CALL lbc_lnk( z2d, 'T', 1. ) - CALL iom_put( "|sstgrad|2", z2d ) ! square of module of sst gradient -!CDIR NOVERRCHK - z2d(:,:) = SQRT( z2d(:,:) ) - CALL iom_put( "|sstgrad|" , z2d ) ! module of sst gradient - - IF( lk_diaar5 ) THEN - z3d(:,:,jpk) = 0.e0 - DO jk = 1, jpkm1 - z3d(:,:,jk) = rau0 * un(:,:,jk) * e1u(:,:) * fse3u(:,:,jk) - END DO - CALL iom_put( "u_masstr", z3d ) ! mass transport in i-direction - zztmp = 0.5 * rcp - z2d(:,:) = 0.e0 - DO jk = 1, jpkm1 - DO jj = 2, jpjm1 - DO ji = fs_2, fs_jpim1 ! vector opt. - z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * zztmp * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) - END DO - END DO - END DO - CALL lbc_lnk( z2d, 'U', -1. ) - CALL iom_put( "u_heattr", z2d ) ! heat transport in i-direction - DO jk = 1, jpkm1 - z3d(:,:,jk) = rau0 * vn(:,:,jk) * e2v(:,:) * fse3v(:,:,jk) - END DO - CALL iom_put( "v_masstr", z3d ) ! mass transport in j-direction - z2d(:,:) = 0.e0 - DO jk = 1, jpkm1 - DO jj = 2, jpjm1 - DO ji = fs_2, fs_jpim1 ! vector opt. - z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * zztmp * ( tn(ji,jj,jk) + tn(ji,jj+1,jk) ) - END DO - END DO - END DO - CALL lbc_lnk( z2d, 'V', -1. ) - CALL iom_put( "v_heattr", z2d ) ! heat transport in i-direction - ENDIF - - END SUBROUTINE dia_wri - -#else - SUBROUTINE dia_wri( kt ) - !!--------------------------------------------------------------------- - !! *** ROUTINE dia_wri *** - !! - !! ** Purpose : Standard output of opa: dynamics and tracer fields - !! NETCDF format is used by default - !! - !! ** Method : At the beginning of the first time step (nit000), - !! define all the NETCDF files and fields - !! At each time step call histdef to compute the mean if ncessary - !! Each nwrite time step, output the instantaneous or mean fields - !! - !! History : - !! ! 91-03 (M.-A. Foujols) Original code - !! ! 91-11 (G. Madec) - !! ! 92-06 (M. Imbard) correction restart file - !! ! 92-07 (M. Imbard) split into diawri and rstwri - !! ! 93-03 (M. Imbard) suppress writibm - !! ! 98-01 (C. Levy) NETCDF format using ioipsl INTERFACE - !! ! 99-02 (E. Guilyardi) name of netCDF files + variables - !! 8.5 ! 02-09 (G. Madec) F90: Free form and module - !! 9.0 ! 05-11 (V. Garnier) Surface pressure gradient organization - !!---------------------------------------------------------------------- - !! * Arguments - INTEGER, INTENT( in ) :: kt ! ocean time-step index - - !! * Local declarations - LOGICAL :: ll_print = .FALSE. ! =T print and flush numout - CHARACTER (len=40) :: & - clhstnam, clop, clmx ! temporary names - INTEGER :: inum = 11 ! temporary logical unit - INTEGER :: & - iimi, iima, ipk, it, itmod, & ! temporary integers - ijmi, ijma ! " " - REAL(wp) :: & - zsto, zout, zmax, & ! temporary scalars - zjulian, zdt ! " " - REAL(wp), DIMENSION(jpi,jpj) :: & - zw2d ! temporary workspace - !!---------------------------------------------------------------------- - ! - ! Output the initial state and forcings - IF( ninist == 1 ) THEN - CALL dia_wri_state( 'output.init', kt ) - ninist = 0 - ENDIF - ! - ! 0. Initialisation - ! ----------------- - - ! local variable for debugging - ll_print = .FALSE. - ll_print = ll_print .AND. lwp - - ! Define frequency of output and means - zdt = rdt - IF( nacc == 1 ) zdt = rdtmin - IF( ln_mskland ) THEN ; clop = "only(x)" ! put 1.e+20 on land (very expensive!!) - ELSE ; clop = "x" ! no use of the mask value (require less cpu time) - ENDIF -#if defined key_diainstant - zsto = nwrite * zdt - clop = "inst("//TRIM(clop)//")" -#else - zsto=zdt - clop = "ave("//TRIM(clop)//")" -#endif - zout = nwrite * zdt - zmax = ( nitend - nit000 + 1 ) * zdt - - ! Define indices of the horizontal output zoom and vertical limit storage - iimi = 1 ; iima = jpi - ijmi = 1 ; ijma = jpj - ipk = jpk - - ! define time axis - it = kt - itmod = kt - nit000 + 1 - - - ! 1. Define NETCDF files and fields at beginning of first time step - ! ----------------------------------------------------------------- - - IF( kt == nit000 ) THEN - - ! Define the NETCDF files (one per grid) - - ! Compute julian date from starting date of the run - CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) - zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment - IF(lwp)WRITE(numout,*) - IF(lwp)WRITE(numout,*) 'Date 0 used :', nit000, ' YEAR ', nyear, & - & ' MONTH ', nmonth, ' DAY ', nday, 'Julian day : ', zjulian - IF(lwp)WRITE(numout,*) ' indexes of zoom = ', iimi, iima, ijmi, ijma, & - ' limit storage in depth = ', ipk - - ! WRITE root name in date.file for use by postpro - IF(lwp) THEN - CALL dia_nam( clhstnam, nwrite,' ' ) - CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) - WRITE(inum,*) clhstnam - CLOSE(inum) - ENDIF - - ! Define the T grid FILE ( nid_T ) - - CALL dia_nam( clhstnam, nwrite, 'grid_T' ) - IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam ! filename - CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit - & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & - & nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom ) - CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept - & "m", ipk, gdept_0, nz_T, "down" ) - ! ! Index of ocean points - CALL wheneq( jpi*jpj*ipk, tmask, 1, 1., ndex_T , ndim_T ) ! volume - CALL wheneq( jpi*jpj , tmask, 1, 1., ndex_hT, ndim_hT ) ! surface - - ! Define the U grid FILE ( nid_U ) - - CALL dia_nam( clhstnam, nwrite, 'grid_U' ) - IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam ! filename - CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu - & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & - & nit000-1, zjulian, zdt, nh_U, nid_U, domain_id=nidom ) - CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept - & "m", ipk, gdept_0, nz_U, "down" ) - ! ! Index of ocean points - CALL wheneq( jpi*jpj*ipk, umask, 1, 1., ndex_U , ndim_U ) ! volume - CALL wheneq( jpi*jpj , umask, 1, 1., ndex_hU, ndim_hU ) ! surface - - ! Define the V grid FILE ( nid_V ) - - CALL dia_nam( clhstnam, nwrite, 'grid_V' ) ! filename - IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam - CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv - & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & - & nit000-1, zjulian, zdt, nh_V, nid_V, domain_id=nidom ) - CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept - & "m", ipk, gdept_0, nz_V, "down" ) - ! ! Index of ocean points - CALL wheneq( jpi*jpj*ipk, vmask, 1, 1., ndex_V , ndim_V ) ! volume - CALL wheneq( jpi*jpj , vmask, 1, 1., ndex_hV, ndim_hV ) ! surface - - ! Define the W grid FILE ( nid_W ) - - CALL dia_nam( clhstnam, nwrite, 'grid_W' ) ! filename - IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam - CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit - & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & - & nit000-1, zjulian, zdt, nh_W, nid_W, domain_id=nidom ) - CALL histvert( nid_W, "depthw", "Vertical W levels", & ! Vertical grid: gdepw - & "m", ipk, gdepw_0, nz_W, "down" ) - - - ! Declare all the output fields as NETCDF variables - - ! !!! nid_T : 3D - CALL histdef( nid_T, "votemper", "Temperature" , "C" , & ! tn - & jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) - CALL histdef( nid_T, "vosaline", "Salinity" , "PSU" , & ! sn - & jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) - ! !!! nid_T : 2D - CALL histdef( nid_T, "sosstsst", "Sea Surface temperature" , "C" , & ! sst - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sosaline", "Sea Surface Salinity" , "PSU" , & ! sss - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sossheig", "Sea Surface Height" , "m" , & ! ssh - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -!!$#if defined key_lim3 || defined key_lim2 -!!$ ! sowaflup = sowaflep + sorunoff + sowafldp + a term associated to -!!$ ! internal damping to Levitus that can be diagnosed from others -!!$ ! sowaflcd = sowaflep + sorunoff + sowafldp + iowaflup -!!$ CALL histdef( nid_T, "iowaflup", "Ice=>ocean net freshwater" , "kg/m2/s", & ! fsalt -!!$ & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -!!$ CALL histdef( nid_T, "sowaflep", "atmos=>ocean net freshwater" , "kg/m2/s", & ! fmass -!!$ & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -!!$#endif - CALL histdef( nid_T, "sowaflup", "Net Upward Water Flux" , "Kg/m2/s", & ! emp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -!!$ CALL histdef( nid_T, "sorunoff", "Runoffs" , "Kg/m2/s", & ! runoffs -!!$ & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sowaflcd", "concentration/dilution water flux" , "kg/m2/s", & ! emps - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sosalflx", "Surface Salt Flux" , "Kg/m2/s", & ! emps * sn - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sohefldo", "Net Downward Heat Flux" , "W/m2" , & ! qns + qsr - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "soshfldo", "Shortwave Radiation" , "W/m2" , & ! qsr - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "somixhgt", "Turbocline Depth" , "m" , & ! hmld - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "somxl010", "Mixed Layer Depth 0.01" , "m" , & ! hmlp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "soicecov", "Ice fraction" , "[0,1]" , & ! fr_i - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sowindsp", "wind speed at 10m" , "m/s" , & ! wndm - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#if ! defined key_coupled - CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping" , "W/m2" , & ! qrp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping" , "Kg/m2/s", & ! erp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sosafldp", "Surface salt flux: damping" , "Kg/m2/s", & ! erp * sn - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#endif - - - -#if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 ) - CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping" , "W/m2" , & ! qrp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping" , "Kg/m2/s", & ! erp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sosafldp", "Surface salt flux: Damping" , "Kg/m2/s", & ! erp * sn - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#endif -#if defined key_diaspr - CALL histdef( nid_T, "sosurfps", "Surface Pressure" , "cm" , & ! sp - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#endif - clmx ="l_max(only(x))" ! max index on a period - CALL histdef( nid_T, "sobowlin", "Bowl Index" , "W-point", & ! bowl INDEX - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clmx, zsto, zout ) -#if defined key_diahth - CALL histdef( nid_T, "sothedep", "Thermocline Depth" , "m" , & ! hth - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "so20chgt", "Depth of 20C isotherm" , "m" , & ! hd20 - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "so28chgt", "Depth of 28C isotherm" , "m" , & ! hd28 - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T, "sohtc300", "Heat content 300 m" , "W" , & ! htc3 - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -#endif - -#if defined key_coupled -# if defined key_lim3 - Must be adapted to LIM3 -# else - CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature" , "K" , & ! tn_ice - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( nid_T,"soicealb" , "Ice Albedo" , "[0,1]" , & ! alb_ice - & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) -# endif -#endif - - CALL histend( nid_T ) - - ! !!! nid_U : 3D - CALL histdef( nid_U, "vozocrtx", "Zonal Current" , "m/s" , & ! un - & jpi, jpj, nh_U, ipk, 1, ipk, nz_U, 32, clop, zsto, zout ) -#if defined key_diaeiv - CALL histdef( nid_U, "vozoeivu", "Zonal EIV Current" , "m/s" , & ! u_eiv - & jpi, jpj, nh_U, ipk, 1, ipk, nz_U, 32, clop, zsto, zout ) -#endif - ! !!! nid_U : 2D - CALL histdef( nid_U, "sozotaux", "Wind Stress along i-axis" , "N/m2" , & ! utau - & jpi, jpj, nh_U, 1 , 1, 1 , - 99, 32, clop, zsto, zout ) - - CALL histend( nid_U ) - - ! !!! nid_V : 3D - CALL histdef( nid_V, "vomecrty", "Meridional Current" , "m/s" , & ! vn - & jpi, jpj, nh_V, ipk, 1, ipk, nz_V, 32, clop, zsto, zout ) -#if defined key_diaeiv - CALL histdef( nid_V, "vomeeivv", "Meridional EIV Current" , "m/s" , & ! v_eiv - & jpi, jpj, nh_V, ipk, 1, ipk, nz_V, 32, clop, zsto, zout ) -#endif - ! !!! nid_V : 2D - CALL histdef( nid_V, "sometauy", "Wind Stress along j-axis" , "N/m2" , & ! vtau - & jpi, jpj, nh_V, 1 , 1, 1 , - 99, 32, clop, zsto, zout ) - - CALL histend( nid_V ) - - ! !!! nid_W : 3D - CALL histdef( nid_W, "vovecrtz", "Vertical Velocity" , "m/s" , & ! wn - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) -#if defined key_diaeiv - CALL histdef( nid_W, "voveeivw", "Vertical EIV Velocity" , "m/s" , & ! w_eiv - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) -#endif - CALL histdef( nid_W, "votkeavt", "Vertical Eddy Diffusivity" , "m2/s" , & ! avt - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) - CALL histdef( nid_W, "votkeavm", "Vertical Eddy Viscosity" , "m2/s" , & ! avmu - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) - - IF( lk_zdfddm ) THEN - CALL histdef( nid_W,"voddmavs","Salt Vertical Eddy Diffusivity" , "m2/s" , & ! avs - & jpi, jpj, nh_W, ipk, 1, ipk, nz_W, 32, clop, zsto, zout ) - ENDIF - ! !!! nid_W : 2D -#if defined key_traldf_c2d - CALL histdef( nid_W, "soleahtw", "lateral eddy diffusivity" , "m2/s" , & ! ahtw - & jpi, jpj, nh_W, 1 , 1, 1 , - 99, 32, clop, zsto, zout ) -# if defined key_traldf_eiv - CALL histdef( nid_W, "soleaeiw", "eddy induced vel. coeff. at w-point", "m2/s", & ! aeiw - & jpi, jpj, nh_W, 1 , 1, 1 , - 99, 32, clop, zsto, zout ) -# endif -#endif - - CALL histend( nid_W ) - - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'End of NetCDF Initialization' - IF(ll_print) CALL FLUSH(numout ) - - ENDIF - - ! 2. Start writing data - ! --------------------- - - ! ndex(1) est utilise ssi l'avant dernier argument est diffferent de - ! la taille du tableau en sortie. Dans ce cas , l'avant dernier argument - ! donne le nombre d'elements, et ndex la liste des indices a sortir - - IF( lwp .AND. MOD( itmod, nwrite ) == 0 ) THEN - WRITE(numout,*) 'dia_wri : write model outputs in NetCDF files at ', kt, 'time-step' - WRITE(numout,*) '~~~~~~ ' - ENDIF - - ! Write fields on T grid - CALL histwrite( nid_T, "votemper", it, tn , ndim_T , ndex_T ) ! temperature - CALL histwrite( nid_T, "vosaline", it, sn , ndim_T , ndex_T ) ! salinity - CALL histwrite( nid_T, "sosstsst", it, tn(:,:,1) , ndim_hT, ndex_hT ) ! sea surface temperature - CALL histwrite( nid_T, "sosaline", it, sn(:,:,1) , ndim_hT, ndex_hT ) ! sea surface salinity - CALL histwrite( nid_T, "sossheig", it, sshn , ndim_hT, ndex_hT ) ! sea surface height -!!$#if defined key_lim3 || defined key_lim2 -!!$ CALL histwrite( nid_T, "iowaflup", it, fsalt(:,:) , ndim_hT, ndex_hT ) ! ice=>ocean water flux -!!$ CALL histwrite( nid_T, "sowaflep", it, fmass(:,:) , ndim_hT, ndex_hT ) ! atmos=>ocean water flux -!!$#endif - CALL histwrite( nid_T, "sowaflup", it, emp , ndim_hT, ndex_hT ) ! upward water flux -!!$ CALL histwrite( nid_T, "sorunoff", it, runoff , ndim_hT, ndex_hT ) ! runoff - CALL histwrite( nid_T, "sowaflcd", it, emps , ndim_hT, ndex_hT ) ! c/d water flux - zw2d(:,:) = emps(:,:) * sn(:,:,1) * tmask(:,:,1) - CALL histwrite( nid_T, "sosalflx", it, zw2d , ndim_hT, ndex_hT ) ! c/d salt flux - CALL histwrite( nid_T, "sohefldo", it, qns + qsr , ndim_hT, ndex_hT ) ! total heat flux - CALL histwrite( nid_T, "soshfldo", it, qsr , ndim_hT, ndex_hT ) ! solar heat flux - CALL histwrite( nid_T, "somixhgt", it, hmld , ndim_hT, ndex_hT ) ! turbocline depth - CALL histwrite( nid_T, "somxl010", it, hmlp , ndim_hT, ndex_hT ) ! mixed layer depth - CALL histwrite( nid_T, "soicecov", it, fr_i , ndim_hT, ndex_hT ) ! ice fraction - CALL histwrite( nid_T, "sowindsp", it, wndm , ndim_hT, ndex_hT ) ! wind speed -#if ! defined key_coupled - CALL histwrite( nid_T, "sohefldp", it, qrp , ndim_hT, ndex_hT ) ! heat flux damping - CALL histwrite( nid_T, "sowafldp", it, erp , ndim_hT, ndex_hT ) ! freshwater flux damping - zw2d(:,:) = erp(:,:) * sn(:,:,1) * tmask(:,:,1) - CALL histwrite( nid_T, "sosafldp", it, zw2d , ndim_hT, ndex_hT ) ! salt flux damping -#endif -#if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 ) - CALL histwrite( nid_T, "sohefldp", it, qrp , ndim_hT, ndex_hT ) ! heat flux damping - CALL histwrite( nid_T, "sowafldp", it, erp , ndim_hT, ndex_hT ) ! freshwater flux damping - zw2d(:,:) = erp(:,:) * sn(:,:,1) * tmask(:,:,1) - CALL histwrite( nid_T, "sosafldp", it, zw2d , ndim_hT, ndex_hT ) ! salt flux damping -#endif -#if defined key_diaspr - CALL histwrite( nid_T, "sosurfps", it, gps , ndim_hT, ndex_hT ) ! surface pressure -#endif - zw2d(:,:) = FLOAT( nmln(:,:) ) * tmask(:,:,1) - CALL histwrite( nid_T, "sobowlin", it, zw2d , ndim_hT, ndex_hT ) ! ??? - -#if defined key_diahth - CALL histwrite( nid_T, "sothedep", it, hth , ndim_hT, ndex_hT ) ! depth of the thermocline - CALL histwrite( nid_T, "so20chgt", it, hd20 , ndim_hT, ndex_hT ) ! depth of the 20 isotherm - CALL histwrite( nid_T, "so28chgt", it, hd28 , ndim_hT, ndex_hT ) ! depth of the 28 isotherm - CALL histwrite( nid_T, "sohtc300", it, htc3 , ndim_hT, ndex_hT ) ! first 300m heaat content -#endif - -#if defined key_coupled -# if defined key_lim3 - Must be adapted for LIM3 - CALL histwrite( nid_T, "soicetem", it, tn_ice , ndim_hT, ndex_hT ) ! surf. ice temperature - CALL histwrite( nid_T, "soicealb", it, alb_ice , ndim_hT, ndex_hT ) ! ice albedo -# else - CALL histwrite( nid_T, "soicetem", it, tn_ice(:,:,1) , ndim_hT, ndex_hT ) ! surf. ice temperature - CALL histwrite( nid_T, "soicealb", it, alb_ice(:,:,1), ndim_hT, ndex_hT ) ! ice albedo -# endif -#endif - ! Write fields on U grid - CALL histwrite( nid_U, "vozocrtx", it, un , ndim_U , ndex_U ) ! i-current -#if defined key_diaeiv - CALL histwrite( nid_U, "vozoeivu", it, u_eiv , ndim_U , ndex_U ) ! i-eiv current -#endif - CALL histwrite( nid_U, "sozotaux", it, utau , ndim_hU, ndex_hU ) ! i-wind stress - - ! Write fields on V grid - CALL histwrite( nid_V, "vomecrty", it, vn , ndim_V , ndex_V ) ! j-current -#if defined key_diaeiv - CALL histwrite( nid_V, "vomeeivv", it, v_eiv , ndim_V , ndex_V ) ! j-eiv current -#endif - CALL histwrite( nid_V, "sometauy", it, vtau , ndim_hV, ndex_hV ) ! j-wind stress - - ! Write fields on W grid - CALL histwrite( nid_W, "vovecrtz", it, wn , ndim_T, ndex_T ) ! vert. current -# if defined key_diaeiv - CALL histwrite( nid_W, "voveeivw", it, w_eiv , ndim_T, ndex_T ) ! vert. eiv current -# endif - CALL histwrite( nid_W, "votkeavt", it, avt , ndim_T, ndex_T ) ! T vert. eddy diff. coef. - CALL histwrite( nid_W, "votkeavm", it, avmu , ndim_T, ndex_T ) ! T vert. eddy visc. coef. - IF( lk_zdfddm ) THEN - CALL histwrite( nid_W, "voddmavs", it, fsavs(:,:,:), ndim_T, ndex_T ) ! S vert. eddy diff. coef. - ENDIF -#if defined key_traldf_c2d - CALL histwrite( nid_W, "soleahtw", it, ahtw , ndim_hT, ndex_hT ) ! lateral eddy diff. coef. -# if defined key_traldf_eiv - CALL histwrite( nid_W, "soleaeiw", it, aeiw , ndim_hT, ndex_hT ) ! EIV coefficient at w-point -# endif -#endif - - ! 3. Close all files - ! --------------------------------------- - IF( kt == nitend ) THEN - CALL histclo( nid_T ) - CALL histclo( nid_U ) - CALL histclo( nid_V ) - CALL histclo( nid_W ) - ENDIF - - END SUBROUTINE dia_wri -# endif - -#endif - - SUBROUTINE dia_wri_state( cdfile_name, kt ) - !!--------------------------------------------------------------------- - !! *** ROUTINE dia_wri_state *** - !! - !! ** Purpose : create a NetCDF file named cdfile_name which contains - !! the instantaneous ocean state and forcing fields. - !! Used to find errors in the initial state or save the last - !! ocean state in case of abnormal end of a simulation - !! - !! ** Method : NetCDF files using ioipsl - !! File 'output.init.nc' is created if ninist = 1 (namelist) - !! File 'output.abort.nc' is created in case of abnormal job end - !! - !! History : - !! 8.2 ! 00-06 (M. Imbard) Original code (diabort.F) - !! 8.5 ! 02-06 (A.Bozec, E. Durand) Original code (diainit.F) - !! 9.0 ! 02-12 (G. Madec) merge of diabort and diainit, F90 - !! " ! 05-11 (V. Garnier) Surface pressure gradient organization - !!---------------------------------------------------------------------- - !! * Arguments - CHARACTER (len=* ), INTENT( in ) :: cdfile_name ! name of the file created - INTEGER , INTENT( in ) :: kt ! ocean time-step index - - !! * Local declarations - CHARACTER (len=32) :: clname - CHARACTER (len=40) :: clop - INTEGER :: & - id_i , nz_i, nh_i - INTEGER, DIMENSION(1) :: & - idex ! temprary workspace - REAL(wp) :: & - zsto, zout, zmax, & - zjulian, zdt - !!---------------------------------------------------------------------- - - ! 0. Initialisation - ! ----------------- - - ! Define name, frequency of output and means - clname = cdfile_name - IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) - zdt = rdt - zsto = rdt - clop = "inst(x)" ! no use of the mask value (require less cpu time) - zout = rdt - zmax = ( nitend - nit000 + 1 ) * zdt - - IF(lwp) WRITE(numout,*) - IF(lwp) WRITE(numout,*) 'dia_wri_state : single instantaneous ocean state' - IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~ and forcing fields file created ' - IF(lwp) WRITE(numout,*) ' and named :', clname, '.nc' - - - ! 1. Define NETCDF files and fields at beginning of first time step - ! ----------------------------------------------------------------- - - ! Compute julian date from starting date of the run - CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) ! time axis - zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment - CALL histbeg( clname, jpi, glamt, jpj, gphit, & - 1, jpi, 1, jpj, nit000-1, zjulian, zdt, nh_i, id_i, domain_id=nidom ) ! Horizontal grid : glamt and gphit - CALL histvert( id_i, "deptht", "Vertical T levels", & ! Vertical grid : gdept - "m", jpk, gdept_0, nz_i, "down") - - ! Declare all the output fields as NetCDF variables - - CALL histdef( id_i, "vosaline", "Salinity" , "PSU" , & ! salinity - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "votemper", "Temperature" , "C" , & ! temperature - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "sossheig", "Sea Surface Height" , "m" , & ! ssh - & jpi, jpj, nh_i, 1 , 1, 1 , nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "vozocrtx", "Zonal Current" , "m/s" , & ! zonal current - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "vomecrty", "Meridional Current" , "m/s" , & ! meridonal current - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "vovecrtz", "Vertical Velocity" , "m/s" , & ! vertical current - & jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) - CALL histdef( id_i, "sowaflup", "Net Upward Water Flux" , "Kg/m2/S", & ! net freshwater - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "sohefldo", "Net Downward Heat Flux", "W/m2" , & ! net heat flux - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "soshfldo", "Shortwave Radiation" , "W/m2" , & ! solar flux - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "soicecov", "Ice fraction" , "[0,1]" , & ! fr_i - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "sozotaux", "Zonal Wind Stress" , "N/m2" , & ! i-wind stress - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - CALL histdef( id_i, "sometauy", "Meridional Wind Stress", "N/m2" , & ! j-wind stress - & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) - -#if defined key_lim2 - CALL lim_wri_state_2( kt, id_i, nh_i ) -#else - CALL histend( id_i ) -#endif - - ! 2. Start writing data - ! --------------------- - ! idex(1) est utilise ssi l'avant dernier argument est diffferent de - ! la taille du tableau en sortie. Dans ce cas , l'avant dernier argument - ! donne le nombre d'elements, et idex la liste des indices a sortir - idex(1) = 1 ! init to avoid compil warning - - ! Write all fields on T grid - CALL histwrite( id_i, "votemper", kt, tn , jpi*jpj*jpk, idex ) ! now temperature - CALL histwrite( id_i, "vosaline", kt, sn , jpi*jpj*jpk, idex ) ! now salinity - CALL histwrite( id_i, "sossheig", kt, sshn , jpi*jpj , idex ) ! sea surface height - CALL histwrite( id_i, "vozocrtx", kt, un , jpi*jpj*jpk, idex ) ! now i-velocity - CALL histwrite( id_i, "vomecrty", kt, vn , jpi*jpj*jpk, idex ) ! now j-velocity - CALL histwrite( id_i, "vovecrtz", kt, wn , jpi*jpj*jpk, idex ) ! now k-velocity - CALL histwrite( id_i, "sowaflup", kt, emp , jpi*jpj , idex ) ! freshwater budget - CALL histwrite( id_i, "sohefldo", kt, qsr + qns, jpi*jpj , idex ) ! total heat flux - CALL histwrite( id_i, "soshfldo", kt, qsr , jpi*jpj , idex ) ! solar heat flux - CALL histwrite( id_i, "soicecov", kt, fr_i , jpi*jpj , idex ) ! ice fraction - CALL histwrite( id_i, "sozotaux", kt, utau , jpi*jpj , idex ) ! i-wind stress - CALL histwrite( id_i, "sometauy", kt, vtau , jpi*jpj , idex ) ! j-wind stress - - ! 3. Close the file - ! ----------------- - CALL histclo( id_i ) -#if ! defined key_iomput && ! defined key_dimgout - IF( ninist /= 1 ) THEN - CALL histclo( nid_T ) - CALL histclo( nid_U ) - CALL histclo( nid_V ) - CALL histclo( nid_W ) - ENDIF -#endif - - END SUBROUTINE dia_wri_state - !!====================================================================== -END MODULE diawri diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90 b/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90 deleted file mode 100644 index dbb0e25d9ae926b889a20762fb2a1e37181ee7a7..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90 +++ /dev/null @@ -1,230 +0,0 @@ -MODULE par_oce - !!====================================================================== - !! *** par_oce *** - !! Ocean : set the ocean parameters - !!====================================================================== - !! History : - !! 4.0 ! 91 (Imbard, Levy, Madec) Original code - !! 9.0 ! 04-01 (G. Madec, J.-M. Molines) Free form and module - !! " ! 05-11 (V. Garnier) Surface pressure gradient organization - !!---------------------------------------------------------------------- - !! OPA 9.0 , LOCEAN-IPSL (2005) - !! $Id: par_oce.F90 1647 2009-10-07 15:15:07Z rblod $ - !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt - !!---------------------------------------------------------------------- - !! * Modules used - USE par_kind ! kind parameters - - IMPLICIT NONE - PUBLIC - - !!---------------------------------------------------------------------- - !! Domain decomposition - !!---------------------------------------------------------------------- - !! * if we dont use massively parallel computer (parameters jpni=jpnj=1) - !! so jpiglo=jpi and jpjglo=jpj - -#if ! defined key_mpp_dyndist - INTEGER, PUBLIC, PARAMETER :: & !: - jpni = 6, & !: number of processors following i - jpnj = 6, & !: number of processors following j - jpnij = 36 !: nb of local domain = nb of processors - ! ! ( <= jpni x jpnj ) -#else - INTEGER, PUBLIC :: & ! - jpni , & !: number of processors following i - jpnj , & !: number of processors following j - jpnij !: nb of local domain = nb of processors - ! ! ( <= jpni x jpnj ) -#endif - - INTEGER, PUBLIC, PARAMETER :: & !: - jpr2di = 0, & !: number of columns for extra outer halo - jpr2dj = 0, & !: number of rows for extra outer halo - jpreci = 1, & !: number of columns for overlap - jprecj = 1 !: number of rows for overlap - - !! Ocean Domain sizes - !! ------------------ - !! data domain (jpidta,jpjdta) - !! global or zoom domain (jpiglo,jpjglo) - !! local domain ( jpi , jpj ) - -#if defined key_orca_r4 - !!--------------------------------------------------------------------- - !! 'key_orca_r4' : global ocean : ORCA R4 - !!--------------------------------------------------------------------- -# include "par_ORCA_R4.h90" -#elif defined key_orca_r2 - !!--------------------------------------------------------------------- - !! 'key_orca_r2' : global ocean : ORCA R2 - !!--------------------------------------------------------------------- -# include "par_ORCA_R2.h90" -#elif defined key_orca_r1 - !!--------------------------------------------------------------------- - !! 'key_orca_r1' : global ocean : ORCA R1 - !!--------------------------------------------------------------------- -# include "par_ORCA_R1.h90" -#elif defined key_orca_r05 - !!--------------------------------------------------------------------- - !! 'key_orca_r05' : global ocean : ORCA R05 - !!--------------------------------------------------------------------- -# include "par_ORCA_R05.h90" -#elif defined key_orca_r025 - !!--------------------------------------------------------------------- - !! 'key_orca_r025' : global ocean : ORCA R025 - !!--------------------------------------------------------------------- -# include "par_ORCA_R025.h90" -#elif defined key_eel_r2 - !!--------------------------------------------------------------------- - !! 'key_eel_r2' : channel : EEL R2 - !!--------------------------------------------------------------------- -# include "par_EEL_R2.h90" -#elif defined key_eel_r5 - !!--------------------------------------------------------------------- - !! 'key_eel_r5' : channel : EEL R5 - !!--------------------------------------------------------------------- -# include "par_EEL_R5.h90" -#elif defined key_eel_r6 - !!--------------------------------------------------------------------- - !! 'key_eel_r6' : channel : EEL R6 - !!--------------------------------------------------------------------- -# include "par_EEL_R6.h90" -#elif defined key_gyre - !!--------------------------------------------------------------------- - !! 'key_gyre' : mid-latitude basin : GYRE - !!--------------------------------------------------------------------- -# include "par_GYRE.h90" -#elif defined key_pomme_r025 - !!--------------------------------------------------------------------- - !! 'key_pomme_r025': regional basin : POMME025 - !!--------------------------------------------------------------------- -# include "par_POMME_R025.h90" -#else - !!--------------------------------------------------------------------- - !! default option : small closed basin - !!--------------------------------------------------------------------- - CHARACTER(len=16), PUBLIC, PARAMETER :: & !: - cp_cfg = "default" !: name of the configuration - INTEGER, PARAMETER :: & !: - jp_cfg = 0 , & !: resolution of the configuration - - ! data size !!! * size of all input files * - jpidta = 10, & !: 1st lateral dimension ( >= jpi ) - jpjdta = 12, & !: 2nd " " ( >= jpj ) - jpkdta = 31, & !: number of levels ( >= jpk ) - - ! global or zoom domain size !!! * computational domain * - jpiglo = jpidta, & !: 1st dimension of global domain --> i - jpjglo = jpjdta, & !: 2nd " " --> j - jpk = jpkdta, & !: number of vertical levels - ! zoom starting position - jpizoom = 1 , & !: left bottom (i,j) indices of the zoom - jpjzoom = 1 , & !: in data domain indices - - ! Domain characteristics - jperio = 0 !: lateral cond. type (between 0 and 6) - ! ! = 0 closed - ! ! = 1 cyclic East-West - ! ! = 2 equatorial symmetric - ! ! = 3 North fold T-point pivot - ! ! = 4 cyclic East-West AND North fold T-point pivot - ! ! = 5 North fold F-point pivot - ! ! = 6 cyclic East-West AND North fold F-point pivot - - !! Values set to pp_not_used indicates that this parameter is not used in THIS config. - !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr - REAL(wp), PARAMETER :: & !: - pp_not_used = 999999._wp , & !: - pp_to_be_computed = 999999._wp !: - - - !! Horizontal grid parameters for domhgr - !! ===================================== - - INTEGER, PUBLIC, PARAMETER :: & !: - jphgr_msh = 0 !: type of horizontal mesh - ! ! = 0 curvilinear coordinate on the sphere - ! ! read in coordinate.nc file - ! ! = 1 geographical mesh on the sphere - ! ! with regular grid-spacing - ! ! = 2 f-plane with regular grid-spacing - ! ! = 3 beta-plane with regular grid-spacing - ! ! = 4 Mercator grid with T/U point at the equator with - ! ! isotropic resolution (e1_deg) - - REAL(wp) , PUBLIC, PARAMETER :: & !: - ppglam0 = 0.0_wp, & !: longitude of first raw and column T-point (jphgr_msh = 1) - ppgphi0 = -35.0_wp, & !: latitude of first raw and column T-point (jphgr_msh = 1) - ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) - ppe1_deg = 1.0_wp, & !: zonal grid-spacing (degrees) - ppe2_deg = 0.5_wp, & !: meridional grid-spacing (degrees) - ppe1_m = 5000.0_wp, & !: zonal grid-spacing (degrees) - ppe2_m = 5000.0_wp !: meridional grid-spacing (degrees) - - !! Vertical grid parameter for domzgr - !! ================================== - - REAL(wp), PUBLIC, PARAMETER :: & !: - & ppsur = -4762.96143546300_wp , & !: ORCA r4, r2 and r05 coefficients - & ppa0 = 255.58049070440_wp , & !: (default coefficients) - & ppa1 = 245.58132232490_wp , & !: - & ppkth = 21.43336197938_wp , & !: - & ppacr = 3.00000000000_wp !: - - !! If both ppa0 ppa1 and ppsur are specified to 0, then - !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr - - REAL(wp), PUBLIC, PARAMETER :: & !: - & ppdzmin = 10._wp , & !: Minimum vertical spacing - & pphmax = 5000._wp !: Maximum depth - - !!--------------------------------------------------------------------- -#endif - - !!--------------------------------------------------------------------- - !! Domain Matrix size - !!--------------------------------------------------------------------- - INTEGER & !: -#if !defined key_agrif - ,PARAMETER & -#endif - :: & - jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci , & !: first dimension - jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj , & !: second dimension - jpim1 = jpi-1, & !: inner domain indices - jpjm1 = jpj-1, & !: " " - jpkm1 = jpk-1, & !: " " - jpij = jpi*jpj !: jpi x jpj - -#if defined key_agrif - !!--------------------------------------------------------------------- - !! Agrif variables - !!--------------------------------------------------------------------- - INTEGER, PUBLIC, PARAMETER :: nbghostcells = 1 - INTEGER, PUBLIC :: nbcellsx = jpiglo - 2 - 2*nbghostcells - INTEGER, PUBLIC :: nbcellsy = jpjglo - 2 - 2*nbghostcells -#endif - !!--------------------------------------------------------------------- - !! Optimization/control flags - !!--------------------------------------------------------------------- -#if defined key_esopa - LOGICAL, PUBLIC, PARAMETER :: lk_esopa = .TRUE. !: flag to activate the all options -#else - LOGICAL, PUBLIC, PARAMETER :: lk_esopa = .FALSE. !: flag to activate the all options -#endif - -#if defined key_vectopt_memory - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_mem = .TRUE. !: vector optimization flag -#else - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_mem = .FALSE. !: vector optimization flag -#endif - -#if defined key_vectopt_loop - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_loop = .TRUE. !: vector optimization flag -#else - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_loop = .FALSE. !: vector optimization flag -#endif - - !!====================================================================== -END MODULE par_oce diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90.orig b/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90.orig deleted file mode 100644 index ca02de333bf741a70598debd54cb69a6fbf02f8a..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90.orig +++ /dev/null @@ -1,225 +0,0 @@ -MODULE par_oce - !!====================================================================== - !! *** par_oce *** - !! Ocean : set the ocean parameters - !!====================================================================== - !! History : - !! 4.0 ! 91 (Imbard, Levy, Madec) Original code - !! 9.0 ! 04-01 (G. Madec, J.-M. Molines) Free form and module - !! " ! 05-11 (V. Garnier) Surface pressure gradient organization - !!---------------------------------------------------------------------- - !! OPA 9.0 , LOCEAN-IPSL (2005) - !! $Id: par_oce.F90 1647 2009-10-07 15:15:07Z rblod $ - !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt - !!---------------------------------------------------------------------- - !! * Modules used - USE par_kind ! kind parameters - - IMPLICIT NONE - PUBLIC - - !!---------------------------------------------------------------------- - !! Domain decomposition - !!---------------------------------------------------------------------- - !! * if we dont use massively parallel computer (parameters jpni=jpnj=1) - !! so jpiglo=jpi and jpjglo=jpj - -#if ! defined key_mpp_dyndist - INTEGER, PUBLIC, PARAMETER :: & !: - jpni = ABC, & !: number of processors following i - jpnj = DEF, & !: number of processors following j - jpnij = GEH !: nb of local domain = nb of processors - ! ! ( <= jpni x jpnj ) -#else - INTEGER, PUBLIC :: & ! - jpni , & !: number of processors following i - jpnj , & !: number of processors following j - jpnij !: nb of local domain = nb of processors - ! ! ( <= jpni x jpnj ) -#endif - - INTEGER, PUBLIC, PARAMETER :: & !: - jpr2di = 0, & !: number of columns for extra outer halo - jpr2dj = 0, & !: number of rows for extra outer halo - jpreci = 1, & !: number of columns for overlap - jprecj = 1 !: number of rows for overlap - - !! Ocean Domain sizes - !! ------------------ - !! data domain (jpidta,jpjdta) - !! global or zoom domain (jpiglo,jpjglo) - !! local domain ( jpi , jpj ) - -#if defined key_orca_r4 - !!--------------------------------------------------------------------- - !! 'key_orca_r4' : global ocean : ORCA R4 - !!--------------------------------------------------------------------- -# include "par_ORCA_R4.h90" -#elif defined key_orca_r2 - !!--------------------------------------------------------------------- - !! 'key_orca_r2' : global ocean : ORCA R4 - !!--------------------------------------------------------------------- -# include "par_ORCA_R2.h90" -#elif defined key_orca_r05 - !!--------------------------------------------------------------------- - !! 'key_orca_r05' : global ocean : ORCA R05 - !!--------------------------------------------------------------------- -# include "par_ORCA_R05.h90" -#elif defined key_orca_r025 - !!--------------------------------------------------------------------- - !! 'key_orca_r025' : global ocean : ORCA R025 - !!--------------------------------------------------------------------- -# include "par_ORCA_R025.h90" -#elif defined key_eel_r2 - !!--------------------------------------------------------------------- - !! 'key_eel_r2' : channel : EEL R2 - !!--------------------------------------------------------------------- -# include "par_EEL_R2.h90" -#elif defined key_eel_r5 - !!--------------------------------------------------------------------- - !! 'key_eel_r5' : channel : EEL R5 - !!--------------------------------------------------------------------- -# include "par_EEL_R5.h90" -#elif defined key_eel_r6 - !!--------------------------------------------------------------------- - !! 'key_eel_r6' : channel : EEL R6 - !!--------------------------------------------------------------------- -# include "par_EEL_R6.h90" -#elif defined key_gyre - !!--------------------------------------------------------------------- - !! 'key_gyre' : mid-latitude basin : GYRE - !!--------------------------------------------------------------------- -# include "par_GYRE.h90" -#elif defined key_pomme_r025 - !!--------------------------------------------------------------------- - !! 'key_pomme_r025': regional basin : POMME025 - !!--------------------------------------------------------------------- -# include "par_POMME_R025.h90" -#else - !!--------------------------------------------------------------------- - !! default option : small closed basin - !!--------------------------------------------------------------------- - CHARACTER(len=16), PUBLIC, PARAMETER :: & !: - cp_cfg = "default" !: name of the configuration - INTEGER, PARAMETER :: & !: - jp_cfg = 0 , & !: resolution of the configuration - - ! data size !!! * size of all input files * - jpidta = 10, & !: 1st lateral dimension ( >= jpi ) - jpjdta = 12, & !: 2nd " " ( >= jpj ) - jpkdta = 31, & !: number of levels ( >= jpk ) - - ! global or zoom domain size !!! * computational domain * - jpiglo = jpidta, & !: 1st dimension of global domain --> i - jpjglo = jpjdta, & !: 2nd " " --> j - jpk = jpkdta, & !: number of vertical levels - ! zoom starting position - jpizoom = 1 , & !: left bottom (i,j) indices of the zoom - jpjzoom = 1 , & !: in data domain indices - - ! Domain characteristics - jperio = 0 !: lateral cond. type (between 0 and 6) - ! ! = 0 closed - ! ! = 1 cyclic East-West - ! ! = 2 equatorial symmetric - ! ! = 3 North fold T-point pivot - ! ! = 4 cyclic East-West AND North fold T-point pivot - ! ! = 5 North fold F-point pivot - ! ! = 6 cyclic East-West AND North fold F-point pivot - - !! Values set to pp_not_used indicates that this parameter is not used in THIS config. - !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr - REAL(wp), PARAMETER :: & !: - pp_not_used = 999999._wp , & !: - pp_to_be_computed = 999999._wp !: - - - !! Horizontal grid parameters for domhgr - !! ===================================== - - INTEGER, PUBLIC, PARAMETER :: & !: - jphgr_msh = 0 !: type of horizontal mesh - ! ! = 0 curvilinear coordinate on the sphere - ! ! read in coordinate.nc file - ! ! = 1 geographical mesh on the sphere - ! ! with regular grid-spacing - ! ! = 2 f-plane with regular grid-spacing - ! ! = 3 beta-plane with regular grid-spacing - ! ! = 4 Mercator grid with T/U point at the equator with - ! ! isotropic resolution (e1_deg) - - REAL(wp) , PUBLIC, PARAMETER :: & !: - ppglam0 = 0.0_wp, & !: longitude of first raw and column T-point (jphgr_msh = 1) - ppgphi0 = -35.0_wp, & !: latitude of first raw and column T-point (jphgr_msh = 1) - ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) - ppe1_deg = 1.0_wp, & !: zonal grid-spacing (degrees) - ppe2_deg = 0.5_wp, & !: meridional grid-spacing (degrees) - ppe1_m = 5000.0_wp, & !: zonal grid-spacing (degrees) - ppe2_m = 5000.0_wp !: meridional grid-spacing (degrees) - - !! Vertical grid parameter for domzgr - !! ================================== - - REAL(wp), PUBLIC, PARAMETER :: & !: - & ppsur = -4762.96143546300_wp , & !: ORCA r4, r2 and r05 coefficients - & ppa0 = 255.58049070440_wp , & !: (default coefficients) - & ppa1 = 245.58132232490_wp , & !: - & ppkth = 21.43336197938_wp , & !: - & ppacr = 3.00000000000_wp !: - - !! If both ppa0 ppa1 and ppsur are specified to 0, then - !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr - - REAL(wp), PUBLIC, PARAMETER :: & !: - & ppdzmin = 10._wp , & !: Minimum vertical spacing - & pphmax = 5000._wp !: Maximum depth - - !!--------------------------------------------------------------------- -#endif - - !!--------------------------------------------------------------------- - !! Domain Matrix size - !!--------------------------------------------------------------------- - INTEGER & !: -#if !defined key_agrif - ,PARAMETER & -#endif - :: & - jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci , & !: first dimension - jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj , & !: second dimension - jpim1 = jpi-1, & !: inner domain indices - jpjm1 = jpj-1, & !: " " - jpkm1 = jpk-1, & !: " " - jpij = jpi*jpj !: jpi x jpj - -#if defined key_agrif - !!--------------------------------------------------------------------- - !! Agrif variables - !!--------------------------------------------------------------------- - INTEGER, PUBLIC, PARAMETER :: nbghostcells = 1 - INTEGER, PUBLIC :: nbcellsx = jpiglo - 2 - 2*nbghostcells - INTEGER, PUBLIC :: nbcellsy = jpjglo - 2 - 2*nbghostcells -#endif - !!--------------------------------------------------------------------- - !! Optimization/control flags - !!--------------------------------------------------------------------- -#if defined key_esopa - LOGICAL, PUBLIC, PARAMETER :: lk_esopa = .TRUE. !: flag to activate the all options -#else - LOGICAL, PUBLIC, PARAMETER :: lk_esopa = .FALSE. !: flag to activate the all options -#endif - -#if defined key_vectopt_memory - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_mem = .TRUE. !: vector optimization flag -#else - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_mem = .FALSE. !: vector optimization flag -#endif - -#if defined key_vectopt_loop - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_loop = .TRUE. !: vector optimization flag -#else - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_loop = .FALSE. !: vector optimization flag -#endif - - !!====================================================================== -END MODULE par_oce diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/util/AA_make.gdef b/deploy/patches/hector/nemo/v3.2/modipsl/util/AA_make.gdef deleted file mode 100644 index 0fb268d040892f68aaa76d76a9794bc501eff00c..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/util/AA_make.gdef +++ /dev/null @@ -1,926 +0,0 @@ -#- -#- $Id: AA_make.gdef 1031 2010-05-21 09:25:35Z mafoipsl $ -#- -#- Validate the correlation between the target and the environment -#- -UTIL_DIR = '??' -WW_h_t = $(shell cat $(UTIL_DIR)/.host_target) -WW_h_w = $(shell $(UTIL_DIR)/w_i_h) -WW_t_e = $(shell $(UTIL_DIR)/w_i_e $(WW_h_t) $(WW_h_w)) -ifeq "$(WW_t_e)" "NO" - $(error ) -endif -#- -#-Q- Darwin #- Global definitions for Mac OSX, gfortran -#-Q- Darwin M_K = make -#-Q- Darwin P_C = cpp -#-Q- Darwin P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- Darwin F_C = gfortran -c -#-Q- Darwin #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan -#-Q- Darwin #-D- MN F_D = -#-Q- Darwin #-P- I4R4 F_P = -#-Q- Darwin #-P- I4R8 F_P = -fdefault-real-8 -#-Q- Darwin #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- Darwin w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- Darwin F_O = $(w_w) -J$(MODDIR) -#-Q- Darwin F_L = gfortran -#-Q- Darwin M_M = 0 -#-Q- Darwin L_X = 0 -#-Q- Darwin L_O = -#-Q- Darwin A_C = ar -rs -#-Q- Darwin A_G = ar -x -#-Q- Darwin C_C = cc -c -#-Q- Darwin C_O = -#-Q- Darwin C_L = cc -#-Q- Darwin #- -#-Q- Darwin NCDF_INC = /usr/install/include -#-Q- Darwin NCDF_LIB = -L/usr/install/lib -lnetcdf -#-Q- Darwin #- -#-Q- Darwin_g95 #- Global definitions for Mac OSX, g95 -#-Q- Darwin_g95 M_K = make -#-Q- Darwin_g95 P_C = cpp -#-Q- Darwin_g95 P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- Darwin_g95 F_C = g95 -c -#-Q- Darwin_g95 #-D- MD F_D = -g -Wall -fbounds-check -#-Q- Darwin_g95 #-D- MN F_D = -#-Q- Darwin_g95 #-P- I4R4 F_P = -i4 -#-Q- Darwin_g95 #-P- I4R8 F_P = -i4 -r8 -#-Q- Darwin_g95 #-P- I8R8 F_P = -i8 -r8 -#-Q- Darwin_g95 w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- Darwin_g95 F_O = $(w_w) -fmod=$(MODDIR) -#-Q- Darwin_g95 F_L = g95 -#-Q- Darwin_g95 M_M = 0 -#-Q- Darwin_g95 L_X = 0 -#-Q- Darwin_g95 L_O = -#-Q- Darwin_g95 A_C = ar -rs -#-Q- Darwin_g95 A_G = ar -x -#-Q- Darwin_g95 C_C = cc -c -#-Q- Darwin_g95 C_O = -#-Q- Darwin_g95 C_L = cc -#-Q- Darwin_g95 #- -#-Q- Darwin_g95 NCDF_INC = /usr/install/include -#-Q- Darwin_g95 NCDF_LIB = -L/usr/install/lib -lnetcdf -#-Q- Darwin_g95 #- -#-Q- aix #- Global definitions for IBM AIX (MPP) -#-Q- aix LIB_MPI = MPI1 -#-Q- aix LIB_MPI_BIS = MPI1 -#-Q- aix PRISM_ARCH = AIX -#-Q- aix PRISM_NAME = zahir -#-Q- aix FCM_ARCH = AIX_ZAHIR -#-Q- aix M_K = gmake -#-Q- aix P_C = /usr/lib/cpp -#-Q- aix P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- aix F_C = mpxlf90_r -c -#-Q- aix #-D- MD F_D = -#-Q- aix #-D- MN F_D = -#-Q- aix #-P- I4R4 F_P = -qrealsize=4 -#-Q- aix #-P- I4R8 F_P = -qrealsize=8 -#-Q- aix #-P- I8R8 F_P = -#-Q- aix w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- aix F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- aix F_L = mpxlf90_r -#-Q- aix M_M = 0 -#-Q- aix L_X = 0 -#-Q- aix L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- aix A_C = ar -rs -X64 -#-Q- aix A_G = ar -x -X64 -#-Q- aix C_C = cc -c -#-Q- aix C_O = -O -#-Q- aix C_L = cc -#-Q- aix #- -#-Q- aix NCDF_INC = /usr/local/pub/include -#-Q- aix NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- aix #- -#-Q- aix6 #- Global definitions for IBM AIX Power6 (MPP) -#-Q- aix6 LIB_MPI = MPI1 -#-Q- aix6 LIB_MPI_BIS = MPI1 -#-Q- aix6 PRISM_ARCH = AIX6 -#-Q- aix6 PRISM_NAME = vargas -#-Q- aix6 FCM_ARCH = PW6_VARGAS -#-Q- aix6 M_K = gmake -#-Q- aix6 P_C = /usr/bin/cpp -#-Q- aix6 P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- aix6 F_C = mpif90 -c -g -#-Q- aix6 #-D- MD F_D = -#-Q- aix6 #-D- MN F_D = -#-Q- aix6 #-P- I4R4 F_P = -qrealsize=4 -#-Q- aix6 #-P- I4R8 F_P = -qrealsize=8 -#-Q- aix6 #-P- I8R8 F_P = -#-Q- aix6 #w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- aix6 w_w = $(F_P) -O3 -q64 -qsuffix=f=f90 -qarch=ppc970 -qtune=ppc970 -qfree=f90 -#-Q- aix6 F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- aix6 F_L = mpif90 -#-Q- aix6 M_M = 0 -#-Q- aix6 L_X = 0 -#-Q- aix6 L_O = $(F_P) -O3 -q64 -#-Q- aix6 A_C = ar -rs -#-Q- aix6 A_G = ar -x -#-Q- aix6 C_C = cc -c -#-Q- aix6 C_O = -O -#-Q- aix6 C_L = cc -#-Q- aix6 #- -#-Q- aix6 NCDF_INC = /gpfs/apps/NETCDF/3.6.2/64/include -#-Q- aix6 NCDF_LIB = -L/gpfs/apps/NETCDF/3.6.2/64/lib -lnetcdf -#-Q- aix6 #- -#-Q- ax_mono #- Global definitions for IBM AIX (monoprocessing) -#-Q- ax_mono M_K = gmake -#-Q- ax_mono P_C = /usr/lib/cpp -#-Q- ax_mono P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- ax_mono F_C = xlf90_r -c -#-Q- ax_mono #-D- MD F_D = -#-Q- ax_mono #-D- MN F_D = -#-Q- ax_mono #-P- I4R4 F_P = -qrealsize=4 -#-Q- ax_mono #-P- I4R8 F_P = -qrealsize=8 -#-Q- ax_mono #-P- I8R8 F_P = -#-Q- ax_mono w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- ax_mono F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- ax_mono F_L = xlf90_r -#-Q- ax_mono M_M = 0 -#-Q- ax_mono L_X = 0 -#-Q- ax_mono L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- ax_mono A_C = ar -rs -X64 -#-Q- ax_mono A_G = ar -x -X64 -#-Q- ax_mono C_C = cc -c -#-Q- ax_mono C_O = -O -#-Q- ax_mono C_L = cc -#-Q- ax_mono #- -#-Q- ax_mono NCDF_INC = /usr/local/pub/include -#-Q- ax_mono NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- ax_mono #- -#-Q- ax6_mono #- Global definitions for IBM AIX Power6 (monoprocessing) -#-Q- ax6_mono M_K = gmake -#-Q- ax6_mono P_C = /usr/lib/cpp -#-Q- ax6_mono P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- ax6_mono F_C = xlf90_r -c -#-Q- ax6_mono #-D- MD F_D = -#-Q- ax6_mono #-D- MN F_D = -#-Q- ax6_mono #-P- I4R4 F_P = -qrealsize=4 -#-Q- ax6_mono #-P- I4R8 F_P = -qrealsize=8 -#-Q- ax6_mono #-P- I8R8 F_P = -#-Q- ax6_mono w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- ax6_mono F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- ax6_mono F_L = xlf90_r -#-Q- ax6_mono M_M = 0 -#-Q- ax6_mono L_X = 0 -#-Q- ax6_mono L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- ax6_mono A_C = ar -rs -X64 -#-Q- ax6_mono A_G = ar -x -X64 -#-Q- ax6_mono C_C = cc -c -#-Q- ax6_mono C_O = -O -#-Q- ax6_mono C_L = cc -#-Q- ax6_mono #- -#-Q- ax6_mono NCDF_INC = /usr/local/pub/NetCDF/3.6.2/include -#-Q- ax6_mono NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.2/lib -lnetcdf -#-Q- ax6_mono #- -#-Q- babel #- Global definitions for IBM Blue Gene -#-Q- babel M_K = gmake -#-Q- babel P_C = /usr/bin/cpp -#-Q- babel P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- babel F_C = mpixlf90_r -c -#-Q- babel #-D- MD F_D = -#-Q- babel #-D- MN F_D = -#-Q- babel #-P- I4R4 F_P = -qrealsize=4 -#-Q- babel #-P- I4R8 F_P = -qrealsize=8 -#-Q- babel #-P- I8R8 F_P = -#-Q- babel w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- babel F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- babel F_L = mpixlf90_r -#-Q- babel M_M = 0 -#-Q- babel L_X = 0 -#-Q- babel L_O = $(F_P) -O3 -#-Q- babel A_C = ar -rs -#-Q- babel A_G = ar -x -#-Q- babel C_C = cc -c -#-Q- babel C_O = -O -#-Q- babel C_L = cc -#-Q- babel #- -#-Q- babel NCDF_INC = /bglocal/prod/tools_ibm/netcdf-3.6.1/include -#-Q- babel NCDF_LIB = -L/bglocal/prod/tools_ibm/netcdf-3.6.1/lib -lnetcdf -#-Q- babel #- -#-Q- bgfe #- Global definitions for IBM Blue Gene Front End -#-Q- bgfe M_K = gmake -#-Q- bgfe P_C = /usr/bin/cpp -#-Q- bgfe P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- bgfe F_C = mpif90 -c -g -#-Q- bgfe #-D- MD F_D = -#-Q- bgfe #-D- MN F_D = -#-Q- bgfe #-P- I4R4 F_P = -qrealsize=4 -#-Q- bgfe #-P- I4R8 F_P = -qrealsize=8 -#-Q- bgfe #-P- I8R8 F_P = -#-Q- bgfe w_w = $(F_P) -O3 -qsuffix=f=f90 -q64 -qarch=ppc970 -qtune=ppc970 -qfree=f90 -#-Q- bgfe F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- bgfe F_L = mpif90 -#-Q- bgfe M_M = 0 -#-Q- bgfe L_X = 0 -#-Q- bgfe L_O = $(F_P) -O3 -q64 -#-Q- bgfe A_C = ar -rs -#-Q- bgfe A_G = ar -x -#-Q- bgfe C_C = cc -c -#-Q- bgfe C_O = -O -#-Q- bgfe C_L = cc -#-Q- bgfe #- -#-Q- bgfe NCDF_INC = /gpfs/apps/NETCDF/3.6.2/64/include -#-Q- bgfe NCDF_LIB = -L/gpfs/apps/NETCDF/3.6.2/64/lib -lnetcdf -#-Q- bgfe #- -#-Q- cesium #- Global definitions for Cesium at CCRT -#-Q- cesium M_K = gmake -#-Q- cesium P_C = cpp -#-Q- cesium P_O = -P -C $(P_P) -#-Q- cesium F_C = ifort -c -#-Q- cesium #-D- MD F_D = -g -#-Q- cesium #-D- MN F_D = -#-Q- cesium #-P- I4R4 F_P = -i4 -#-Q- cesium #-P- I4R8 F_P = -i4 -r8 -#-Q- cesium #-P- I8R8 F_P = -i8 -r8 -#-Q- cesium F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- cesium F_L = ifort -#-Q- cesium M_M = 0 -#-Q- cesium L_X = 0 -#-Q- cesium L_O = -Vaxlib -#-Q- cesium A_C = ar -r -#-Q- cesium A_G = ar -x -#-Q- cesium C_C = cc -c -#-Q- cesium C_O = -#-Q- cesium C_L = cc -#-Q- cesium #- -#-Q- cesium NCDF_INC = /applications/netcdf-3.6.3/include -#-Q- cesium NCDF_LIB = -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf -#-Q- cesium #- -#-Q- cray #- Obsolete definitions for CRAY -#-Q- cray M_K = make -#-Q- cray P_C = cpp -#-Q- cray P_O = -P -C $(P_P) -#-Q- cray F_C = f90 -c -#-Q- cray #-D- MD F_D = -#-Q- cray #-D- MN F_D = -#-Q- cray #-P- I4R4 F_P = -#-Q- cray #-P- I4R8 F_P = -#-Q- cray #-P- I8R8 F_P = -#-Q- cray F_O = $(F_D) $(F_P) -v -p $(MODEL_LIB) -#-Q- cray F_L = f90 -#-Q- cray M_M = 0 -#-Q- cray L_X = 0 -#-Q- cray L_O = -#-Q- cray A_C = bld -r -#-Q- cray A_G = bld -x -#-Q- cray C_C = cc -c -#-Q- cray C_O = -Wall -#-Q- cray C_L = cc -#-Q- cray #- -#-Q- cray NCDF_INC = /usr/local/pub/include -#-Q- cray NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- cray #- -#-Q- eshpux #- Global definitions for hpux used as Earth Simulator front-end (moon) -#-Q- eshpux LIB_MPI = MPI1 -#-Q- eshpux LIB_MPI_BIS = MPI1 -#-Q- eshpux PRISM_ARCH = ES -#-Q- eshpux PRISM_NAME = moon -#-Q- eshpux FCM_ARCH = ES_MOON -#-Q- eshpux M_K = gmake -#-Q- eshpux P_C = escpp -#-Q- eshpux # FTRACE used for profiling -#-Q- eshpux FTRACE = -ftrace -#-Q- eshpux # FTRACE = -#-Q- eshpux P_O = -P -C $(P_P) -#-Q- eshpux F_C = esmpif90 -c -#-Q- eshpux #-D- MD F_D = -#-Q- eshpux #-D- MN F_D = -#-Q- eshpux #-P- I4R4 F_P = -dW -#-Q- eshpux #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- eshpux #-P- I8R8 F_P = -ew -#-Q- eshpux F_O = $(F_D) $(F_P) $(FTRACE) -Ep -DCPP_PARA -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- eshpux F_L = esmpif90 -#-Q- eshpux M_M = 1 -#-Q- eshpux L_X = 1 -#-Q- eshpux L_O = $(F_P) $(FTRACE) -#-Q- eshpux A_C = ar -rv -#-Q- eshpux A_G = ar -x -#-Q- eshpux A_X = esar -rv -#-Q- eshpux C_C = esmpicc -c -#-Q- eshpux C_O = -#-Q- eshpux C_L = esmpicc -#-Q- eshpux FC_C = cc -c -#-Q- eshpux FC_O = -#-Q- eshpux FC_L = cc -#-Q- eshpux #- -#-Q- eshpux NCDF_INC = /S/home010/c0010/ES/include -#-Q- eshpux NCDF_LIB = -L/S/home010/c0010/ES/lib -lnetcdf -#-Q- eshpux #- -#-Q- fjvpp #- Obsolete definitions for FUJITSU VPP -#-Q- fjvpp M_K = gmake -#-Q- fjvpp P_C = cpp -#-Q- fjvpp P_O = -P -C $(P_P) -#-Q- fjvpp F_C = frt -c -#-Q- fjvpp #-D- MD F_D = -#-Q- fjvpp #-D- MN F_D = -#-Q- fjvpp #-P- I4R4 F_P = -AD -#-Q- fjvpp #-P- I4R8 F_P = -Ad -#-Q- fjvpp #-P- I8R8 F_P = -Ad -#-Q- fjvpp w_w = -X9 -Oe -Sw $(F_D) $(F_P) -Am -M$(MODDIR) -#-Q- fjvpp F_O = $(w_w) -Of -Wv,-Of,-ilfunc,-preload -#-Q- fjvpp F_L = frt -#-Q- fjvpp M_M = 0 -#-Q- fjvpp L_X = 0 -#-Q- fjvpp L_O = -Wg,-c -Wl,-J,-t,-dy -#-Q- fjvpp A_C = ar -r -#-Q- fjvpp A_G = ar -x -#-Q- fjvpp C_C = cc -c -#-Q- fjvpp C_O = -#-Q- fjvpp C_L = cc -#-Q- fjvpp #- -#-Q- fjvpp NCDF_INC = /usr/local/include/netcdf -#-Q- fjvpp NCDF_LIB = /usr/local/lib/netcdf/libnetcdf.a -#-Q- fjvpp #- -#-Q- g95 #- Global definitions for gnu g95 compiler -#-Q- g95 M_K = gmake -#-Q- g95 P_C = cpp -#-Q- g95 P_O = -P -C -traditional $(P_P) -#-Q- g95 F_C = g95 -c -#-Q- g95 #-D- MD F_D = -#-Q- g95 #-D- MN F_D = -#-Q- g95 #-P- I4R4 F_P = -i4 -#-Q- g95 #-P- I4R8 F_P = -i4 -r8 -#-Q- g95 #-P- I8R8 F_P = -i8 -r8 -#-Q- g95 w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- g95 F_O = $(w_w) -fmod=$(MODDIR) -fno-second-underscore -#-Q- g95 F_L = g95 -#-Q- g95 M_M = 0 -#-Q- g95 L_X = 0 -#-Q- g95 L_O = -#-Q- g95 A_C = ar -r -#-Q- g95 A_G = ar -x -#-Q- g95 C_C = cc -c -#-Q- g95 C_O = -#-Q- g95 C_L = cc -#-Q- g95 #- -#-Q- g95 NCDF_INC = /usr/local/include -#-Q- g95 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- g95 #- -#-Q- gfortran #- Global definitions for gfortran, generic system -#-Q- gfortran M_K = make -#-Q- gfortran P_C = cpp -#-Q- gfortran P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- gfortran F_C = gfortran -c -#-Q- gfortran #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan -#-Q- gfortran #-D- MN F_D = -#-Q- gfortran #-P- I4R4 F_P = -#-Q- gfortran #-P- I4R8 F_P = -fdefault-real-8 -#-Q- gfortran #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- gfortran w_w = -O3 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- gfortran F_O = $(w_w) -J$(MODDIR) -#-Q- gfortran F_L = gfortran -#-Q- gfortran M_M = 0 -#-Q- gfortran L_X = 0 -#-Q- gfortran L_O = -#-Q- gfortran A_C = ar -rs -#-Q- gfortran A_G = ar -x -#-Q- gfortran C_C = cc -c -#-Q- gfortran C_O = -#-Q- gfortran C_L = cc -#-Q- gfortran #- -#-Q- gfortran NCDF_INC = /usr/local/include -#-Q- gfortran NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- gfortran #- -#-Q- idris_tx7 #- Global definitions for NEC TX7 front-end (Brodie) at Idris, gfortran -#-Q- idris_tx7 M_K = gmake -#-Q- idris_tx7 P_C = cpp -#-Q- idris_tx7 P_O = -P -C $(P_P) -#-Q- idris_tx7 F_C = gfortran -c -#-Q- idris_tx7 #-D- MD F_D = -g -#-Q- idris_tx7 #-D- MN F_D = -#-Q- idris_tx7 #-P- I4R4 F_P = -#-Q- idris_tx7 #-P- I4R8 F_P = -fdefault-real-8 -#-Q- idris_tx7 #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- idris_tx7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -J$(MODDIR) -#-Q- idris_tx7 F_L = gfortran -#-Q- idris_tx7 M_M = 0 -#-Q- idris_tx7 L_X = 0 -#-Q- idris_tx7 L_O = -#-Q- idris_tx7 A_C = ar -r -#-Q- idris_tx7 A_G = ar -x -#-Q- idris_tx7 C_C = gcc -c -#-Q- idris_tx7 C_O = -#-Q- idris_tx7 C_L = gcc -#-Q- idris_tx7 #- -#-Q- idris_tx7 NCDF_INC = /TXlocal/pub/netcdf/netcdf-3.6.2/include -#-Q- idris_tx7 NCDF_LIB = -L/TXlocal/pub/netcdf/netcdf-3.6.2/lib -lnetcdf -#-Q- idris_tx7 #- -#-Q- linux #- Global definitions for Linux, pgf90 -#-Q- linux M_K = gmake -#-Q- linux P_C = /usr/bin/cpp -#-Q- linux P_O = -P -C -traditional $(P_P) -#-Q- linux F_C = ftn -c -#-Q- linux #-D- MD F_D = -#-Q- linux #-D- MN F_D = -#-Q- linux #-P- I4R4 F_P = -i4 -#-Q- linux #-P- I4R8 F_P = -i4 -r8 -#-Q- linux #-P- I8R8 F_P = -i8 -r8 -#-Q- linux F_O = $(F_D) $(F_P) -Mfree -module $(MODDIR) -fastsse -#-Q- linux F_L = ftn -#-Q- linux M_M = 0 -#-Q- linux L_X = 0 -#-Q- linux L_O = -Wl,-Bstatic -Mbounds -#-Q- linux A_C = ar -r -#-Q- linux A_G = ar -x -#-Q- linux C_C = gcc -c -#-Q- linux C_O = -Wall -#-Q- linux C_L = gcc -#-Q- linux #- -#-Q- linux NCDF_INC = /opt/cray/netcdf/4.1.1.0/netcdf-pgi/include -#-Q- linux NCDF_LIB = -L/opt/cray/netcdf/4.1.1.0/netcdf-pgi/lib -lnetcdf -#-Q- linux #- -#-Q- lxiv7 #- Global definitions for Linux, ifc -#-Q- lxiv7 M_K = gmake -#-Q- lxiv7 P_C = cpp -#-Q- lxiv7 P_O = -P -C $(P_P) -#-Q- lxiv7 F_C = ifc -c -#-Q- lxiv7 #-D- MD F_D = -g -#-Q- lxiv7 #-D- MN F_D = -#-Q- lxiv7 #-P- I4R4 F_P = -i4 -#-Q- lxiv7 #-P- I4R8 F_P = -i4 -r8 -#-Q- lxiv7 #-P- I8R8 F_P = -i8 -r8 -#-Q- lxiv7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- lxiv7 F_L = ifc -#-Q- lxiv7 M_M = 0 -#-Q- lxiv7 L_X = 0 -#-Q- lxiv7 L_O = -Vaxlib -#-Q- lxiv7 A_C = ar -r -#-Q- lxiv7 A_G = ar -x -#-Q- lxiv7 C_C = cc -c -#-Q- lxiv7 C_O = -#-Q- lxiv7 C_L = cc -#-Q- lxiv7 #- -#-Q- lxiv7 NCDF_INC = /usr/local/include -#-Q- lxiv7 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- lxiv7 #- -#-Q- lxiv8 #- Global definitions for Intel compiler (ifort) at LSCE -#-Q- lxiv8 M_K = gmake -#-Q- lxiv8 P_C = cpp -#-Q- lxiv8 P_O = -P -C $(P_P) -#-Q- lxiv8 F_C = ifort -c -cpp -#-Q- lxiv8 #-D- MD F_D = -g -#-Q- lxiv8 #-D- MN F_D = -#-Q- lxiv8 #-P- I4R4 F_P = -i4 -#-Q- lxiv8 #-P- I4R8 F_P = -i4 -r8 -#-Q- lxiv8 #-P- I8R8 F_P = -i8 -r8 -#-Q- lxiv8 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- lxiv8 F_L = ifort -#-Q- lxiv8 M_M = 0 -#-Q- lxiv8 L_X = 0 -#-Q- lxiv8 L_O = -Vaxlib -#-Q- lxiv8 A_C = ar -r -#-Q- lxiv8 A_G = ar -x -#-Q- lxiv8 C_C = cc -c -#-Q- lxiv8 C_O = -#-Q- lxiv8 C_L = cc -#-Q- lxiv8 #- -#-Q- lxiv8 NCDF_INC = /usr/local/include -#-Q- lxiv8 NCDF_LIB = -L/usr/local/lib -lnetcdff -lnetcdf -#-Q- lxiv8 #- -#-Q- osf1 #- Obsolete definitions for DEC OSF1 -#-Q- osf1 M_K = gmake -#-Q- osf1 P_C = cpp -#-Q- osf1 P_O = -P -C $(P_P) -#-Q- osf1 F_C = f90 -c -#-Q- osf1 #-D- MD F_D = -g -#-Q- osf1 #-D- MN F_D = -#-Q- osf1 #-P- I4R4 F_P = -#-Q- osf1 #-P- I4R8 F_P = -r8 -#-Q- osf1 #-P- I8R8 F_P = -i8 -r8 -#-Q- osf1 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- osf1 F_L = f90 -#-Q- osf1 M_M = 0 -#-Q- osf1 L_X = 0 -#-Q- osf1 L_O = -#-Q- osf1 A_C = ar -r -#-Q- osf1 A_G = ar -x -#-Q- osf1 C_C = cc -c -#-Q- osf1 C_O = -#-Q- osf1 C_L = cc -#-Q- osf1 #- -#-Q- osf1 NCDF_INC = /usr/local/include -#-Q- osf1 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- osf1 #- -#-Q- osxxlf #- Global definitions for Mac OS X and IBM xlf compiler -#-Q- osxxlf M_K = make -#-Q- osxxlf P_C = /usr/bin/cpp -#-Q- osxxlf P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- osxxlf F_C = xlf90 -c -#-Q- osxxlf #-D- MD F_D = -g -C -#-Q- osxxlf #-D- MN F_D = -#-Q- osxxlf #-P- I4R4 F_P = -qintsize=4 -qrealsize=4 -#-Q- osxxlf #-P- I4R8 F_P = -qintsize=4 -qrealsize=8 -#-Q- osxxlf #-P- I8R8 F_P = -qintsize=8 -qrealsize=8 -#-Q- osxxlf w_w = $(F_P) -O2 $(F_D) -qsuffix=f=f90 -#-Q- osxxlf F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- osxxlf F_L = xlf90 -#-Q- osxxlf M_M = 0 -#-Q- osxxlf L_X = 0 -#-Q- osxxlf L_O = $(F_P) -O2 -#-Q- osxxlf A_C = ar -rs -#-Q- osxxlf A_G = ar -x -#-Q- osxxlf C_C = cc -c -#-Q- osxxlf C_O = -#-Q- osxxlf C_L = cc -#-Q- osxxlf #- -#-Q- osxxlf NCDF_INC = /usr/local/install/netcdf-3.6.0-p1/include -#-Q- osxxlf NCDF_LIB = -L/usr/local/install/netcdf-3.6.0-p1/lib -lnetcdf -#-Q- osxxlf #- -#-Q- platine #- Global definitions for Bull (Itanium) at CCRT -#-Q- platine LIB_MPI = MPI1 -#-Q- platine LIB_MPI_BIS = MPI1 -#-Q- platine PRISM_ARCH = IA64 -#-Q- platine PRISM_NAME = platine -#-Q- platine FCM_ARCH = IA64_PLATINE -#-Q- platine M_K = gmake -#-Q- platine P_C = cpp -#-Q- platine P_O = -P -C $(P_P) -#-Q- platine F_C = mpif90 -c -cpp -#-Q- platine #-D- MD F_D = -g -#-Q- platine #-D- MN F_D = -#-Q- platine #-P- I4R4 F_P = -i4 -#-Q- platine #-P- I4R8 F_P = -i4 -r8 -#-Q- platine #-P- I8R8 F_P = -i8 -r8 -#-Q- platine F_O = -DCPP_PARA -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- platine F_L = mpif90 -#-Q- platine M_M = 0 -#-Q- platine L_X = 0 -#-Q- platine L_O = -#-Q- platine A_C = ar -r -#-Q- platine A_G = ar -x -#-Q- platine C_C = cc -c -#-Q- platine C_O = -#-Q- platine C_L = cc -#-Q- platine #- -#-Q- platine NCDF_INC = /usr/include -#-Q- platine NCDF_LIB = -L/usr/lib -lnetcdff -lnetcdf -#-Q- platine #- -#-Q- sgi6 #- Global definitions for IRIX64 (sgi6) -#-Q- sgi6 M_K = gmake -#-Q- sgi6 P_C = cpp -#-Q- sgi6 P_O = -P -C $(P_P) -#-Q- sgi6 F_C = f90 -c -#-Q- sgi6 #-D- MD F_D = -#-Q- sgi6 #-D- MN F_D = -#-Q- sgi6 #-P- I4R4 F_P = -i4 -r4 -#-Q- sgi6 #-P- I4R8 F_P = -i4 -r8 -#-Q- sgi6 #-P- I8R8 F_P = -i8 -r8 -#-Q- sgi6 F_O = $(F_D) $(F_P) -I $(MODDIR) -#-Q- sgi6 F_L = f90 -#-Q- sgi6 M_M = 0 -#-Q- sgi6 L_X = 0 -#-Q- sgi6 L_O = -#-Q- sgi6 A_C = ar -r -#-Q- sgi6 A_G = ar -x -#-Q- sgi6 C_C = cc -c -#-Q- sgi6 C_O = -#-Q- sgi6 C_L = cc -#-Q- sgi6 #- -#-Q- sgi6 NCDF_INC = /usr/local/pub/include -#-Q- sgi6 NCDF_LIB = -L/usr/local/pub/lib64 -lnetcdf -#-Q- sgi6 #- -#-Q- solaris #- Global definitions for SOLARIS -#-Q- solaris M_K = make -#-Q- solaris P_C = cpp -#-Q- solaris P_O = -P -C $(P_P) -#-Q- solaris F_C = f90 -c -#-Q- solaris #-D- MD F_D = -#-Q- solaris #-D- MN F_D = -#-Q- solaris #-P- I4R4 F_P = -#-Q- solaris #-P- I4R8 F_P = -r8const -#-Q- solaris #-P- I8R8 F_P = -i8const -r8const -#-Q- solaris F_O = $(F_D) $(F_P) -M$(MODDIR) -fast -#-Q- solaris F_L = f90 -#-Q- solaris M_M = 1 -#-Q- solaris L_X = 0 -#-Q- solaris L_O = -#-Q- solaris A_C = ar -r -#-Q- solaris A_G = ar -x -#-Q- solaris C_C = cc -c -#-Q- solaris C_O = -#-Q- solaris C_L = cc -#-Q- solaris #- -#-Q- solaris NCDF_INC = /distrib/local/include -#-Q- solaris NCDF_LIB = -L/distrib/local/lib -lnetcdf -#-Q- solaris #- -#-Q- sx6nec #- Global definitions for NEC SX8 at CCRT (alias) -#-Q- sx6nec LIB_MPI = MPI1 -#-Q- sx6nec LIB_MPI_BIS = MPI1 -#-Q- sx6nec PRISM_ARCH = SX -#-Q- sx6nec PRISM_NAME = mercure -#-Q- sx6nec FCM_ARCH = SX8_MERCURE -#-Q- sx6nec M_K = sxgmake -#-Q- sx6nec P_C = cpp -#-Q- sx6nec P_O = -P -C $(P_P) -#-Q- sx6nec F_C = sxmpif90 -c -#-Q- sx6nec #-D- MD F_D = -#-Q- sx6nec #-D- MN F_D = -#-Q- sx6nec #-P- I4R4 F_P = -dW -#-Q- sx6nec #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx6nec #-P- I8R8 F_P = -ew -#-Q- sx6nec F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx6nec F_L = sxmpif90 -#-Q- sx6nec M_M = 1 -#-Q- sx6nec L_X = 0 -#-Q- sx6nec L_O = -size_t64 $(F_P) -#-Q- sx6nec A_C = sxar -rv -#-Q- sx6nec A_G = sxar -x -#-Q- sx6nec A_X = sxar -rv -#-Q- sx6nec C_C = sxcc -size_t64 -c -#-Q- sx6nec C_O = -#-Q- sx6nec C_L = sxcc -size_t64 -#-Q- sx6nec FC_C = gcc -c -#-Q- sx6nec FC_O = -#-Q- sx6nec FC_L = gcc -#-Q- sx6nec #- -#-Q- sx6nec NCDF_INC = /usr/local/SX8/soft/netcdf/include -#-Q- sx6nec NCDF_LIB = -L/usr/local/SX8/soft/netcdf/lib -lnetcdf -#-Q- sx6nec #- -#-Q- sx8brodie #- Global definitions for NEC SX8 at Idris -#-Q- sx8brodie LIB_MPI = MPI1 -#-Q- sx8brodie LIB_MPI_BIS = MPI1 -#-Q- sx8brodie PRISM_ARCH = SX -#-Q- sx8brodie PRISM_NAME = brodie -#-Q- sx8brodie FCM_ARCH = SX8_BRODIE -#-Q- sx8brodie M_K = sxgmake -#-Q- sx8brodie P_C = sxcpp -#-Q- sx8brodie P_O = -P -C $(P_P) -#-Q- sx8brodie F_C = sxmpif90 -c -#-Q- sx8brodie #-D- MD F_D = -#-Q- sx8brodie #-D- MN F_D = -#-Q- sx8brodie #-P- I4R4 F_P = -dW -#-Q- sx8brodie #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx8brodie #-P- I8R8 F_P = -ew -#-Q- sx8brodie F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -I $(MODDIR) -#-Q- sx8brodie F_L = sxmpif90 -#-Q- sx8brodie M_M = 1 -#-Q- sx8brodie L_X = 0 -#-Q- sx8brodie L_O = $(F_P) -#-Q- sx8brodie A_C = sxar -rv -#-Q- sx8brodie A_G = sxar -x -#-Q- sx8brodie A_X = sxar -rv -#-Q- sx8brodie C_C = sxcc -c -#-Q- sx8brodie C_O = -#-Q- sx8brodie C_L = sxcc -#-Q- sx8brodie FC_C = gcc -c -#-Q- sx8brodie FC_O = -#-Q- sx8brodie FC_L = gcc -#-Q- sx8brodie #- -#-Q- sx8brodie NCDF_INC = /SXlocal/pub/netCDF/netCDF-3.6.1/include -#-Q- sx8brodie NCDF_LIB = -L/SXlocal/pub/netCDF/netCDF-3.6.1/lib -lnetcdf -#-Q- sx8brodie #- -#-Q- sx8mercure #- Global definitions for NEC SX8 at CCRT -#-Q- sx8mercure LIB_MPI = MPI1 -#-Q- sx8mercure LIB_MPI_BIS = MPI1 -#-Q- sx8mercure PRISM_ARCH = SX -#-Q- sx8mercure PRISM_NAME = mercure -#-Q- sx8mercure FCM_ARCH = SX8_MERCURE -#-Q- sx8mercure M_K = sxgmake -#-Q- sx8mercure P_C = cpp -#-Q- sx8mercure P_O = -P -C $(P_P) -#-Q- sx8mercure F_C = sxmpif90 -c -#-Q- sx8mercure #-D- MD F_D = -#-Q- sx8mercure #-D- MN F_D = -#-Q- sx8mercure #-P- I4R4 F_P = -dW -#-Q- sx8mercure #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx8mercure #-P- I8R8 F_P = -ew -#-Q- sx8mercure F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx8mercure F_L = sxmpif90 -#-Q- sx8mercure M_M = 1 -#-Q- sx8mercure L_X = 0 -#-Q- sx8mercure L_O = -size_t64 $(F_P) -#-Q- sx8mercure A_C = sxar -rv -#-Q- sx8mercure A_G = sxar -x -#-Q- sx8mercure A_X = sxar -rv -#-Q- sx8mercure C_C = sxcc -size_t64 -c -#-Q- sx8mercure C_O = -#-Q- sx8mercure C_L = sxcc -size_t64 -#-Q- sx8mercure FC_C = gcc -c -#-Q- sx8mercure FC_O = -#-Q- sx8mercure FC_L = gcc -#-Q- sx8mercure #- -#-Q- sx8mercure NETCDF_SX_INCLUDEDIR ?= /usr/local/SX8/soft/netcdf/include -#-Q- sx8mercure NETCDF_SX_LIBDIR ?= /usr/local/SX8/soft/netcdf/lib -#-Q- sx8mercure NCDF_INC = ${NETCDF_SX_INCLUDEDIR} -#-Q- sx8mercure NCDF_LIB = -L${NETCDF_SX_LIBDIR} -lnetcdf -#-Q- sx8mercure #- -#-Q- sx9mercure #- Global definitions for NEC SX9 at CCRT -#-Q- sx9mercure LIB_MPI = MPI1 -#-Q- sx9mercure LIB_MPI_BIS = MPI1 -#-Q- sx9mercure PRISM_ARCH = SX -#-Q- sx9mercure PRISM_NAME = mercure -#-Q- sx9mercure FCM_ARCH = SX9_MERCURE -#-Q- sx9mercure M_K = sxgmake -#-Q- sx9mercure P_C = cpp -#-Q- sx9mercure P_O = -P -C $(P_P) -#-Q- sx9mercure F_C = sxmpif90 -c -#-Q- sx9mercure #-D- MD F_D = -#-Q- sx9mercure #-D- MN F_D = -#-Q- sx9mercure #-P- I4R4 F_P = -dW -#-Q- sx9mercure #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx9mercure #-P- I8R8 F_P = -ew -#-Q- sx9mercure F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx9mercure F_L = sxmpif90 -#-Q- sx9mercure M_M = 1 -#-Q- sx9mercure L_X = 0 -#-Q- sx9mercure L_O = -size_t64 $(F_P) -#-Q- sx9mercure A_C = sxar -rv -#-Q- sx9mercure A_G = sxar -x -#-Q- sx9mercure A_X = sxar -rv -#-Q- sx9mercure C_C = sxcc -size_t64 -c -#-Q- sx9mercure C_O = -#-Q- sx9mercure C_L = sxcc -size_t64 -#-Q- sx9mercure FC_C = gcc -c -#-Q- sx9mercure FC_O = -#-Q- sx9mercure FC_L = gcc -#-Q- sx9mercure #- -#-Q- sx9mercure NETCDF_SX_INCLUDEDIR ?= /ccc/applications/sx9/netcdf-3.6.1/include -#-Q- sx9mercure NETCDF_SX_LIBDIR ?= /ccc/applications/sx9/netcdf-3.6.1/lib -#-Q- sx9mercure NCDF_INC = ${NETCDF_SX_INCLUDEDIR} -#-Q- sx9mercure NCDF_LIB = -L${NETCDF_SX_LIBDIR} -lnetcdf -#-Q- sx9mercure #- -#-Q- sxdkrz #- Global definitions for NEC SX8 at DKRZ -#-Q- sxdkrz LIB_MPI = MPI1 -#-Q- sxdkrz LIB_MPI_BIS = MPI1 -#-Q- sxdkrz PRISM_ARCH = SX -#-Q- sxdkrz PRISM_NAME = ds -#-Q- sxdkrz M_K = sxgmake -#-Q- sxdkrz P_C = cpp -#-Q- sxdkrz P_O = -P -C $(P_P) -#-Q- sxdkrz F_C = sxmpif90 -c -#-Q- sxdkrz #-D- MD F_D = -#-Q- sxdkrz #-D- MN F_D = -#-Q- sxdkrz #-P- I4R4 F_P = -dw -#-Q- sxdkrz #-P- I4R8 F_P = -dw -Wf\"-A idbl4\" -#-Q- sxdkrz #-P- I8R8 F_P = -ew -#-Q- sxdkrz F_O = $(F_D) $(F_P) -I $(MODDIR) -#-Q- sxdkrz F_L = sxmpif90 -#-Q- sxdkrz M_M = 1 -#-Q- sxdkrz L_X = 0 -#-Q- sxdkrz L_O = $(F_P) -#-Q- sxdkrz A_C = ar -rv -#-Q- sxdkrz A_G = ar -x -#-Q- sxdkrz A_X = sxar -rv -#-Q- sxdkrz C_C = sxcc -c -#-Q- sxdkrz C_O = -#-Q- sxdkrz C_L = sxcc -#-Q- sxdkrz FC_C = cc -c -#-Q- sxdkrz FC_O = -#-Q- sxdkrz FC_L = cc -#-Q- sxdkrz #- -#-Q- sxdkrz NCDF_INC = /pool/SX-6/netcdf/netcdf-3.5.0/include -#-Q- sxdkrz NCDF_LIB = -L/pool/SX-6/netcdf/netcdf-3.5.0/lib -lnetcdf_A_idbl4 -#-Q- sxdkrz #- -#-Q- t3e #- Obsolete definitions for T3E -#-Q- t3e M_K = gmake -#-Q- t3e P_C = cpp -#-Q- t3e P_O = -P -C $(P_P) -#-Q- t3e F_C = f90 -c -#-Q- t3e #-D- MD F_D = -#-Q- t3e #-D- MN F_D = -#-Q- t3e #-P- I4R4 F_P = -#-Q- t3e #-P- I4R8 F_P = -#-Q- t3e #-P- I8R8 F_P = -#-Q- t3e w_w = $(F_D) $(F_P) -rm -O2 -Ounroll2 -Osplit2 -dp -#-Q- t3e F_O = $(w_w) -p $(MODEL_LIB) -#-Q- t3e F_L = f90 -#-Q- t3e M_M = 0 -#-Q- t3e L_X = 0 -#-Q- t3e L_O = -X 4 -#-Q- t3e A_C = ar -r -#-Q- t3e A_G = ar -x -#-Q- t3e C_C = cc -c -#-Q- t3e C_O = -Wall -#-Q- t3e C_L = cc -#-Q- t3e #- -#-Q- t3e NCDF_INC = /usr/local/pub/include -#-Q- t3e NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- t3e #- -#-Q- titane #- Global definitions for Bull (Xeon) at CCRT -#-Q- titane LIB_MPI = MPI1 -#-Q- titane LIB_MPI_BIS = MPI1 -#-Q- titane PRISM_ARCH = X64 -#-Q- titane PRISM_NAME = titane -#-Q- titane FCM_ARCH = X64_TITANE -#-Q- titane M_K = gmake -#-Q- titane P_C = cpp -#-Q- titane P_O = -P -C $(P_P) -#-Q- titane F_C = mpif90 -c -cpp -#-Q- titane #-D- MD F_D = -g -#-Q- titane #-D- MN F_D = -#-Q- titane #-P- I4R4 F_P = -i4 -#-Q- titane #-P- I4R8 F_P = -i4 -r8 -#-Q- titane #-P- I8R8 F_P = -i8 -r8 -#-Q- titane F_O = -DCPP_PARA -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- titane F_L = mpif90 -#-Q- titane M_M = 0 -#-Q- titane L_X = 0 -#-Q- titane L_O = -#-Q- titane A_C = ar -r -#-Q- titane A_G = ar -x -#-Q- titane C_C = cc -c -#-Q- titane C_O = -#-Q- titane C_L = cc -#-Q- titane #- -#-Q- titane NCDF_INC = $(NETCDF_INCLUDEDIR) -#-Q- titane NCDF_LIB = -L$(NETCDF_LIBDIR) -lnetcdff -lnetcdf -#-Q- titane #- -#-Q- tx7 #- Global definitions for NEC TX7 front-end (Mercure) at CCRT, ifort -#-Q- tx7 M_K = gmake -#-Q- tx7 P_C = cpp -#-Q- tx7 P_O = -P -C $(P_P) -#-Q- tx7 F_C = ifort -c -#-Q- tx7 #-D- MD F_D = -g -#-Q- tx7 #-D- MN F_D = -#-Q- tx7 #-P- I4R4 F_P = -i4 -#-Q- tx7 #-P- I4R8 F_P = -i4 -r8 -#-Q- tx7 #-P- I8R8 F_P = -i8 -r8 -#-Q- tx7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- tx7 F_L = ifort -#-Q- tx7 M_M = 0 -#-Q- tx7 L_X = 0 -#-Q- tx7 L_O = -Vaxlib -#-Q- tx7 A_C = ar -r -#-Q- tx7 A_G = ar -x -#-Q- tx7 C_C = cc -c -#-Q- tx7 C_O = -#-Q- tx7 C_L = cc -#-Q- tx7 #- -#-Q- tx7 NCDF_INC = /usr/local/include -#-Q- tx7 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- tx7 #- -#-Q- ulam #- Global definitions for ulam at IDRIS -#-Q- ulam M_K = gmake -#-Q- ulam P_C = cpp -#-Q- ulam P_O = -P -C $(P_P) -#-Q- ulam F_C = ifort -c -cpp -#-Q- ulam #-D- MD F_D = -g -#-Q- ulam #-D- MN F_D = -#-Q- ulam #-P- I4R4 F_P = -i4 -#-Q- ulam #-P- I4R8 F_P = -i4 -r8 -#-Q- ulam #-P- I8R8 F_P = -i8 -r8 -#-Q- ulam F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- ulam F_L = ifort -#-Q- ulam M_M = 0 -#-Q- ulam L_X = 0 -#-Q- ulam L_O = -Vaxlib -#-Q- ulam A_C = ar -r -#-Q- ulam A_G = ar -x -#-Q- ulam C_C = cc -c -#-Q- ulam C_O = -#-Q- ulam C_L = cc -#-Q- ulam #- -#-Q- ulam NCDF_INC = /usr/local/pub/NetCDF/3.6.3/include -#-Q- ulam NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.3/lib -lnetcdf -#-Q- ulam #- -#-Q- unix #- Skeleton definitions for UNIX -#-Q- unix M_K = make -#-Q- unix P_C = cpp -#-Q- unix P_O = -P -C $(P_P) -#-Q- unix F_C = f90 -c -#-Q- unix #-D- MD F_D = -#-Q- unix #-D- MN F_D = -#-Q- unix #-P- I4R4 F_P = -#-Q- unix #-P- I4R8 F_P = -#-Q- unix #-P- I8R8 F_P = -#-Q- unix F_O = $(F_D) $(F_P) -M$(MODDIR) -#-Q- unix F_L = f90 -#-Q- unix M_M = 0 -#-Q- unix L_X = 0 -#-Q- unix L_O = -#-Q- unix A_C = ar -r -#-Q- unix A_G = ar -x -#-Q- unix C_C = cc -c -#-Q- unix C_O = -#-Q- unix C_L = cc -#-Q- unix #- -#-Q- unix NCDF_INC = /distrib/local/include -#-Q- unix NCDF_LIB = -L/distrib/local/lib -lnetcdf -#-Q- unix #- -#-Q- x86_64 #- Global definitions for new mercure front-end at CCRT (05/2010) -#-Q- x86_64 M_K = gmake -#-Q- x86_64 P_C = cpp -#-Q- x86_64 P_O = -P -C $(P_P) -#-Q- x86_64 F_C = ifort -c -#-Q- x86_64 #-D- MD F_D = -g -#-Q- x86_64 #-D- MN F_D = -#-Q- x86_64 #-P- I4R4 F_P = -i4 -#-Q- x86_64 #-P- I4R8 F_P = -i4 -r8 -#-Q- x86_64 #-P- I8R8 F_P = -i8 -r8 -#-Q- x86_64 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- x86_64 F_L = ifort -#-Q- x86_64 M_M = 0 -#-Q- x86_64 L_X = 0 -#-Q- x86_64 L_O = -Vaxlib -#-Q- x86_64 A_C = ar -r -#-Q- x86_64 A_G = ar -x -#-Q- x86_64 C_C = cc -c -#-Q- x86_64 C_O = -#-Q- x86_64 C_L = cc -#-Q- x86_64 #- -#-Q- x86_64 NCDF_INC = /applications/netcdf-3.6.3/include -#-Q- x86_64 NCDF_LIB = -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf -#-Q- x86_64 #- -RM = rm -f -STRIP = strip -SIZE = size diff --git a/deploy/patches/hector/nemo/v3.2/modipsl/util/AA_make.gdef_orig b/deploy/patches/hector/nemo/v3.2/modipsl/util/AA_make.gdef_orig deleted file mode 100644 index 3edfaf0eebf2b4c4b0b875d8677bfc539bd1e026..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.2/modipsl/util/AA_make.gdef_orig +++ /dev/null @@ -1,926 +0,0 @@ -#- -#- $Id: AA_make.gdef 1031 2010-05-21 09:25:35Z mafoipsl $ -#- -#- Validate the correlation between the target and the environment -#- -UTIL_DIR = '??' -WW_h_t = $(shell cat $(UTIL_DIR)/.host_target) -WW_h_w = $(shell $(UTIL_DIR)/w_i_h) -WW_t_e = $(shell $(UTIL_DIR)/w_i_e $(WW_h_t) $(WW_h_w)) -ifeq "$(WW_t_e)" "NO" - $(error ) -endif -#- -#-Q- Darwin #- Global definitions for Mac OSX, gfortran -#-Q- Darwin M_K = make -#-Q- Darwin P_C = cpp -#-Q- Darwin P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- Darwin F_C = gfortran -c -#-Q- Darwin #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan -#-Q- Darwin #-D- MN F_D = -#-Q- Darwin #-P- I4R4 F_P = -#-Q- Darwin #-P- I4R8 F_P = -fdefault-real-8 -#-Q- Darwin #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- Darwin w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- Darwin F_O = $(w_w) -J$(MODDIR) -#-Q- Darwin F_L = gfortran -#-Q- Darwin M_M = 0 -#-Q- Darwin L_X = 0 -#-Q- Darwin L_O = -#-Q- Darwin A_C = ar -rs -#-Q- Darwin A_G = ar -x -#-Q- Darwin C_C = cc -c -#-Q- Darwin C_O = -#-Q- Darwin C_L = cc -#-Q- Darwin #- -#-Q- Darwin NCDF_INC = /usr/install/include -#-Q- Darwin NCDF_LIB = -L/usr/install/lib -lnetcdf -#-Q- Darwin #- -#-Q- Darwin_g95 #- Global definitions for Mac OSX, g95 -#-Q- Darwin_g95 M_K = make -#-Q- Darwin_g95 P_C = cpp -#-Q- Darwin_g95 P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- Darwin_g95 F_C = g95 -c -#-Q- Darwin_g95 #-D- MD F_D = -g -Wall -fbounds-check -#-Q- Darwin_g95 #-D- MN F_D = -#-Q- Darwin_g95 #-P- I4R4 F_P = -i4 -#-Q- Darwin_g95 #-P- I4R8 F_P = -i4 -r8 -#-Q- Darwin_g95 #-P- I8R8 F_P = -i8 -r8 -#-Q- Darwin_g95 w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- Darwin_g95 F_O = $(w_w) -fmod=$(MODDIR) -#-Q- Darwin_g95 F_L = g95 -#-Q- Darwin_g95 M_M = 0 -#-Q- Darwin_g95 L_X = 0 -#-Q- Darwin_g95 L_O = -#-Q- Darwin_g95 A_C = ar -rs -#-Q- Darwin_g95 A_G = ar -x -#-Q- Darwin_g95 C_C = cc -c -#-Q- Darwin_g95 C_O = -#-Q- Darwin_g95 C_L = cc -#-Q- Darwin_g95 #- -#-Q- Darwin_g95 NCDF_INC = /usr/install/include -#-Q- Darwin_g95 NCDF_LIB = -L/usr/install/lib -lnetcdf -#-Q- Darwin_g95 #- -#-Q- aix #- Global definitions for IBM AIX (MPP) -#-Q- aix LIB_MPI = MPI1 -#-Q- aix LIB_MPI_BIS = MPI1 -#-Q- aix PRISM_ARCH = AIX -#-Q- aix PRISM_NAME = zahir -#-Q- aix FCM_ARCH = AIX_ZAHIR -#-Q- aix M_K = gmake -#-Q- aix P_C = /usr/lib/cpp -#-Q- aix P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- aix F_C = mpxlf90_r -c -#-Q- aix #-D- MD F_D = -#-Q- aix #-D- MN F_D = -#-Q- aix #-P- I4R4 F_P = -qrealsize=4 -#-Q- aix #-P- I4R8 F_P = -qrealsize=8 -#-Q- aix #-P- I8R8 F_P = -#-Q- aix w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- aix F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- aix F_L = mpxlf90_r -#-Q- aix M_M = 0 -#-Q- aix L_X = 0 -#-Q- aix L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- aix A_C = ar -rs -X64 -#-Q- aix A_G = ar -x -X64 -#-Q- aix C_C = cc -c -#-Q- aix C_O = -O -#-Q- aix C_L = cc -#-Q- aix #- -#-Q- aix NCDF_INC = /usr/local/pub/include -#-Q- aix NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- aix #- -#-Q- aix6 #- Global definitions for IBM AIX Power6 (MPP) -#-Q- aix6 LIB_MPI = MPI1 -#-Q- aix6 LIB_MPI_BIS = MPI1 -#-Q- aix6 PRISM_ARCH = AIX6 -#-Q- aix6 PRISM_NAME = vargas -#-Q- aix6 FCM_ARCH = PW6_VARGAS -#-Q- aix6 M_K = gmake -#-Q- aix6 P_C = /usr/lib/cpp -#-Q- aix6 P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- aix6 F_C = mpxlf90_r -c -#-Q- aix6 #-D- MD F_D = -#-Q- aix6 #-D- MN F_D = -#-Q- aix6 #-P- I4R4 F_P = -qrealsize=4 -#-Q- aix6 #-P- I4R8 F_P = -qrealsize=8 -#-Q- aix6 #-P- I8R8 F_P = -#-Q- aix6 #w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- aix6 w_w = $(F_P) -O3 -qsuffix=cpp=f90 -qfree=f90 -#-Q- aix6 F_O = $(w_w) -WF,-DCPP_PARA -I$(MODDIR) -qmoddir=$(MODDIR) -qextname=flush -#-Q- aix6 F_L = mpxlf90_r -#-Q- aix6 M_M = 0 -#-Q- aix6 L_X = 0 -#-Q- aix6 L_O = $(F_P) -q64 -O3 -#-Q- aix6 A_C = ar -rs -X64 -#-Q- aix6 A_G = ar -x -X64 -#-Q- aix6 C_C = cc -c -#-Q- aix6 C_O = -O -#-Q- aix6 C_L = cc -#-Q- aix6 #- -#-Q- aix6 NCDF_INC = /usr/local/pub/NetCDF/3.6.3/include -#-Q- aix6 NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.3/lib -lnetcdf -#-Q- aix6 #- -#-Q- ax_mono #- Global definitions for IBM AIX (monoprocessing) -#-Q- ax_mono M_K = gmake -#-Q- ax_mono P_C = /usr/lib/cpp -#-Q- ax_mono P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- ax_mono F_C = xlf90_r -c -#-Q- ax_mono #-D- MD F_D = -#-Q- ax_mono #-D- MN F_D = -#-Q- ax_mono #-P- I4R4 F_P = -qrealsize=4 -#-Q- ax_mono #-P- I4R8 F_P = -qrealsize=8 -#-Q- ax_mono #-P- I8R8 F_P = -#-Q- ax_mono w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- ax_mono F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- ax_mono F_L = xlf90_r -#-Q- ax_mono M_M = 0 -#-Q- ax_mono L_X = 0 -#-Q- ax_mono L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- ax_mono A_C = ar -rs -X64 -#-Q- ax_mono A_G = ar -x -X64 -#-Q- ax_mono C_C = cc -c -#-Q- ax_mono C_O = -O -#-Q- ax_mono C_L = cc -#-Q- ax_mono #- -#-Q- ax_mono NCDF_INC = /usr/local/pub/include -#-Q- ax_mono NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- ax_mono #- -#-Q- ax6_mono #- Global definitions for IBM AIX Power6 (monoprocessing) -#-Q- ax6_mono M_K = gmake -#-Q- ax6_mono P_C = /usr/lib/cpp -#-Q- ax6_mono P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- ax6_mono F_C = xlf90_r -c -#-Q- ax6_mono #-D- MD F_D = -#-Q- ax6_mono #-D- MN F_D = -#-Q- ax6_mono #-P- I4R4 F_P = -qrealsize=4 -#-Q- ax6_mono #-P- I4R8 F_P = -qrealsize=8 -#-Q- ax6_mono #-P- I8R8 F_P = -#-Q- ax6_mono w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- ax6_mono F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- ax6_mono F_L = xlf90_r -#-Q- ax6_mono M_M = 0 -#-Q- ax6_mono L_X = 0 -#-Q- ax6_mono L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- ax6_mono A_C = ar -rs -X64 -#-Q- ax6_mono A_G = ar -x -X64 -#-Q- ax6_mono C_C = cc -c -#-Q- ax6_mono C_O = -O -#-Q- ax6_mono C_L = cc -#-Q- ax6_mono #- -#-Q- ax6_mono NCDF_INC = /usr/local/pub/NetCDF/3.6.2/include -#-Q- ax6_mono NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.2/lib -lnetcdf -#-Q- ax6_mono #- -#-Q- babel #- Global definitions for IBM Blue Gene -#-Q- babel M_K = gmake -#-Q- babel P_C = /usr/bin/cpp -#-Q- babel P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- babel F_C = mpixlf90_r -c -#-Q- babel #-D- MD F_D = -#-Q- babel #-D- MN F_D = -#-Q- babel #-P- I4R4 F_P = -qrealsize=4 -#-Q- babel #-P- I4R8 F_P = -qrealsize=8 -#-Q- babel #-P- I8R8 F_P = -#-Q- babel w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- babel F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- babel F_L = mpixlf90_r -#-Q- babel M_M = 0 -#-Q- babel L_X = 0 -#-Q- babel L_O = $(F_P) -O3 -#-Q- babel A_C = ar -rs -#-Q- babel A_G = ar -x -#-Q- babel C_C = cc -c -#-Q- babel C_O = -O -#-Q- babel C_L = cc -#-Q- babel #- -#-Q- babel NCDF_INC = /bglocal/prod/tools_ibm/netcdf-3.6.1/include -#-Q- babel NCDF_LIB = -L/bglocal/prod/tools_ibm/netcdf-3.6.1/lib -lnetcdf -#-Q- babel #- -#-Q- bgfe #- Global definitions for IBM Blue Gene Front End -#-Q- bgfe M_K = gmake -#-Q- bgfe P_C = /usr/bin/cpp -#-Q- bgfe P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- bgfe F_C = xlf90_r -c -#-Q- bgfe #-D- MD F_D = -#-Q- bgfe #-D- MN F_D = -#-Q- bgfe #-P- I4R4 F_P = -qrealsize=4 -#-Q- bgfe #-P- I4R8 F_P = -qrealsize=8 -#-Q- bgfe #-P- I8R8 F_P = -#-Q- bgfe w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- bgfe F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- bgfe F_L = xlf90_r -#-Q- bgfe M_M = 0 -#-Q- bgfe L_X = 0 -#-Q- bgfe L_O = $(F_P) -O3 -#-Q- bgfe A_C = ar -rs -#-Q- bgfe A_G = ar -x -#-Q- bgfe C_C = cc -c -#-Q- bgfe C_O = -O -#-Q- bgfe C_L = cc -#-Q- bgfe #- -#-Q- bgfe NCDF_INC = /local/pub/netcdf/netcdf-3.6.2/include -#-Q- bgfe NCDF_LIB = -L/local/pub/netcdf/netcdf-3.6.2/lib -lnetcdf -#-Q- bgfe #- -#-Q- cesium #- Global definitions for Cesium at CCRT -#-Q- cesium M_K = gmake -#-Q- cesium P_C = cpp -#-Q- cesium P_O = -P -C $(P_P) -#-Q- cesium F_C = ifort -c -#-Q- cesium #-D- MD F_D = -g -#-Q- cesium #-D- MN F_D = -#-Q- cesium #-P- I4R4 F_P = -i4 -#-Q- cesium #-P- I4R8 F_P = -i4 -r8 -#-Q- cesium #-P- I8R8 F_P = -i8 -r8 -#-Q- cesium F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- cesium F_L = ifort -#-Q- cesium M_M = 0 -#-Q- cesium L_X = 0 -#-Q- cesium L_O = -Vaxlib -#-Q- cesium A_C = ar -r -#-Q- cesium A_G = ar -x -#-Q- cesium C_C = cc -c -#-Q- cesium C_O = -#-Q- cesium C_L = cc -#-Q- cesium #- -#-Q- cesium NCDF_INC = /applications/netcdf-3.6.3/include -#-Q- cesium NCDF_LIB = -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf -#-Q- cesium #- -#-Q- cray #- Obsolete definitions for CRAY -#-Q- cray M_K = make -#-Q- cray P_C = cpp -#-Q- cray P_O = -P -C $(P_P) -#-Q- cray F_C = f90 -c -#-Q- cray #-D- MD F_D = -#-Q- cray #-D- MN F_D = -#-Q- cray #-P- I4R4 F_P = -#-Q- cray #-P- I4R8 F_P = -#-Q- cray #-P- I8R8 F_P = -#-Q- cray F_O = $(F_D) $(F_P) -v -p $(MODEL_LIB) -#-Q- cray F_L = f90 -#-Q- cray M_M = 0 -#-Q- cray L_X = 0 -#-Q- cray L_O = -#-Q- cray A_C = bld -r -#-Q- cray A_G = bld -x -#-Q- cray C_C = cc -c -#-Q- cray C_O = -Wall -#-Q- cray C_L = cc -#-Q- cray #- -#-Q- cray NCDF_INC = /usr/local/pub/include -#-Q- cray NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- cray #- -#-Q- eshpux #- Global definitions for hpux used as Earth Simulator front-end (moon) -#-Q- eshpux LIB_MPI = MPI1 -#-Q- eshpux LIB_MPI_BIS = MPI1 -#-Q- eshpux PRISM_ARCH = ES -#-Q- eshpux PRISM_NAME = moon -#-Q- eshpux FCM_ARCH = ES_MOON -#-Q- eshpux M_K = gmake -#-Q- eshpux P_C = escpp -#-Q- eshpux # FTRACE used for profiling -#-Q- eshpux FTRACE = -ftrace -#-Q- eshpux # FTRACE = -#-Q- eshpux P_O = -P -C $(P_P) -#-Q- eshpux F_C = esmpif90 -c -#-Q- eshpux #-D- MD F_D = -#-Q- eshpux #-D- MN F_D = -#-Q- eshpux #-P- I4R4 F_P = -dW -#-Q- eshpux #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- eshpux #-P- I8R8 F_P = -ew -#-Q- eshpux F_O = $(F_D) $(F_P) $(FTRACE) -Ep -DCPP_PARA -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- eshpux F_L = esmpif90 -#-Q- eshpux M_M = 1 -#-Q- eshpux L_X = 1 -#-Q- eshpux L_O = $(F_P) $(FTRACE) -#-Q- eshpux A_C = ar -rv -#-Q- eshpux A_G = ar -x -#-Q- eshpux A_X = esar -rv -#-Q- eshpux C_C = esmpicc -c -#-Q- eshpux C_O = -#-Q- eshpux C_L = esmpicc -#-Q- eshpux FC_C = cc -c -#-Q- eshpux FC_O = -#-Q- eshpux FC_L = cc -#-Q- eshpux #- -#-Q- eshpux NCDF_INC = /S/home010/c0010/ES/include -#-Q- eshpux NCDF_LIB = -L/S/home010/c0010/ES/lib -lnetcdf -#-Q- eshpux #- -#-Q- fjvpp #- Obsolete definitions for FUJITSU VPP -#-Q- fjvpp M_K = gmake -#-Q- fjvpp P_C = cpp -#-Q- fjvpp P_O = -P -C $(P_P) -#-Q- fjvpp F_C = frt -c -#-Q- fjvpp #-D- MD F_D = -#-Q- fjvpp #-D- MN F_D = -#-Q- fjvpp #-P- I4R4 F_P = -AD -#-Q- fjvpp #-P- I4R8 F_P = -Ad -#-Q- fjvpp #-P- I8R8 F_P = -Ad -#-Q- fjvpp w_w = -X9 -Oe -Sw $(F_D) $(F_P) -Am -M$(MODDIR) -#-Q- fjvpp F_O = $(w_w) -Of -Wv,-Of,-ilfunc,-preload -#-Q- fjvpp F_L = frt -#-Q- fjvpp M_M = 0 -#-Q- fjvpp L_X = 0 -#-Q- fjvpp L_O = -Wg,-c -Wl,-J,-t,-dy -#-Q- fjvpp A_C = ar -r -#-Q- fjvpp A_G = ar -x -#-Q- fjvpp C_C = cc -c -#-Q- fjvpp C_O = -#-Q- fjvpp C_L = cc -#-Q- fjvpp #- -#-Q- fjvpp NCDF_INC = /usr/local/include/netcdf -#-Q- fjvpp NCDF_LIB = /usr/local/lib/netcdf/libnetcdf.a -#-Q- fjvpp #- -#-Q- g95 #- Global definitions for gnu g95 compiler -#-Q- g95 M_K = gmake -#-Q- g95 P_C = cpp -#-Q- g95 P_O = -P -C -traditional $(P_P) -#-Q- g95 F_C = g95 -c -#-Q- g95 #-D- MD F_D = -#-Q- g95 #-D- MN F_D = -#-Q- g95 #-P- I4R4 F_P = -i4 -#-Q- g95 #-P- I4R8 F_P = -i4 -r8 -#-Q- g95 #-P- I8R8 F_P = -i8 -r8 -#-Q- g95 w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- g95 F_O = $(w_w) -fmod=$(MODDIR) -fno-second-underscore -#-Q- g95 F_L = g95 -#-Q- g95 M_M = 0 -#-Q- g95 L_X = 0 -#-Q- g95 L_O = -#-Q- g95 A_C = ar -r -#-Q- g95 A_G = ar -x -#-Q- g95 C_C = cc -c -#-Q- g95 C_O = -#-Q- g95 C_L = cc -#-Q- g95 #- -#-Q- g95 NCDF_INC = /usr/local/include -#-Q- g95 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- g95 #- -#-Q- gfortran #- Global definitions for gfortran, generic system -#-Q- gfortran M_K = make -#-Q- gfortran P_C = cpp -#-Q- gfortran P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- gfortran F_C = gfortran -c -#-Q- gfortran #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan -#-Q- gfortran #-D- MN F_D = -#-Q- gfortran #-P- I4R4 F_P = -#-Q- gfortran #-P- I4R8 F_P = -fdefault-real-8 -#-Q- gfortran #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- gfortran w_w = -O3 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- gfortran F_O = $(w_w) -J$(MODDIR) -#-Q- gfortran F_L = gfortran -#-Q- gfortran M_M = 0 -#-Q- gfortran L_X = 0 -#-Q- gfortran L_O = -#-Q- gfortran A_C = ar -rs -#-Q- gfortran A_G = ar -x -#-Q- gfortran C_C = cc -c -#-Q- gfortran C_O = -#-Q- gfortran C_L = cc -#-Q- gfortran #- -#-Q- gfortran NCDF_INC = /usr/local/include -#-Q- gfortran NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- gfortran #- -#-Q- idris_tx7 #- Global definitions for NEC TX7 front-end (Brodie) at Idris, gfortran -#-Q- idris_tx7 M_K = gmake -#-Q- idris_tx7 P_C = cpp -#-Q- idris_tx7 P_O = -P -C $(P_P) -#-Q- idris_tx7 F_C = gfortran -c -#-Q- idris_tx7 #-D- MD F_D = -g -#-Q- idris_tx7 #-D- MN F_D = -#-Q- idris_tx7 #-P- I4R4 F_P = -#-Q- idris_tx7 #-P- I4R8 F_P = -fdefault-real-8 -#-Q- idris_tx7 #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- idris_tx7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -J$(MODDIR) -#-Q- idris_tx7 F_L = gfortran -#-Q- idris_tx7 M_M = 0 -#-Q- idris_tx7 L_X = 0 -#-Q- idris_tx7 L_O = -#-Q- idris_tx7 A_C = ar -r -#-Q- idris_tx7 A_G = ar -x -#-Q- idris_tx7 C_C = gcc -c -#-Q- idris_tx7 C_O = -#-Q- idris_tx7 C_L = gcc -#-Q- idris_tx7 #- -#-Q- idris_tx7 NCDF_INC = /TXlocal/pub/netcdf/netcdf-3.6.2/include -#-Q- idris_tx7 NCDF_LIB = -L/TXlocal/pub/netcdf/netcdf-3.6.2/lib -lnetcdf -#-Q- idris_tx7 #- -#-Q- linux #- Global definitions for Linux, pgf90 -#-Q- linux M_K = make -#-Q- linux P_C = /lib/cpp -#-Q- linux P_O = -P -C -traditional $(P_P) -#-Q- linux F_C = pgf90 -c -#-Q- linux #-D- MD F_D = -#-Q- linux #-D- MN F_D = -#-Q- linux #-P- I4R4 F_P = -i4 -#-Q- linux #-P- I4R8 F_P = -i4 -r8 -#-Q- linux #-P- I8R8 F_P = -i8 -r8 -#-Q- linux F_O = $(F_D) $(F_P) -Mfree -module $(MODDIR) -#-Q- linux F_L = pgf90 -#-Q- linux M_M = 0 -#-Q- linux L_X = 0 -#-Q- linux L_O = -Wl,-Bstatic -Mbounds -#-Q- linux A_C = ar -r -#-Q- linux A_G = ar -x -#-Q- linux C_C = gcc -c -#-Q- linux C_O = -Wall -#-Q- linux C_L = gcc -#-Q- linux #- -#-Q- linux NCDF_INC = /distrib/local/netcdf/pgf/include/ -#-Q- linux NCDF_LIB = -L/distrib/local/netcdf/pgf/lib/ -lnetcdf -#-Q- linux #- -#-Q- lxiv7 #- Global definitions for Linux, ifc -#-Q- lxiv7 M_K = gmake -#-Q- lxiv7 P_C = cpp -#-Q- lxiv7 P_O = -P -C $(P_P) -#-Q- lxiv7 F_C = ifc -c -#-Q- lxiv7 #-D- MD F_D = -g -#-Q- lxiv7 #-D- MN F_D = -#-Q- lxiv7 #-P- I4R4 F_P = -i4 -#-Q- lxiv7 #-P- I4R8 F_P = -i4 -r8 -#-Q- lxiv7 #-P- I8R8 F_P = -i8 -r8 -#-Q- lxiv7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- lxiv7 F_L = ifc -#-Q- lxiv7 M_M = 0 -#-Q- lxiv7 L_X = 0 -#-Q- lxiv7 L_O = -Vaxlib -#-Q- lxiv7 A_C = ar -r -#-Q- lxiv7 A_G = ar -x -#-Q- lxiv7 C_C = cc -c -#-Q- lxiv7 C_O = -#-Q- lxiv7 C_L = cc -#-Q- lxiv7 #- -#-Q- lxiv7 NCDF_INC = /usr/local/include -#-Q- lxiv7 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- lxiv7 #- -#-Q- lxiv8 #- Global definitions for Intel compiler (ifort) at LSCE -#-Q- lxiv8 M_K = gmake -#-Q- lxiv8 P_C = cpp -#-Q- lxiv8 P_O = -P -C $(P_P) -#-Q- lxiv8 F_C = ifort -c -cpp -#-Q- lxiv8 #-D- MD F_D = -g -#-Q- lxiv8 #-D- MN F_D = -#-Q- lxiv8 #-P- I4R4 F_P = -i4 -#-Q- lxiv8 #-P- I4R8 F_P = -i4 -r8 -#-Q- lxiv8 #-P- I8R8 F_P = -i8 -r8 -#-Q- lxiv8 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- lxiv8 F_L = ifort -#-Q- lxiv8 M_M = 0 -#-Q- lxiv8 L_X = 0 -#-Q- lxiv8 L_O = -Vaxlib -#-Q- lxiv8 A_C = ar -r -#-Q- lxiv8 A_G = ar -x -#-Q- lxiv8 C_C = cc -c -#-Q- lxiv8 C_O = -#-Q- lxiv8 C_L = cc -#-Q- lxiv8 #- -#-Q- lxiv8 NCDF_INC = /usr/local/include -#-Q- lxiv8 NCDF_LIB = -L/usr/local/lib -lnetcdff -lnetcdf -#-Q- lxiv8 #- -#-Q- osf1 #- Obsolete definitions for DEC OSF1 -#-Q- osf1 M_K = gmake -#-Q- osf1 P_C = cpp -#-Q- osf1 P_O = -P -C $(P_P) -#-Q- osf1 F_C = f90 -c -#-Q- osf1 #-D- MD F_D = -g -#-Q- osf1 #-D- MN F_D = -#-Q- osf1 #-P- I4R4 F_P = -#-Q- osf1 #-P- I4R8 F_P = -r8 -#-Q- osf1 #-P- I8R8 F_P = -i8 -r8 -#-Q- osf1 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- osf1 F_L = f90 -#-Q- osf1 M_M = 0 -#-Q- osf1 L_X = 0 -#-Q- osf1 L_O = -#-Q- osf1 A_C = ar -r -#-Q- osf1 A_G = ar -x -#-Q- osf1 C_C = cc -c -#-Q- osf1 C_O = -#-Q- osf1 C_L = cc -#-Q- osf1 #- -#-Q- osf1 NCDF_INC = /usr/local/include -#-Q- osf1 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- osf1 #- -#-Q- osxxlf #- Global definitions for Mac OS X and IBM xlf compiler -#-Q- osxxlf M_K = make -#-Q- osxxlf P_C = /usr/bin/cpp -#-Q- osxxlf P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- osxxlf F_C = xlf90 -c -#-Q- osxxlf #-D- MD F_D = -g -C -#-Q- osxxlf #-D- MN F_D = -#-Q- osxxlf #-P- I4R4 F_P = -qintsize=4 -qrealsize=4 -#-Q- osxxlf #-P- I4R8 F_P = -qintsize=4 -qrealsize=8 -#-Q- osxxlf #-P- I8R8 F_P = -qintsize=8 -qrealsize=8 -#-Q- osxxlf w_w = $(F_P) -O2 $(F_D) -qsuffix=f=f90 -#-Q- osxxlf F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- osxxlf F_L = xlf90 -#-Q- osxxlf M_M = 0 -#-Q- osxxlf L_X = 0 -#-Q- osxxlf L_O = $(F_P) -O2 -#-Q- osxxlf A_C = ar -rs -#-Q- osxxlf A_G = ar -x -#-Q- osxxlf C_C = cc -c -#-Q- osxxlf C_O = -#-Q- osxxlf C_L = cc -#-Q- osxxlf #- -#-Q- osxxlf NCDF_INC = /usr/local/install/netcdf-3.6.0-p1/include -#-Q- osxxlf NCDF_LIB = -L/usr/local/install/netcdf-3.6.0-p1/lib -lnetcdf -#-Q- osxxlf #- -#-Q- platine #- Global definitions for Bull (Itanium) at CCRT -#-Q- platine LIB_MPI = MPI1 -#-Q- platine LIB_MPI_BIS = MPI1 -#-Q- platine PRISM_ARCH = IA64 -#-Q- platine PRISM_NAME = platine -#-Q- platine FCM_ARCH = IA64_PLATINE -#-Q- platine M_K = gmake -#-Q- platine P_C = cpp -#-Q- platine P_O = -P -C $(P_P) -#-Q- platine F_C = mpif90 -c -cpp -#-Q- platine #-D- MD F_D = -g -#-Q- platine #-D- MN F_D = -#-Q- platine #-P- I4R4 F_P = -i4 -#-Q- platine #-P- I4R8 F_P = -i4 -r8 -#-Q- platine #-P- I8R8 F_P = -i8 -r8 -#-Q- platine F_O = -DCPP_PARA -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- platine F_L = mpif90 -#-Q- platine M_M = 0 -#-Q- platine L_X = 0 -#-Q- platine L_O = -#-Q- platine A_C = ar -r -#-Q- platine A_G = ar -x -#-Q- platine C_C = cc -c -#-Q- platine C_O = -#-Q- platine C_L = cc -#-Q- platine #- -#-Q- platine NCDF_INC = /usr/include -#-Q- platine NCDF_LIB = -L/usr/lib -lnetcdff -lnetcdf -#-Q- platine #- -#-Q- sgi6 #- Global definitions for IRIX64 (sgi6) -#-Q- sgi6 M_K = gmake -#-Q- sgi6 P_C = cpp -#-Q- sgi6 P_O = -P -C $(P_P) -#-Q- sgi6 F_C = f90 -c -#-Q- sgi6 #-D- MD F_D = -#-Q- sgi6 #-D- MN F_D = -#-Q- sgi6 #-P- I4R4 F_P = -i4 -r4 -#-Q- sgi6 #-P- I4R8 F_P = -i4 -r8 -#-Q- sgi6 #-P- I8R8 F_P = -i8 -r8 -#-Q- sgi6 F_O = $(F_D) $(F_P) -I $(MODDIR) -#-Q- sgi6 F_L = f90 -#-Q- sgi6 M_M = 0 -#-Q- sgi6 L_X = 0 -#-Q- sgi6 L_O = -#-Q- sgi6 A_C = ar -r -#-Q- sgi6 A_G = ar -x -#-Q- sgi6 C_C = cc -c -#-Q- sgi6 C_O = -#-Q- sgi6 C_L = cc -#-Q- sgi6 #- -#-Q- sgi6 NCDF_INC = /usr/local/pub/include -#-Q- sgi6 NCDF_LIB = -L/usr/local/pub/lib64 -lnetcdf -#-Q- sgi6 #- -#-Q- solaris #- Global definitions for SOLARIS -#-Q- solaris M_K = make -#-Q- solaris P_C = cpp -#-Q- solaris P_O = -P -C $(P_P) -#-Q- solaris F_C = f90 -c -#-Q- solaris #-D- MD F_D = -#-Q- solaris #-D- MN F_D = -#-Q- solaris #-P- I4R4 F_P = -#-Q- solaris #-P- I4R8 F_P = -r8const -#-Q- solaris #-P- I8R8 F_P = -i8const -r8const -#-Q- solaris F_O = $(F_D) $(F_P) -M$(MODDIR) -fast -#-Q- solaris F_L = f90 -#-Q- solaris M_M = 1 -#-Q- solaris L_X = 0 -#-Q- solaris L_O = -#-Q- solaris A_C = ar -r -#-Q- solaris A_G = ar -x -#-Q- solaris C_C = cc -c -#-Q- solaris C_O = -#-Q- solaris C_L = cc -#-Q- solaris #- -#-Q- solaris NCDF_INC = /distrib/local/include -#-Q- solaris NCDF_LIB = -L/distrib/local/lib -lnetcdf -#-Q- solaris #- -#-Q- sx6nec #- Global definitions for NEC SX8 at CCRT (alias) -#-Q- sx6nec LIB_MPI = MPI1 -#-Q- sx6nec LIB_MPI_BIS = MPI1 -#-Q- sx6nec PRISM_ARCH = SX -#-Q- sx6nec PRISM_NAME = mercure -#-Q- sx6nec FCM_ARCH = SX8_MERCURE -#-Q- sx6nec M_K = sxgmake -#-Q- sx6nec P_C = cpp -#-Q- sx6nec P_O = -P -C $(P_P) -#-Q- sx6nec F_C = sxmpif90 -c -#-Q- sx6nec #-D- MD F_D = -#-Q- sx6nec #-D- MN F_D = -#-Q- sx6nec #-P- I4R4 F_P = -dW -#-Q- sx6nec #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx6nec #-P- I8R8 F_P = -ew -#-Q- sx6nec F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx6nec F_L = sxmpif90 -#-Q- sx6nec M_M = 1 -#-Q- sx6nec L_X = 0 -#-Q- sx6nec L_O = -size_t64 $(F_P) -#-Q- sx6nec A_C = sxar -rv -#-Q- sx6nec A_G = sxar -x -#-Q- sx6nec A_X = sxar -rv -#-Q- sx6nec C_C = sxcc -size_t64 -c -#-Q- sx6nec C_O = -#-Q- sx6nec C_L = sxcc -size_t64 -#-Q- sx6nec FC_C = gcc -c -#-Q- sx6nec FC_O = -#-Q- sx6nec FC_L = gcc -#-Q- sx6nec #- -#-Q- sx6nec NCDF_INC = /usr/local/SX8/soft/netcdf/include -#-Q- sx6nec NCDF_LIB = -L/usr/local/SX8/soft/netcdf/lib -lnetcdf -#-Q- sx6nec #- -#-Q- sx8brodie #- Global definitions for NEC SX8 at Idris -#-Q- sx8brodie LIB_MPI = MPI1 -#-Q- sx8brodie LIB_MPI_BIS = MPI1 -#-Q- sx8brodie PRISM_ARCH = SX -#-Q- sx8brodie PRISM_NAME = brodie -#-Q- sx8brodie FCM_ARCH = SX8_BRODIE -#-Q- sx8brodie M_K = sxgmake -#-Q- sx8brodie P_C = sxcpp -#-Q- sx8brodie P_O = -P -C $(P_P) -#-Q- sx8brodie F_C = sxmpif90 -c -#-Q- sx8brodie #-D- MD F_D = -#-Q- sx8brodie #-D- MN F_D = -#-Q- sx8brodie #-P- I4R4 F_P = -dW -#-Q- sx8brodie #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx8brodie #-P- I8R8 F_P = -ew -#-Q- sx8brodie F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -I $(MODDIR) -#-Q- sx8brodie F_L = sxmpif90 -#-Q- sx8brodie M_M = 1 -#-Q- sx8brodie L_X = 0 -#-Q- sx8brodie L_O = $(F_P) -#-Q- sx8brodie A_C = sxar -rv -#-Q- sx8brodie A_G = sxar -x -#-Q- sx8brodie A_X = sxar -rv -#-Q- sx8brodie C_C = sxcc -c -#-Q- sx8brodie C_O = -#-Q- sx8brodie C_L = sxcc -#-Q- sx8brodie FC_C = gcc -c -#-Q- sx8brodie FC_O = -#-Q- sx8brodie FC_L = gcc -#-Q- sx8brodie #- -#-Q- sx8brodie NCDF_INC = /SXlocal/pub/netCDF/netCDF-3.6.1/include -#-Q- sx8brodie NCDF_LIB = -L/SXlocal/pub/netCDF/netCDF-3.6.1/lib -lnetcdf -#-Q- sx8brodie #- -#-Q- sx8mercure #- Global definitions for NEC SX8 at CCRT -#-Q- sx8mercure LIB_MPI = MPI1 -#-Q- sx8mercure LIB_MPI_BIS = MPI1 -#-Q- sx8mercure PRISM_ARCH = SX -#-Q- sx8mercure PRISM_NAME = mercure -#-Q- sx8mercure FCM_ARCH = SX8_MERCURE -#-Q- sx8mercure M_K = sxgmake -#-Q- sx8mercure P_C = cpp -#-Q- sx8mercure P_O = -P -C $(P_P) -#-Q- sx8mercure F_C = sxmpif90 -c -#-Q- sx8mercure #-D- MD F_D = -#-Q- sx8mercure #-D- MN F_D = -#-Q- sx8mercure #-P- I4R4 F_P = -dW -#-Q- sx8mercure #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx8mercure #-P- I8R8 F_P = -ew -#-Q- sx8mercure F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx8mercure F_L = sxmpif90 -#-Q- sx8mercure M_M = 1 -#-Q- sx8mercure L_X = 0 -#-Q- sx8mercure L_O = -size_t64 $(F_P) -#-Q- sx8mercure A_C = sxar -rv -#-Q- sx8mercure A_G = sxar -x -#-Q- sx8mercure A_X = sxar -rv -#-Q- sx8mercure C_C = sxcc -size_t64 -c -#-Q- sx8mercure C_O = -#-Q- sx8mercure C_L = sxcc -size_t64 -#-Q- sx8mercure FC_C = gcc -c -#-Q- sx8mercure FC_O = -#-Q- sx8mercure FC_L = gcc -#-Q- sx8mercure #- -#-Q- sx8mercure NETCDF_SX_INCLUDEDIR ?= /usr/local/SX8/soft/netcdf/include -#-Q- sx8mercure NETCDF_SX_LIBDIR ?= /usr/local/SX8/soft/netcdf/lib -#-Q- sx8mercure NCDF_INC = ${NETCDF_SX_INCLUDEDIR} -#-Q- sx8mercure NCDF_LIB = -L${NETCDF_SX_LIBDIR} -lnetcdf -#-Q- sx8mercure #- -#-Q- sx9mercure #- Global definitions for NEC SX9 at CCRT -#-Q- sx9mercure LIB_MPI = MPI1 -#-Q- sx9mercure LIB_MPI_BIS = MPI1 -#-Q- sx9mercure PRISM_ARCH = SX -#-Q- sx9mercure PRISM_NAME = mercure -#-Q- sx9mercure FCM_ARCH = SX9_MERCURE -#-Q- sx9mercure M_K = sxgmake -#-Q- sx9mercure P_C = cpp -#-Q- sx9mercure P_O = -P -C $(P_P) -#-Q- sx9mercure F_C = sxmpif90 -c -#-Q- sx9mercure #-D- MD F_D = -#-Q- sx9mercure #-D- MN F_D = -#-Q- sx9mercure #-P- I4R4 F_P = -dW -#-Q- sx9mercure #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx9mercure #-P- I8R8 F_P = -ew -#-Q- sx9mercure F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx9mercure F_L = sxmpif90 -#-Q- sx9mercure M_M = 1 -#-Q- sx9mercure L_X = 0 -#-Q- sx9mercure L_O = -size_t64 $(F_P) -#-Q- sx9mercure A_C = sxar -rv -#-Q- sx9mercure A_G = sxar -x -#-Q- sx9mercure A_X = sxar -rv -#-Q- sx9mercure C_C = sxcc -size_t64 -c -#-Q- sx9mercure C_O = -#-Q- sx9mercure C_L = sxcc -size_t64 -#-Q- sx9mercure FC_C = gcc -c -#-Q- sx9mercure FC_O = -#-Q- sx9mercure FC_L = gcc -#-Q- sx9mercure #- -#-Q- sx9mercure NETCDF_SX_INCLUDEDIR ?= /ccc/applications/sx9/netcdf-3.6.1/include -#-Q- sx9mercure NETCDF_SX_LIBDIR ?= /ccc/applications/sx9/netcdf-3.6.1/lib -#-Q- sx9mercure NCDF_INC = ${NETCDF_SX_INCLUDEDIR} -#-Q- sx9mercure NCDF_LIB = -L${NETCDF_SX_LIBDIR} -lnetcdf -#-Q- sx9mercure #- -#-Q- sxdkrz #- Global definitions for NEC SX8 at DKRZ -#-Q- sxdkrz LIB_MPI = MPI1 -#-Q- sxdkrz LIB_MPI_BIS = MPI1 -#-Q- sxdkrz PRISM_ARCH = SX -#-Q- sxdkrz PRISM_NAME = ds -#-Q- sxdkrz M_K = sxgmake -#-Q- sxdkrz P_C = cpp -#-Q- sxdkrz P_O = -P -C $(P_P) -#-Q- sxdkrz F_C = sxmpif90 -c -#-Q- sxdkrz #-D- MD F_D = -#-Q- sxdkrz #-D- MN F_D = -#-Q- sxdkrz #-P- I4R4 F_P = -dw -#-Q- sxdkrz #-P- I4R8 F_P = -dw -Wf\"-A idbl4\" -#-Q- sxdkrz #-P- I8R8 F_P = -ew -#-Q- sxdkrz F_O = $(F_D) $(F_P) -I $(MODDIR) -#-Q- sxdkrz F_L = sxmpif90 -#-Q- sxdkrz M_M = 1 -#-Q- sxdkrz L_X = 0 -#-Q- sxdkrz L_O = $(F_P) -#-Q- sxdkrz A_C = ar -rv -#-Q- sxdkrz A_G = ar -x -#-Q- sxdkrz A_X = sxar -rv -#-Q- sxdkrz C_C = sxcc -c -#-Q- sxdkrz C_O = -#-Q- sxdkrz C_L = sxcc -#-Q- sxdkrz FC_C = cc -c -#-Q- sxdkrz FC_O = -#-Q- sxdkrz FC_L = cc -#-Q- sxdkrz #- -#-Q- sxdkrz NCDF_INC = /pool/SX-6/netcdf/netcdf-3.5.0/include -#-Q- sxdkrz NCDF_LIB = -L/pool/SX-6/netcdf/netcdf-3.5.0/lib -lnetcdf_A_idbl4 -#-Q- sxdkrz #- -#-Q- t3e #- Obsolete definitions for T3E -#-Q- t3e M_K = gmake -#-Q- t3e P_C = cpp -#-Q- t3e P_O = -P -C $(P_P) -#-Q- t3e F_C = f90 -c -#-Q- t3e #-D- MD F_D = -#-Q- t3e #-D- MN F_D = -#-Q- t3e #-P- I4R4 F_P = -#-Q- t3e #-P- I4R8 F_P = -#-Q- t3e #-P- I8R8 F_P = -#-Q- t3e w_w = $(F_D) $(F_P) -rm -O2 -Ounroll2 -Osplit2 -dp -#-Q- t3e F_O = $(w_w) -p $(MODEL_LIB) -#-Q- t3e F_L = f90 -#-Q- t3e M_M = 0 -#-Q- t3e L_X = 0 -#-Q- t3e L_O = -X 4 -#-Q- t3e A_C = ar -r -#-Q- t3e A_G = ar -x -#-Q- t3e C_C = cc -c -#-Q- t3e C_O = -Wall -#-Q- t3e C_L = cc -#-Q- t3e #- -#-Q- t3e NCDF_INC = /usr/local/pub/include -#-Q- t3e NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- t3e #- -#-Q- titane #- Global definitions for Bull (Xeon) at CCRT -#-Q- titane LIB_MPI = MPI1 -#-Q- titane LIB_MPI_BIS = MPI1 -#-Q- titane PRISM_ARCH = X64 -#-Q- titane PRISM_NAME = titane -#-Q- titane FCM_ARCH = X64_TITANE -#-Q- titane M_K = gmake -#-Q- titane P_C = cpp -#-Q- titane P_O = -P -C $(P_P) -#-Q- titane F_C = mpif90 -c -cpp -#-Q- titane #-D- MD F_D = -g -#-Q- titane #-D- MN F_D = -#-Q- titane #-P- I4R4 F_P = -i4 -#-Q- titane #-P- I4R8 F_P = -i4 -r8 -#-Q- titane #-P- I8R8 F_P = -i8 -r8 -#-Q- titane F_O = -DCPP_PARA -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- titane F_L = mpif90 -#-Q- titane M_M = 0 -#-Q- titane L_X = 0 -#-Q- titane L_O = -#-Q- titane A_C = ar -r -#-Q- titane A_G = ar -x -#-Q- titane C_C = cc -c -#-Q- titane C_O = -#-Q- titane C_L = cc -#-Q- titane #- -#-Q- titane NCDF_INC = $(NETCDF_INCLUDEDIR) -#-Q- titane NCDF_LIB = -L$(NETCDF_LIBDIR) -lnetcdff -lnetcdf -#-Q- titane #- -#-Q- tx7 #- Global definitions for NEC TX7 front-end (Mercure) at CCRT, ifort -#-Q- tx7 M_K = gmake -#-Q- tx7 P_C = cpp -#-Q- tx7 P_O = -P -C $(P_P) -#-Q- tx7 F_C = ifort -c -#-Q- tx7 #-D- MD F_D = -g -#-Q- tx7 #-D- MN F_D = -#-Q- tx7 #-P- I4R4 F_P = -i4 -#-Q- tx7 #-P- I4R8 F_P = -i4 -r8 -#-Q- tx7 #-P- I8R8 F_P = -i8 -r8 -#-Q- tx7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- tx7 F_L = ifort -#-Q- tx7 M_M = 0 -#-Q- tx7 L_X = 0 -#-Q- tx7 L_O = -Vaxlib -#-Q- tx7 A_C = ar -r -#-Q- tx7 A_G = ar -x -#-Q- tx7 C_C = cc -c -#-Q- tx7 C_O = -#-Q- tx7 C_L = cc -#-Q- tx7 #- -#-Q- tx7 NCDF_INC = /usr/local/include -#-Q- tx7 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- tx7 #- -#-Q- ulam #- Global definitions for ulam at IDRIS -#-Q- ulam M_K = gmake -#-Q- ulam P_C = cpp -#-Q- ulam P_O = -P -C $(P_P) -#-Q- ulam F_C = ifort -c -cpp -#-Q- ulam #-D- MD F_D = -g -#-Q- ulam #-D- MN F_D = -#-Q- ulam #-P- I4R4 F_P = -i4 -#-Q- ulam #-P- I4R8 F_P = -i4 -r8 -#-Q- ulam #-P- I8R8 F_P = -i8 -r8 -#-Q- ulam F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- ulam F_L = ifort -#-Q- ulam M_M = 0 -#-Q- ulam L_X = 0 -#-Q- ulam L_O = -Vaxlib -#-Q- ulam A_C = ar -r -#-Q- ulam A_G = ar -x -#-Q- ulam C_C = cc -c -#-Q- ulam C_O = -#-Q- ulam C_L = cc -#-Q- ulam #- -#-Q- ulam NCDF_INC = /usr/local/pub/NetCDF/3.6.3/include -#-Q- ulam NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.3/lib -lnetcdf -#-Q- ulam #- -#-Q- unix #- Skeleton definitions for UNIX -#-Q- unix M_K = make -#-Q- unix P_C = cpp -#-Q- unix P_O = -P -C $(P_P) -#-Q- unix F_C = f90 -c -#-Q- unix #-D- MD F_D = -#-Q- unix #-D- MN F_D = -#-Q- unix #-P- I4R4 F_P = -#-Q- unix #-P- I4R8 F_P = -#-Q- unix #-P- I8R8 F_P = -#-Q- unix F_O = $(F_D) $(F_P) -M$(MODDIR) -#-Q- unix F_L = f90 -#-Q- unix M_M = 0 -#-Q- unix L_X = 0 -#-Q- unix L_O = -#-Q- unix A_C = ar -r -#-Q- unix A_G = ar -x -#-Q- unix C_C = cc -c -#-Q- unix C_O = -#-Q- unix C_L = cc -#-Q- unix #- -#-Q- unix NCDF_INC = /distrib/local/include -#-Q- unix NCDF_LIB = -L/distrib/local/lib -lnetcdf -#-Q- unix #- -#-Q- x86_64 #- Global definitions for new mercure front-end at CCRT (05/2010) -#-Q- x86_64 M_K = gmake -#-Q- x86_64 P_C = cpp -#-Q- x86_64 P_O = -P -C $(P_P) -#-Q- x86_64 F_C = ifort -c -#-Q- x86_64 #-D- MD F_D = -g -#-Q- x86_64 #-D- MN F_D = -#-Q- x86_64 #-P- I4R4 F_P = -i4 -#-Q- x86_64 #-P- I4R8 F_P = -i4 -r8 -#-Q- x86_64 #-P- I8R8 F_P = -i8 -r8 -#-Q- x86_64 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- x86_64 F_L = ifort -#-Q- x86_64 M_M = 0 -#-Q- x86_64 L_X = 0 -#-Q- x86_64 L_O = -Vaxlib -#-Q- x86_64 A_C = ar -r -#-Q- x86_64 A_G = ar -x -#-Q- x86_64 C_C = cc -c -#-Q- x86_64 C_O = -#-Q- x86_64 C_L = cc -#-Q- x86_64 #- -#-Q- x86_64 NCDF_INC = /applications/netcdf-3.6.3/include -#-Q- x86_64 NCDF_LIB = -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf -#-Q- x86_64 #- -RM = rm -f -STRIP = strip -SIZE = size diff --git a/deploy/patches/hector/nemo/v3.3/NEMOGCM/ARCH/arch-pgf90_linux.fcm b/deploy/patches/hector/nemo/v3.3/NEMOGCM/ARCH/arch-pgf90_linux.fcm deleted file mode 100644 index 2525d942c23f050bf6a91eda1c676cc0292f0c1b..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.3/NEMOGCM/ARCH/arch-pgf90_linux.fcm +++ /dev/null @@ -1,30 +0,0 @@ -# generic pgf90 compiler options for linux -# NCDF_INC netcdf include file -# NCDF_LIB netcdf library -# FC Fortran compiler command -# FCFLAGS Fortran compiler flags -# FFLAGS Fortran 77 compiler flags -# LD linker -# LDFLAGS linker flags, e.g. -L if you have libraries in a -# FPPFLAGS pre-processing flags -# AR assembler -# ARFLAGS assembler flags -# MK make -# USER_INC additional include files for the compiler, e.g. -I -# USER_LIB additional libraries to pass to the linker, e.g. -l - - -%NCDF_INC -I/opt/cray/netcdf/4.1.1.0/netcdf-pgi/include -%NCDF_LIB -L/opt/cray/netcdf/4.1.1.0/netcdf-pgi/lib -lnetcdf -%FC ftn -%FCFLAGS -O3 -i4 -r8 -%FFLAGS %FCFLAGS -%LD ftn -%LDFLAGS -%FPPFLAGS -P -C -traditional -%AR ar -%ARFLAGS -rs -%MK gmake -%USER_INC %NCDF_INC -%USER_LIB %NCDF_LIB - diff --git a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/ORCA2_LIM/cpp_ORCA2_LIM.fcm b/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/ORCA2_LIM/cpp_ORCA2_LIM.fcm deleted file mode 100644 index 4cc80c1a9fb418162eddf2247750cd75f25bf3dc..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/ORCA2_LIM/cpp_ORCA2_LIM.fcm +++ /dev/null @@ -1 +0,0 @@ -bld::tool::fppkeys key_trabbl key_vectopt_loop key_orca_r1 key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_tradmp key_zdftke key_zdfddm key_nproci=6 key_nprocj=6 key_mpp_mpi diff --git a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/compilation.cmd b/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/compilation.cmd deleted file mode 100755 index 0c01c2b6a1db1e5de78b751678f0ab953e1d0740..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/compilation.cmd +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# Modify key_nproci and key_nprocj in the following "fcm" -# file according to no. of proc to be used. -# vi ORCA2_LIM/cpp_ORCA2_LIM.fcm - -# Modify compiler options in the appropriat -# file located at the following path. -# vi ../ARCH/arch-*.fcm - -source /opt/modules/default/init/bash -module load xtpe-mc12 -module load netcdf - -compile=pgf90_linux -config=ORCA2_LIM -tools="REBUILD" - -cat<job -#!/bin/bash - -which ftn -which ncdump -cat ../ARCH/*$compile* -cat $config/cpp_$config.fcm -./makenemo clean -./makenemo -m $compile -n $config - -cd ../TOOLS -for l in $tools; do - ./maketools -m $compile -n \$l -done -EOJ - -chmod 775 job -nohup ./job >& compilation_$1.log & - diff --git a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/cp.cmd b/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/cp.cmd deleted file mode 100755 index 8e3e3bbb2bd2516f00423c21ae37adaf070fd2ce..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/cp.cmd +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -set -xuve - -mkdir -p ../../../bin -ls -lrt ../../../bin - -for nemo_config in `ls -1 | grep ORCA1`; do - mkdir -p ../../../bin/$nemo_config - cp -pf $nemo_config/BLD/bin/*.exe ../../../bin/$nemo_config -done - -ls -lrt ../../../bin diff --git a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/run_nemo-v3.3-orca1.cmd b/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/run_nemo-v3.3-orca1.cmd deleted file mode 100755 index 9c461bfc0529dac94f96976aa824276e3961a109..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/run_nemo-v3.3-orca1.cmd +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/ksh -############################################################################### -# RUN NEMO -############################################################################### -# -#!/bin/ksh --login -##PBS -N run_nemo-v3.3-orca1 -#PBS -l mppwidth=36 -#PBS -l mppnppn=24 -#PBS -l walltime=00:30:00 -#PBS -A hpx1enes -# - -# General settings - -date -set -xuv - -NEMO=/work/e24/rzg35ene/$USER/tools/nemo/v3.3-orca1 -TESTDATADIR=/work/e24/rzg35ene/$USER/tools/nemo/inidata -FORCING=${TESTDATADIR}/DFS4.1 -WRITINGDIR=/work/e24/rzg35ene/$USER/scratch/test -RUN_dir=$WRITINGDIR/run_nemo-v3.3-orca1_$PBS_JOBID - -NPROCNEMO=36 -MPPNPPN=24 -YEAR=1990 - -mkdir -p ${RUN_dir} || true -cd ${RUN_dir} - -cp ${NEMO}/bin/nemo.exe opa.xx -chmod 770 opa.xx - -cp ${NEMO}/setup/namelist.v3.3.default namelist -cp ${NEMO}/setup/namelist_ice_lim2.v3.3.default namelist_ice - -cp ${TESTDATADIR}/EMPave_old.dat EMPave_old.dat -cp ${TESTDATADIR}/geothermal_heating_orca1.nc geothermal_heating.nc -cp ${TESTDATADIR}/coordinates_ukorca1.nc coordinates.nc -cp ${TESTDATADIR}/bathy_meter_050308_UKMO.nc bathy_meter.nc -cp ${TESTDATADIR}/basinmask_050308_UKMO.nc basinmasks.nc -cp ${TESTDATADIR}/runoff_1m_ORCA1.nc runoff_1m_nomask.nc -cp ${TESTDATADIR}/sst_1m_ORCA1.nc sst_1m.nc -cp ${TESTDATADIR}/sss_1m_ORCA1.nc sss_1m.nc -cp ${TESTDATADIR}/dust_1m_ORCA1.nc dust_1m.nc -cp ${TESTDATADIR}/ahmcoef ahmcoef - -cp ${TESTDATADIR}/bathy_level46_050308_UKMO.nc bathy_level.nc -cp ${TESTDATADIR}/potemp_1m_z46_nomask.nc data_1m_potential_temperature_nomask.nc -cp ${TESTDATADIR}/salin_1m_z46_nomask.nc data_1m_salinity_nomask.nc - -ln -s ${TESTDATADIR}/weights_grid02_bicubic_orca1.nc weights_grid02_bicubic_orca1.nc -ln -s ${TESTDATADIR}/weights_grid02_bilinear_orca1.nc weights_grid02_bilinear_orca1.nc -ln -s ${TESTDATADIR}/weights_grid03_bicubic_orca1.nc weights_grid03_bicubic_orca1.nc -ln -s ${TESTDATADIR}/weights_grid03_bilinear_orca1.nc weights_grid03_bilinear_orca1.nc - -ln -s ${FORCING}/${YEAR}_1d_DFS4.1_lwdn.nc qlw_core.nc -ln -s ${FORCING}/${YEAR}_1d_DFS4.1_swdn.nc qsw_core.nc -ln -s ${FORCING}/${YEAR}_6hr_DFS4.1_q2m.nc q2_core.nc -ln -s ${FORCING}/${YEAR}_6hr_DFS4.1_t2m.nc t2_core.nc -ln -s ${FORCING}/${YEAR}_6hr_DFS4.1_u10.nc u10_core.nc -ln -s ${FORCING}/${YEAR}_6hr_DFS4.1_v10.nc v10_core.nc -ln -s ${FORCING}/${YEAR}_1m_DFS4.1_precip.nc precip_core.nc -ln -s ${FORCING}/${YEAR}_1m_DFS4.1_snow.nc snow_core.nc - -for ((l=0; l<$NPROCNEMO; l++)); do - ln -sf coordinates.nc coordinates_$(printf "%03d" $l).nc - ln -sf geothermal_heating.nc geothermal_heating_$(printf "%03d" $l).nc -done - -ls -alF - -ulimit -s unlimited - -aprun -n $NPROCNEMO -N $MPPNPPN opa.xx - -date diff --git a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist.v3.3.default b/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist.v3.3.default deleted file mode 100644 index b0d10dd5bab9cdae1daa4f578797fcf5b23697e4..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist.v3.3.default +++ /dev/null @@ -1,869 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "ORCA1" ! experience name - nn_it000 = 1 ! first time step - nn_itend = 720 ! last time step (std 5475) - nn_date0 = 19900101 ! initial calendar date yymmdd (used if nn_rstctl=1) - nn_leapy = 0 ! Leap year calendar (1) or not (0) - ln_rstart = .false. ! start from rest (F) or from a restart file (T) - nn_rstctl = 0 ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 720 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = 120 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .true. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .true. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24. , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24. , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24. , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24. , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24. , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1. , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1. , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1. , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1. , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1. , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1. , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1. , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u10_core' , 6 , 'u10' , .false. , .true. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Ume' - sn_wndj = 'v10_core' , 6 , 'v10' , .false. , .true. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Vme' - sn_qsr = 'qsw_core' , 24 , 'swdn' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_qlw = 'qlw_core' , 24 , 'lwdn' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_tair = 't2_core' , 6 , 't2' , .false. , .true. , 'yearly' , 'weights_grid02_bilinear_orca1.nc' , '' - sn_humi = 'q2_core' , 6 , 'q2' , .false. , .true. , 'yearly' , 'weights_grid02_bilinear_orca1.nc' , '' - sn_prec = 'precip_core' , -1 , 'precip' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_snow = 'snow_core' , -1 , 'snow' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 0.98 ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'weighted oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'weighted ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'none' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'coupled' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce only' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'cartesian' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'U,V' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask.nc', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask.nc', 0 , 'socoeff', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-4 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_1m.nc' , -1 , 'votemper', .false. , .false., 'yearly' , ' ' , ' ' - sn_sss = 'sss_1m.nc' , -1 , 'vosaline', .true. , .true. , 'yearly' , ' ' , ' ' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 2 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -66.0 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .false. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 5000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 1.67e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 0.78e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = .false. ! 2nd order centered scheme - ln_traadv_tvd = .true. ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1000. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1000. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .true. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .false. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = 0. ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.2e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 1 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 100. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .false. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.001 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .FALSE. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscelaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi) -!! nammpp_dyndist Massively Parallel domain decomposition ("key_agrif" && "key_mpp_dyndist") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 2000 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'I' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 0 ! size in bytes of exported buffer ('B' case), 0 no exportation -/ -!----------------------------------------------------------------------- -&nammpp_dyndist ! Massively Parallel Distribution for AGRIF zoom ("key_agrif" && "key_mpp_dyndist") -!----------------------------------------------------------------------- - jpni = 6 ! jpni number of processors following i - jpnj = 6 ! jpnj number of processors following j - jpnij = 36 ! jpnij number of local domains -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 4 ! number of processors in i-direction - nn_jsplt = 4 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .true. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ diff --git a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist_ice_lim2.v3.3.default b/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist_ice_lim2.v3.3.default deleted file mode 100644 index 1c93adb16794c443b98c9cfb72c2998943a4cbc8..0000000000000000000000000000000000000000 --- a/deploy/patches/hector/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist_ice_lim2.v3.3.default +++ /dev/null @@ -1,129 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice_in" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 1.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 2.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 200.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 360 ! number of EVP subcycling iterations - telast = 3600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.3 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ diff --git a/deploy/patches/ithaca/ecearth/v2.3.0/build/compilation.cmd b/deploy/patches/ithaca/ecearth/v2.3.0/build/compilation.cmd deleted file mode 100755 index b29bab07046dbc56a68c2dbc201102cdf5744b7f..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v2.3.0/build/compilation.cmd +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/ksh - -nemo_i=4 -nemo_j=4 - -while getopts i:j: option -do - case $option in - i) nemo_i=$OPTARG;; - j) nemo_j=$OPTARG;; - \?) exit 1;; - esac -done - -source /opt/modules/init/ksh -module load intel/13.0.1 -module load openmpi/1.6-intel # OpenMPI -#module load intel/4.0.3.008 # Intel MPI - -set -xuve -date - -MPI=/share/mpi/openmpi/1.6/ics2012.0.032 # OpenMPI -#MPI=/share/compilers/ics/2012.0.032/impi/4.0.3.008/intel64 # Intel MPI -NetCDF=/scratch/cfu/opt/netcdf-3.6.3/intel12 -UDUNITS=/scratch/cfu/opt/udunits-2.1.24/intel12 - -settings=settings.orca1.ithaca - -cd .. -ECEARTH=`pwd` -cd - - -cat > $settings <0)); then - NFRCO=$((NFRCO*3600/TSTEP)) - LMCCIEC=true - LMCCEC=true - LMCC04=false - NOACOMM=5 - LMCCICEIC=false - LECURR=false -else - LMCCIEC=true - LMCCEC=true - LMCC04=false - NOACOMM=0 - LMCCICEIC=false - LECURR=false -fi - -# WAM resolution -if [[ $WAMRESOL = global36 ]] ; then - rsoutw="-78.12" - rnortw="81.00" - rdegrew="0.36" -elif [[ $WAMRESOL = global50 ]] ; then - rsoutw="-81.00" - rnortw="81.00" - rdegrew="0.5" -elif [[ $WAMRESOL = global100 ]] ; then - rsoutw="-78.00" - rnortw="81.00" - rdegrew="1.0" -elif [[ $WAMRESOL = global150 ]] ; then - rsoutw="-81.00" - rnortw="81." - rdegrew="1.5" -elif [[ $WAMRESOL = global300 ]] ; then - rsoutw="-78.00" - rnortw="81.00" - rdegrew="3.0" -elif [[ $WAMRESOL = global511 ]] ; then - rsoutw="-89.731" - rnortw="89.731" - rdegrew="0.3514" -else - print - "$0: ERROR - WAMRESOL=$WAMRESOL. Invalid resolution." - print - "$0: ERROR - EXIT" - exit 1 -fi - -cat >namelistfc < WAMINPUT_CPLD_000<0)); then - NFRCO=$((NFRCO*3600/TSTEP)) - LMCCIEC=true - LMCCEC=true - LMCC04=true - NOACOMM=5 - LMCCICEIC=false - LECURR=true -else - LMCCIEC=true - LMCCEC=true - LMCC04=false - NOACOMM=0 - LMCCICEIC=false - LECURR=false -fi - -# WAM resolution -if [[ $WAMRESOL = global36 ]] ; then - rsoutw="-78.12" - rnortw="81.00" - rdegrew="0.36" -elif [[ $WAMRESOL = global50 ]] ; then - rsoutw="-81.00" - rnortw="81.00" - rdegrew="0.5" -elif [[ $WAMRESOL = global100 ]] ; then - rsoutw="-78.00" - rnortw="81.00" - rdegrew="1.0" -elif [[ $WAMRESOL = global150 ]] ; then - rsoutw="-81.00" - rnortw="81." - rdegrew="1.5" -elif [[ $WAMRESOL = global300 ]] ; then - rsoutw="-78.00" - rnortw="81.00" - rdegrew="3.0" -elif [[ $WAMRESOL = global511 ]] ; then - rsoutw="-89.731" - rnortw="89.731" - rdegrew="0.3514" -else - print - "$0: ERROR - WAMRESOL=$WAMRESOL. Invalid resolution." - print - "$0: ERROR - EXIT" - exit 1 -fi - -cat >namelistfc < WAMINPUT_CPLD_000<0)); then - NFRCO=$((NFRCO*3600/TSTEP)) - LMCCIEC=true - LMCCEC=true - LMCC04=true - NOACOMM=5 - LMCCICEIC=false - LECURR=true -else - LMCCIEC=true - LMCCEC=true - LMCC04=false - NOACOMM=0 - LMCCICEIC=false - LECURR=false -fi - -# WAM resolution -if [[ $WAMRESOL = global36 ]] ; then - rsoutw="-78.12" - rnortw="81.00" - rdegrew="0.36" -elif [[ $WAMRESOL = global50 ]] ; then - rsoutw="-81.00" - rnortw="81.00" - rdegrew="0.5" -elif [[ $WAMRESOL = global100 ]] ; then - rsoutw="-78.00" - rnortw="81.00" - rdegrew="1.0" -elif [[ $WAMRESOL = global150 ]] ; then - rsoutw="-81.00" - rnortw="81." - rdegrew="1.5" -elif [[ $WAMRESOL = global300 ]] ; then - rsoutw="-78.00" - rnortw="81.00" - rdegrew="3.0" -elif [[ $WAMRESOL = global511 ]] ; then - rsoutw="-89.731" - rnortw="89.731" - rdegrew="0.3514" -else - print - "$0: ERROR - WAMRESOL=$WAMRESOL. Invalid resolution." - print - "$0: ERROR - EXIT" - exit 1 -fi - -cat >namelistfc < WAMINPUT_CPLD_000<namelist <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! OPA namelist : model option and parameter input -! ------------- -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!----------------------------------------------------------------------- -! namrun parameters of the run -!----------------------------------------------------------------------- -! no job number -! cexper experience name for vairmer format -! ln_rstart boolean term for restart (true or false) -! nrstdt control of the restart timestep: -! = 0 restart, do not control nit000 in the restart file. -! = 1 restart, control nit000 in the restart file. Do not -! use the date in the restart file (use ndate0 in namelist) -! = 2 restart, control nit000 in the restart file, use the date -! in the restart file. ndate0 in the namelist is ignored. -! nit000 number of the first time step -! nitend number of the last time step -! ndate0 initial calendar date aammjj -! nleapy Leap year calendar (0/1) -! ninist initial state output flag (0/1) -! nstock frequency of restart file -! nwrite frequency of OUTPUT file (set to -1 to select EC-EARTH monthly means) -! nrunoff = 0 no, 1 runoff, 2 runoff+river mouth ups adv -! -! CAUTION: for usual run scripts, logical value of -! ******* ln_rstart must be .true. or .false. -! and NOT .TRUE. or .FALSE. -&namrun - no = 0 - cexper = "ORCA2" - ln_rstart = ${OCRESTART} - ln_glorst = ${GLOBAL_RESTART_FILE} - nrstdt = $(RESTART_MODE} - nit000 = $((${OCLENPRV}+1)) - nitend = ${OCLENGTH} - ndate0 = ${STARTDATE} - nleapy = 1 - ninist = 0 - nstock = ${OCLENGTH} - nwrite = ${NWRITE} - nrunoff = 2 -/ -!----------------------------------------------------------------------- -! nam_ctl Control prints & Benchmark -!----------------------------------------------------------------------- -! ln_ctl trends control print (expensive!) -! nprint level of print (0 no print) -! nictls start i indice to make the control SUM (very usefull to compare mono- -! nictle end i indice to make the control SUM (-versus multi processor runs) -! njctls start j indice to make the control SUM (very usefull to compare mono- -! njctle end j indice to make the control SUM (-versus multi processor runs) -! nisplt number of processors following i -! njsplt number of processors following j -! nbench Bench parameter (0/1): CAUTION it must be zero except for bench -! for which we dont care about physical meaning of the results -! nbit_cmp bit comparison mode parameter (0/1): enables bit comparison between -! single and multiple processor runs. -&namctl - ln_ctl = .false. - nprint = 0 - nictls = 0 - nictle = 0 - njctls = 0 - njctle = 0 - isplt = 1 - jsplt = 1 - nbench = 0 - nbit_cmp = 0 -/ -!----------------------------------------------------------------------- -! nam_mpp Massively Parallel Processing -!----------------------------------------------------------------------- -! c_mpi_send mpi send/recieve type -! = 'S' : standard blocking send -! = 'B' : buffer blocking send -! = 'I' : immediate non-blocking send -&nam_mpp - c_mpi_send = 'I' -/ -!----------------------------------------------------------------------- -! nam_zgr vertical coordinate -!----------------------------------------------------------------------- -! ln_zco z-coordinate - full steps (T/F) -! ln_zps z-coordinate - partial steps (T/F) -! ln_sco s- or hybrid z-s-coordinate (T/F) -&nam_zgr - ln_zco = .false. - ln_zps = .true. - ln_sco = .false. -/ -!----------------------------------------------------------------------- -! nam_zgr_sco s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- -! sbot_min minimum depth of s-bottom surface (>0) (m) -! sbot_max maximum depth of s-bottom surface (= ocean depth) (>0) (m) -! theta surface control parameter (0<=theta<=20) -! thetb bottom control parameter (0<=thetb<= 1) -! r_max maximum cut-off r-value allowed (05cm2/s ) -! (=2 no damping in the mixed layer defined rho /seconds | =86400. -> /day) -! ln_trdmld_instant flag to diagnose trends of instantantaneous or mean ML T/S -&namtrd - ntrd = 365 - nctls = 0 - ln_trdmld_restart = .false. - ucf = 1. - ln_trdmld_instant = .false. -/ -!----------------------------------------------------------------------- -! namgap level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- -! ngap time-step frequency of model-data gap computation -! nprg time-step frequency of gap print in model output -&namgap - ngap = 15 - nprg = 10 -/ -!----------------------------------------------------------------------- -! namznl zonal mean heat & freshwater fluxes computation -! (#ifdef "key_diaznl") -!----------------------------------------------------------------------- -! nfznl time-step frequency of zonal mean fluxes computation -&namznl - nfznl = 15 -/ -!----------------------------------------------------------------------- -! namspr surface pressure diagnostic -!----------------------------------------------------------------------- -! nmaxp maximum of iterations for the solver -! epsp absolute precision of the solver -! niterp number of iteration done by the solver -&namspr - nmaxp = 1000 - epsp = 1.e-3 - niterp = 400 -/ -!----------------------------------------------------------------------- -! namcpl coupled ocean/atmosphere model (#ifdef "key_coupled") -!----------------------------------------------------------------------- -! nexco coupling frequency in time steps -! cchan coupling technique 'PIPE' or 'CLIM' -&namcpl - nexco = 24 - cchan = 'PIPE' - nmodcpl = 2 - cplmodnam = 'opa.xx' - cploasis = 'Oasis' - nfldo2c = 2 - nflxc2o = 6 - ntauc2o = 4 - cpl_writ(1) = 'SOSSTSST' - cpl_f_writ(1) = 'ocesst' - cpl_writ(2) = 'SOICECOV' - cpl_f_writ(2) = 'oceice' - cpl_readflx(1) = 'SONSFLDO' - cpl_f_readflx(1) = 'oceflx' - cpl_readflx(2) = 'SOSHFLDO' - cpl_f_readflx(2) = 'oceflx' - cpl_readflx(3) = 'SOTOPRSU' - cpl_f_readflx(3) = 'oceflx' - cpl_readflx(4) = 'SOTFSHSU' - cpl_f_readflx(4) = 'oceflx' - cpl_readflx(5) = 'SORUNCOA' - cpl_f_readflx(5) = 'oceflx' - cpl_readflx(6) = 'SORIVFLU' - cpl_f_readflx(6) = 'oceflx' - cpl_readtau(1) = 'SOZOTAUX' - cpl_f_readtau(1) = 'ocetau' - cpl_readtau(2) = 'SOZOTAU2' - cpl_f_readtau(2) = 'ocetau' - cpl_readtau(3) = 'SOMETAUY' - cpl_f_readtau(3) = 'ocetau' - cpl_readtau(4) = 'SOMETAU2' - cpl_f_readtau(4) = 'ocetau' -/ -!----------------------------------------------------------------------- -! namobc open boundaries parameters (#ifdef key_obc) -!----------------------------------------------------------------------- -! nobc_dta = 0 the obc data are equal to the initial state -! = 1 the obc data are read in 'obc .dta' files -! rdpeob time relaxation (days) for the east open boundary -! rdpwob time relaxation (days) for the west open boundary -! rdpnob time relaxation (days) for the north open boundary -! rdpsob time relaxation (days) for the south open boundary -! zbsic1 barotropic stream function on isolated coastline 1 -! zbsic2 barotropic stream function on isolated coastline 2 -! zbsic3 barotropic stream function on isolated coastline 3 -! ln_obc_clim climatological obc data files (default T) -! ln_vol_cst total volume conserved -&namobc - nobc_dta = 0 - rdpein = 1. - rdpwin = 1. - rdpnin = 30. - rdpsin = 1. - rdpeob = 1500. - rdpwob = 15. - rdpnob = 150. - rdpsob = 15. - zbsic1 = 140.e+6 - zbsic2 = 1.e+6 - zbsic3 = 0. - ln_obc_clim = .true. - ln_vol_cst = .false. -/ -!----------------------------------------------------------------------- -! namflo float parameters (#ifdef key_float) -!----------------------------------------------------------------------- -! ln_rstflo boolean term for float restart (true or false) -! nwritefl frequency of float output file -! nstockfl frequency of float restart file -! ln_argo Argo type floats (stay at the surface each 10 days) -! ln_flork4 = T trajectories computed with a 4th order Runge-Kutta -! = F (default) computed with Blanke scheme -&namflo - ln_rstflo = .false. - nwritefl = 75 - nstockfl = 5475 - ln_argo = .false. - ln_flork4 = .false. -/ -!----------------------------------------------------------------------- -! namobs observation operator switch (#ifdef key_diaobs) -!----------------------------------------------------------------------- -! enactname Basename for ENACT input observation file -! ln_ena Logical switch for ENACT insitu data set -! ln_cor Logical switch for Coriolis insitu data set -! ln_t3d Logical switch for T profile observations -! ln_s3d Logical switch for S profile observations -! ln_pto Logical switch for gen profile T obs sfc -! ln_pro Logical switch for gen profile Rho obs sfc -! ln_pts Logical switch for gen profile T spec sfc -! ln_prs Logical switch for gen profile Rho spec sfc -! ln_pzm Logical switch for gen profile Z model lev -! ln_sla Logical switch for SLA observations -! ln_ssh Logical switch for SSH observations -! ln_sst Logical switch for SST observations -! ln_sss Logical switch for SSS observations -! dobsini Initial date in window YYYYMMDD.HHMMSS -! dobsend Final date in window YYYYMMDD.HHMMSS -! n1dint Type of vertical interpolation method -! 0 = Linear intepolation. -! 1 = Cubic spline interpolation. -! n2dint Type of horizontal interpolation method -! 0 = Distance-weighted interpolation -! 1 = Distance-weighted interpolation (small angle) -! 2 = Bilinear interpolation (geographical grid) -! 3 = Bilinear remapping interpolation (general grid) -! 4 = Polynomial interpolation -! ln_nea Logical switch to reject observations near land -! nslasets Number of SLA datasets -! nmsshc MSSH correction scheme -! 0 = no correction -! 1 = compute online -! 2 = set to mdtcorr -! mdtcutoff MDT cutoff for computed correction -! mdtcorr MDT correction factor (used if nmsshc = 2) -&namobs - ln_ena = .FALSE. - ln_cor = .FALSE. - ln_t3d = .FALSE. - ln_s3d = .FALSE. - ln_pto = .FALSE. - ln_pro = .FALSE. - ln_pts = .FALSE. - ln_prs = .FALSE. - ln_pzm = .FALSE. - ln_sla = .FALSE. - ln_ssh = .FALSE. - ln_sst = .FALSE. - ln_sss = .FALSE. - n1dint = 1 - n2dint = 3 - ln_nea = .FALSE. - nslasets = 1 - dobsini = 20010101 - dobsend = 20010101 - enactname = 'EN3_v1a_YYYY.MM.nc' - nmsshc = 1 - mdtcutoff = 65.0 - mdtcorr = 1.61 -/ -!----------------------------------------------------------------------- -! nam_asminc assimilation increment parameters (#ifdef key_asminc) -!----------------------------------------------------------------------- -! ln_bkgwri Logical switch for writing out background state -! ln_trjwri Logical switch for writing out state trajectory -! ln_trainc Logical switch for applying tracer increments -! ln_dyninc Logical switch for applying velocity increments -! ln_sshinc Logical switch for applying sea surface height increments -! ln_asmdin Logical switch for Direct Initialization (DI) -! ln_asmiau Logical switch for Incremental Analysis Updating (IAU) -! nitbkg Time step of the background state in [0,nitend-nit000-1] -! nitdin Time step of the background state for DI in [0,nitend-nit000-1] -! nitiaustr Time step of the start of the IAU interval in [0,nitend-nit000-1] -! nitiaufin Time step of the end of the IAU interval in [0,nitend-nit000-1] -! niaufn Type of IAU weighting function -! 0 = constant -! 1 = linear hat-like, centred in middle of IAU interval -&nam_asminc - ln_bkgwri = .FALSE - ln_trjwri = .FALSE. - ln_trainc = .FALSE. - ln_dyninc = .FALSE. - ln_sshinc = .FALSE. - ln_asmdin = .FALSE. - ln_asmiau = .FALSE. - nitbkg = 0 - nitdin = 0 - nitiaustr = 1 - nitiaufin = 150 - niaufn = 0 -/ -EOF -fi - -if [[ $ORCARESOL = ORCA1 ]]; then -cat >namelist <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! OPA namelist : model option and parameter input -! ------------- -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!----------------------------------------------------------------------- -! namrun parameters of the run -!----------------------------------------------------------------------- -! no job number -! cexper experience name for vairmer format -! ln_rstart boolean term for restart (true or false) -! nrstdt control of the restart timestep: -! = 0 restart, do not control nit000 in the restart file. -! = 1 restart, control nit000 in the restart file. Do not -! use the date in the restart file (use ndate0 in namelist) -! = 2 restart, control nit000 in the restart file, use the date -! in the restart file. ndate0 in the namelist is ignored. -! nit000 number of the first time step -! nitend number of the last time step -! ndate0 initial calendar date aammjj -! nleapy Leap year calendar (0/1) -! ninist initial state output flag (0/1) -! nstock frequency of restart file -! nwrite frequency of OUTPUT file (set to -1 to select EC-EARTH monthly means) -! nrunoff = 0 no, 1 runoff, 2 runoff+river mouth ups adv -! -! CAUTION: for usual run scripts, logical value of -! ******* ln_rstart must be .true. or .false. -! and NOT .TRUE. or .FALSE. -&namrun - no = 0 - cexper = "ORCA1" - ln_rstart = ${OCRESTART} - ln_glorst = ${GLOBAL_RESTART_FILE} - nrstdt = ${RESTART_MODE} - nit000 = $((${OCLENPRV}+1)) - nitend = ${OCLENGTH} - ndate0 = ${STARTDATE} - nleapy = 1 - ninist = 0 - nstock = ${OCLENGTH} - nwrite = ${NWRITE} - nrunoff = 2 -/ -!----------------------------------------------------------------------- -! nam_ctl Control prints & Benchmark -!----------------------------------------------------------------------- -! ln_ctl trends control print (expensive!) -! nprint level of print (0 no print) -! nictls start i indice to make the control SUM (very usefull to compare mono- -! nictle end i indice to make the control SUM (-versus multi processor runs) -! njctls start j indice to make the control SUM (very usefull to compare mono- -! njctle end j indice to make the control SUM (-versus multi processor runs) -! nisplt number of processors following i -! njsplt number of processors following j -! nbench Bench parameter (0/1): CAUTION it must be zero except for bench -! for which we dont care about physical meaning of the results -! nbit_cmp bit comparison mode parameter (0/1): enables bit comparison between -! single and multiple processor runs. -&namctl - ln_ctl = .false. - nprint = 0 - nictls = 0 - nictle = 0 - njctls = 0 - njctle = 0 - isplt = 1 - jsplt = 1 - nbench = 0 - nbit_cmp = 0 -/ -!----------------------------------------------------------------------- -! nam_mpp Massively Parallel Processing -!----------------------------------------------------------------------- -! c_mpi_send mpi send/recieve type -! = 'S' : standard blocking send -! = 'B' : buffer blocking send -! = 'I' : immediate non-blocking send -&nam_mpp - c_mpi_send = 'I' -/ -!----------------------------------------------------------------------- -! nam_zgr vertical coordinate -!----------------------------------------------------------------------- -! ln_zco z-coordinate - full steps (T/F) -! ln_zps z-coordinate - partial steps (T/F) -! ln_sco s- or hybrid z-s-coordinate (T/F) -&nam_zgr - ln_zco = .false. - ln_zps = .true. - ln_sco = .false. -/ -!----------------------------------------------------------------------- -! nam_zgr_sco s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- -! sbot_min minimum depth of s-bottom surface (>0) (m) -! sbot_max maximum depth of s-bottom surface (= ocean depth) (>0) (m) -! theta surface control parameter (0<=theta<=20) -! thetb bottom control parameter (0<=thetb<= 1) -! r_max maximum cut-off r-value allowed (05cm2/s ) -! (=2 no damping in the mixed layer defined rho /seconds | =86400. -> /day) -! ln_trdmld_instant flag to diagnose trends of instantantaneous or mean ML T/S -&namtrd - ntrd = 365 - nctls = 0 - ln_trdmld_restart = .false. - ucf = 1. - ln_trdmld_instant = .false. -/ -!----------------------------------------------------------------------- -! namgap level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- -! ngap time-step frequency of model-data gap computation -! nprg time-step frequency of gap print in model output -&namgap - ngap = 15 - nprg = 10 -/ -!----------------------------------------------------------------------- -! namznl zonal mean heat & freshwater fluxes computation -! (#ifdef "key_diaznl") -!----------------------------------------------------------------------- -! nfznl time-step frequency of zonal mean fluxes computation -&namznl - nfznl = 24 -/ -!----------------------------------------------------------------------- -! namspr surface pressure diagnostic -!----------------------------------------------------------------------- -! nmaxp maximum of iterations for the solver -! epsp absolute precision of the solver -! niterp number of iteration done by the solver -&namspr - nmaxp = 1000 - epsp = 1.e-3 - niterp = 400 -/ -!----------------------------------------------------------------------- -! namcpl coupled ocean/atmosphere model (#ifdef "key_coupled") -!----------------------------------------------------------------------- -! nexco coupling frequency in time steps -! cchan coupling technique 'PIPE' or 'CLIM' -&namcpl - nexco = 24 - cchan = 'PIPE' - nmodcpl = 2 - cplmodnam = 'opa.xx' - cploasis = 'Oasis' - nfldo2c = 2 - nflxc2o = 6 - ntauc2o = 4 - cpl_writ(1) = 'SOSSTSST' - cpl_f_writ(1) = 'ocesst' - cpl_writ(2) = 'SOICECOV' - cpl_f_writ(2) = 'oceice' - cpl_readflx(1) = 'SONSFLDO' - cpl_f_readflx(1) = 'oceflx' - cpl_readflx(2) = 'SOSHFLDO' - cpl_f_readflx(2) = 'oceflx' - cpl_readflx(3) = 'SOTOPRSU' - cpl_f_readflx(3) = 'oceflx' - cpl_readflx(4) = 'SOTFSHSU' - cpl_f_readflx(4) = 'oceflx' - cpl_readflx(5) = 'SORUNCOA' - cpl_f_readflx(5) = 'oceflx' - cpl_readflx(6) = 'SORIVFLU' - cpl_f_readflx(6) = 'oceflx' - cpl_readtau(1) = 'SOZOTAUX' - cpl_f_readtau(1) = 'ocetau' - cpl_readtau(2) = 'SOZOTAU2' - cpl_f_readtau(2) = 'ocetau' - cpl_readtau(3) = 'SOMETAUY' - cpl_f_readtau(3) = 'ocetau' - cpl_readtau(4) = 'SOMETAU2' - cpl_f_readtau(4) = 'ocetau' -/ -!----------------------------------------------------------------------- -! namobc open boundaries parameters (#ifdef key_obc) -!----------------------------------------------------------------------- -! nobc_dta = 0 the obc data are equal to the initial state -! = 1 the obc data are read in 'obc .dta' files -! rdpeob time relaxation (days) for the east open boundary -! rdpwob time relaxation (days) for the west open boundary -! rdpnob time relaxation (days) for the north open boundary -! rdpsob time relaxation (days) for the south open boundary -! zbsic1 barotropic stream function on isolated coastline 1 -! zbsic2 barotropic stream function on isolated coastline 2 -! zbsic3 barotropic stream function on isolated coastline 3 -! ln_obc_clim climatological obc data files (default T) -! ln_vol_cst total volume conserved -&namobc - nobc_dta = 0 - rdpein = 1. - rdpwin = 1. - rdpnin = 30. - rdpsin = 1. - rdpeob = 1500. - rdpwob = 15. - rdpnob = 150. - rdpsob = 15. - zbsic1 = 140.e+6 - zbsic2 = 1.e+6 - zbsic3 = 0. - ln_obc_clim = .true. - ln_vol_cst = .false. -/ -!----------------------------------------------------------------------- -! namflo float parameters (#ifdef key_float) -!----------------------------------------------------------------------- -! ln_rstflo boolean term for float restart (true or false) -! nwritefl frequency of float output file -! nstockfl frequency of float restart file -! ln_argo Argo type floats (stay at the surface each 10 days) -! ln_flork4 = T trajectories computed with a 4th order Runge-Kutta -! = F (default) computed with Blanke scheme -&namflo - ln_rstflo = .false. - nwritefl = 120 - nstockfl = 8760 - ln_argo = .false. - ln_flork4 = .false. -/ -!----------------------------------------------------------------------- -! namobs observation operator switch (#ifdef key_diaobs) -!----------------------------------------------------------------------- -! enactname Basename for ENACT input observation file -! ln_ena Logical switch for ENACT insitu data set -! ln_cor Logical switch for Coriolis insitu data set -! ln_t3d Logical switch for T profile observations -! ln_s3d Logical switch for S profile observations -! ln_pto Logical switch for gen profile T obs sfc -! ln_pro Logical switch for gen profile Rho obs sfc -! ln_pts Logical switch for gen profile T spec sfc -! ln_prs Logical switch for gen profile Rho spec sfc -! ln_pzm Logical switch for gen profile Z model lev -! ln_sla Logical switch for SLA observations -! ln_ssh Logical switch for SSH observations -! ln_sst Logical switch for SST observations -! ln_sss Logical switch for SSS observations -! dobsini Initial date in window YYYYMMDD.HHMMSS -! dobsend Final date in window YYYYMMDD.HHMMSS -! n1dint Type of vertical interpolation method -! 0 = Linear intepolation. -! 1 = Cubic spline interpolation. -! n2dint Type of horizontal interpolation method -! 0 = Distance-weighted interpolation -! 1 = Distance-weighted interpolation (small angle) -! 2 = Bilinear interpolation (geographical grid) -! 3 = Bilinear remapping interpolation (general grid) -! 4 = Polynomial interpolation -! ln_nea Logical switch to reject observations near land -! nslasets Number of SLA datasets -! nmsshc MSSH correction scheme -! 0 = no correction -! 1 = compute online -! 2 = set to mdtcorr -! mdtcutoff MDT cutoff for computed correction -! mdtcorr MDT correction factor (used if nmsshc = 2) -&namobs - ln_ena = .FALSE. - ln_cor = .FALSE. - ln_t3d = .FALSE. - ln_s3d = .FALSE. - ln_pto = .FALSE. - ln_pro = .FALSE. - ln_pts = .FALSE. - ln_prs = .FALSE. - ln_pzm = .FALSE. - ln_sla = .FALSE. - ln_ssh = .FALSE. - ln_sst = .FALSE. - ln_sss = .FALSE. - n1dint = 1 - n2dint = 3 - ln_nea = .FALSE. - nslasets = 1 - dobsini = 20010101 - dobsend = 20010101 - enactname = 'EN3_v1a_YYYY.MM.nc' - nmsshc = 1 - mdtcutoff = 65.0 - mdtcorr = 1.61 -/ -!----------------------------------------------------------------------- -! nam_asminc assimilation increment parameters (#ifdef key_asminc) -!----------------------------------------------------------------------- -! ln_bkgwri Logical switch for writing out background state -! ln_trjwri Logical switch for writing out state trajectory -! ln_trainc Logical switch for applying tracer increments -! ln_dyninc Logical switch for applying velocity increments -! ln_sshinc Logical switch for applying sea surface height increments -! ln_asmdin Logical switch for Direct Initialization (DI) -! ln_asmiau Logical switch for Incremental Analysis Updating (IAU) -! nitbkg Time step of the background state in [0,nitend-nit000-1] -! nitdin Time step of the background state for DI in [0,nitend-nit000-1] -! nitiaustr Time step of the start of the IAU interval in [0,nitend-nit000-1] -! nitiaufin Time step of the end of the IAU interval in [0,nitend-nit000-1] -! niaufn Type of IAU weighting function -! 0 = constant -! 1 = linear hat-like, centred in middle of IAU interval -&nam_asminc - ln_bkgwri = .FALSE - ln_trjwri = .FALSE. - ln_trainc = .FALSE. - ln_dyninc = .FALSE. - ln_sshinc = .FALSE. - ln_asmdin = .FALSE. - ln_asmiau = .FALSE. - nitbkg = 0 - nitdin = 0 - nitiaustr = 1 - nitiaufin = 150 - niaufn = 0 -/ -EOF -fi - -cat >namelist_ice <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -! ICE namelist : ice model option and parameter input -! ------------- -! -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicerun Share parameters for dynamics/advection/thermo -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! ln_limdyn : switch for ice dynamics (true) or not (false) -! acrit(1/2) : minimum fraction for leads in the Northern (Southern) Hemisphere -! hnsdif : computation of temperature in snow (=0.0) or not (=9999.0) -! hicdif : computation of temperature in ice (=0.0) or not (=9999.0) -! -&namicerun - ln_limdyn = .true. - acrit = 1.0e-06 , 1.0e-06 - hsndif = 0.0 - hicdif = 0.0 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namiceini parameters for ice initialisation -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! ln_limini : Ice initialization state flag -! ln_limdmp : restoring Ice thickness and Fraction leads flag -! ttest : threshold water temperature for initial sea ice -! hninn : initial snow thickness in the north -! hginn : initial ice thickness in the north -! alinn : initial leads area in the north -! hnins : initial snow thickness in the south -! hgins : initial ice thickness in the south -! alins : initial leads area in the south -! -&namiceini - ln_limini = .FALSE. - ln_limdmp = .FALSE. - ttest = 2.0 - hninn = 0.5 - hginn = 3.0 - alinn = 0.05 - hnins = 0.1 - hgins = 1.0 - alins = 0.1 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicedia parameters for ice diagnostics -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! fmtinf : format of the output values -! nfrinf : number of variables written in one line -! ntmoy : instantaneous values of ice evolution or averaging -! ninfo : frequency of ouputs on file ice_evolu in case of averaging -! -&namicedia - fmtinf = '1PE13.5 ' - nfrinf = 4 - ntmoy = 1 - ninfo = 1 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicedyn parameters for ice dynamic -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! epsd : tolerance parameter -! alpha : coefficient for semi-implicit coriolis -! bound : boundary conditions (=0.0 no-slip, =1.0 free-slip) -! dm : diffusion constant for dynamics. -! nbiter : number of sub-time steps for relaxation -! nbitdr : maximum number of iterations for relaxation -! om : relaxation constant -! resl : maximum value for the residual of relaxation -! cw : drag coefficient for oceanic stress -! angvg : turning angle for oceanic stress -! pstar : first bulk-rheology parameter -! c_rhg : second bulk-rhelogy parameter -! etamn : minimun value for viscosity -! creepl : creep limit -! ecc : eccentricity of the elliptical yield curve -! ahi0 : horizontal eddy diffusivity coefficient for sea-ice (m2/s) -! -&namicedyn - epsd = 1.0e-20 - alpha = 0.5 - dm = 0.6e+03 - nbiter = 1 - nbitdr = 100 - om = 0.5 - resl = 5.0e-05 - cw = 5.0e-03 - angvg = 0.0 - pstar = 1.0e+04 - c_rhg = 20.0 - etamn = 0.0e+07 - creepl = 2.0e-08 - ecc = 2.0 - ahi0 = 350.e0 -/ -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicetrp parameters for ice advection -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! bound : boundary conditions (=0.0 no-slip, =1.0 free-slip) -&namicetrp - bound = 0. -/ - -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicethd parameters for thermodynamic computation -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! hmelt : maximum melting at the bottom -! hiccrit(1/2): ice thickness for lateral accretion in the Northern (Southern) Hemisphere -! caution 1.0, 1.0 best value to be used!!! (gilles G.) -! hicmin : ice thickness corr. to max. energy stored in brine pocket -! hiclim : minimum ice thickness -! amax : maximum lead fraction -! swiqst : energy stored in brine pocket (=1) or not (=0) -! sbeta : numerical caracteritic of the scheme for diffusion in ice -! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) -! parlat : percentage of energy used for lateral ablation -! hakspl : slope of distr. for Hakkinen-Mellor's lateral melting -! hibspl : slope of distribution for Hibler's lateral melting -! exld : exponent for leads-closure rate -! hakdif : coefficient for diffusions of ice and snow -! thth : threshold thickness for comp. of eq. thermal conductivity -! hnzst : thickness of the surf. layer in temp. computation -! parsub : switch for snow sublimation or not -! alphs : coefficient for snow density when snow ice formation -! -&namicethd - hmelt = -0.15 - hiccrit = 0.3 , 0.3 - hicmin = 0.2 - hiclim = 0.05 - amax = 0.999 - swiqst = 1. - sbeta = 1. - parlat = 0.0 - hakspl = 0.5 - hibspl = 0.5 - exld = 2.0 - hakdif = 1.0 - thth = 0.2 - hnzst = 0.1 - parsub = 0.0 - alphs = 1.0 -/ -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namiceout parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! noumef : number of fields -! field -! title : title of the field -! name : name of the field -! unit : unit of the field -! nc : switch for saving field ( = 1 ) or not ( = 0 ) -! cmulti : multiplicative constant -! cadd : additive constant -! -&namiceout - noumef = 19 - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1, 1.0, 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1, 1.0, 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1, 1.0, 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1, -1.0, 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1, 1.0, -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1, 1.0, 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1, 1.0, 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1, 1.0, 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1, 1.0, -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1, 1.0, 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1, 1.0, 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1, 1.0, 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1, 1.0, 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1, 1.0, 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1, 1.0, 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1, 1.0, 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1, 1.0, 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1, 1.0, 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/s ', 1, 1.0, 0.0 -/ -EOF - -ln -sf $NEMODATA/* . -#ln -sf ${NEMOEXPVER}_19951101_EMPave_old.dat EMPave_old.dat - -set -x - -if [[ ${OCLENPRV} == 0 ]]; then - case ${ORCARESOL} in - ORCA2) - ln -sf ${NEMOEXPVER}_19951101_restart.nc restart.nc - ln -sf ORCA2_00000075_restart_ice.nc restart_ice_in.nc - ;; - ORCA1) - #ln -sf ORCA1_00271560_restart.nc restart.nc - #ln -sf ORCA1_00271560_restart_ice.nc restart_ice_in.nc - #for f in ORCA1_INIT_restart*.nc; do - # target=`echo $f | sed -e "s/ORCA1_INIT_//" -e "s/restart_ice/restart_ice_in/"` - # mv $f ${target} - #done - ln -sf ORCA1_INIT_restart.nc restart.nc - ln -sf ORCA1_INIT_restart_ice.nc restart_ice_in.nc - ;; - esac -else - rm -f restart.nc restart_ice_in.nc - restart_dir=${ORCARESOL}_Restart - mkdir -p ${restart_dir} - timestep=`printf "%08d" ${OCLENPRV}` - for f in ${ORCARESOL}_${timestep}_restart*.nc; do - target=`echo $f | sed -e "s/${ORCARESOL}_${timestep}_//" -e "s/restart_ice/restart_ice_in/"` -# mv $f ${restart_dir} - cp $f ${restart_dir} - ln -sf ${restart_dir}/$f ${target} - done -fi - diff --git a/deploy/patches/ithaca/ecearth/v2.3.0/build/setup/setupnemo2.ksh b/deploy/patches/ithaca/ecearth/v2.3.0/build/setup/setupnemo2.ksh deleted file mode 100755 index 07775e04cb6ebda7d3b010027dabdc1dd2fa5dd8..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v2.3.0/build/setup/setupnemo2.ksh +++ /dev/null @@ -1,1884 +0,0 @@ -#!/bin/ksh - -ECEARTH=unknown -OCLENPRV=0 -OCLENGTH=24 -ORCARESOL=ORCA2 -DATADIR=unknown -STARTDATE=19900101 -ADVSCH=cen2 -SAVEDDO=FALSE -GRESFILE='.false.' - -while getopts e:l:g:p:0:1:2:3:4: option -do - case $option in - e) ECEARTH=$OPTARG;; - l) OCLENGTH=$OPTARG;; - p) OCLENPRV=$OPTARG;; - g) ORCARESOL=$OPTARG;; - 0) DATADIR=$OPTARG;; - 1) STARTDATE=$OPTARG;; - 2) ADVSCH=$OPTARG;; - 3) SAVEDDO=$OPTARG;; - 4) GRESFILE=$OPTARG;; - \?) exit 1;; - esac -done - -case $ORCARESOL in - ORCA2) NEMOEXPVER=ew5k;; - ORCA1) NEMOEXPVER=ewho;; - * ) print "Unknown testcase in setupnemo.ksh" - exit 1;; -esac - -case $ADVSCH in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase in setupnemo.ksh" - exit 1;; -esac - -case $SAVEDDO in - 'TRUE' ) NWRITE=24 ;; - 'FALSE') NWRITE=-1 ;; -esac - -NEMODATA=${DATADIR}/nemo/${ORCARESOL} - -if [[ ${OCLENPRV} != 0 ]]; then - OCRESTART='.true.' - RESTART_MODE=2 - GLOBAL_RESTART_FILE=$GRESFILE - WRITE_MESH_FILES='0' -else - OCRESTART='.true.' # when starting from restart file -# OCRESTART='.false.' # set it to false to start from levitus - RESTART_MODE=0 - GLOBAL_RESTART_FILE='.true.' - WRITE_MESH_FILES='3' -fi - -if [[ ${ORCARESOL} = ORCA2 ]]; then -cat >namelist <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! OPA namelist : model option and parameter input -! ------------- -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!----------------------------------------------------------------------- -! namrun parameters of the run -!----------------------------------------------------------------------- -! no job number -! cexper experience name for vairmer format -! ln_rstart boolean term for restart (true or false) -! nrstdt control of the restart timestep: -! = 0 restart, do not control nit000 in the restart file. -! = 1 restart, control nit000 in the restart file. Do not -! use the date in the restart file (use ndate0 in namelist) -! = 2 restart, control nit000 in the restart file, use the date -! in the restart file. ndate0 in the namelist is ignored. -! nit000 number of the first time step -! nitend number of the last time step -! ndate0 initial calendar date aammjj -! nleapy Leap year calendar (0/1) -! ninist initial state output flag (0/1) -! nstock frequency of restart file -! nwrite frequency of OUTPUT file (set to -1 to select EC-EARTH monthly means) -! nrunoff = 0 no, 1 runoff, 2 runoff+river mouth ups adv -! -! CAUTION: for usual run scripts, logical value of -! ******* ln_rstart must be .true. or .false. -! and NOT .TRUE. or .FALSE. -&namrun - no = 0 - cexper = "ORCA2" - ln_rstart = ${OCRESTART} - ln_glorst = ${GLOBAL_RESTART_FILE} - nrstdt = $(RESTART_MODE} - nit000 = $((${OCLENPRV}+1)) - nitend = ${OCLENGTH} - ndate0 = ${STARTDATE} - nleapy = 1 - ninist = 0 - nstock = ${OCLENGTH} - nwrite = ${NWRITE} - nrunoff = 2 -/ -!----------------------------------------------------------------------- -! nam_ctl Control prints & Benchmark -!----------------------------------------------------------------------- -! ln_ctl trends control print (expensive!) -! nprint level of print (0 no print) -! nictls start i indice to make the control SUM (very usefull to compare mono- -! nictle end i indice to make the control SUM (-versus multi processor runs) -! njctls start j indice to make the control SUM (very usefull to compare mono- -! njctle end j indice to make the control SUM (-versus multi processor runs) -! nisplt number of processors following i -! njsplt number of processors following j -! nbench Bench parameter (0/1): CAUTION it must be zero except for bench -! for which we dont care about physical meaning of the results -! nbit_cmp bit comparison mode parameter (0/1): enables bit comparison between -! single and multiple processor runs. -&namctl - ln_ctl = .false. - nprint = 0 - nictls = 0 - nictle = 0 - njctls = 0 - njctle = 0 - isplt = 1 - jsplt = 1 - nbench = 0 - nbit_cmp = 0 -/ -!----------------------------------------------------------------------- -! nam_mpp Massively Parallel Processing -!----------------------------------------------------------------------- -! c_mpi_send mpi send/recieve type -! = 'S' : standard blocking send -! = 'B' : buffer blocking send -! = 'I' : immediate non-blocking send -&nam_mpp - c_mpi_send = 'I' -/ -!----------------------------------------------------------------------- -! nam_zgr vertical coordinate -!----------------------------------------------------------------------- -! ln_zco z-coordinate - full steps (T/F) -! ln_zps z-coordinate - partial steps (T/F) -! ln_sco s- or hybrid z-s-coordinate (T/F) -&nam_zgr - ln_zco = .false. - ln_zps = .true. - ln_sco = .false. -/ -!----------------------------------------------------------------------- -! nam_zgr_sco s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- -! sbot_min minimum depth of s-bottom surface (>0) (m) -! sbot_max maximum depth of s-bottom surface (= ocean depth) (>0) (m) -! theta surface control parameter (0<=theta<=20) -! thetb bottom control parameter (0<=thetb<= 1) -! r_max maximum cut-off r-value allowed (05cm2/s ) -! (=2 no damping in the mixed layer defined rho /seconds | =86400. -> /day) -! ln_trdmld_instant flag to diagnose trends of instantantaneous or mean ML T/S -&namtrd - ntrd = 365 - nctls = 0 - ln_trdmld_restart = .false. - ucf = 1. - ln_trdmld_instant = .false. -/ -!----------------------------------------------------------------------- -! namgap level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- -! ngap time-step frequency of model-data gap computation -! nprg time-step frequency of gap print in model output -&namgap - ngap = 15 - nprg = 10 -/ -!----------------------------------------------------------------------- -! namznl zonal mean heat & freshwater fluxes computation -! (#ifdef "key_diaznl") -!----------------------------------------------------------------------- -! nfznl time-step frequency of zonal mean fluxes computation -&namznl - nfznl = 15 -/ -!----------------------------------------------------------------------- -! namspr surface pressure diagnostic -!----------------------------------------------------------------------- -! nmaxp maximum of iterations for the solver -! epsp absolute precision of the solver -! niterp number of iteration done by the solver -&namspr - nmaxp = 1000 - epsp = 1.e-3 - niterp = 400 -/ -!----------------------------------------------------------------------- -! namcpl coupled ocean/atmosphere model (#ifdef "key_coupled") -!----------------------------------------------------------------------- -! nexco coupling frequency in time steps -! cchan coupling technique 'PIPE' or 'CLIM' -&namcpl - nexco = 24 - cchan = 'PIPE' - nmodcpl = 2 - cplmodnam = 'opa.xx' - cploasis = 'Oasis' - nfldo2c = 2 - nflxc2o = 6 - ntauc2o = 4 - cpl_writ(1) = 'SOSSTSST' - cpl_f_writ(1) = 'ocesst' - cpl_writ(2) = 'SOICECOV' - cpl_f_writ(2) = 'oceice' - cpl_readflx(1) = 'SONSFLDO' - cpl_f_readflx(1) = 'oceflx' - cpl_readflx(2) = 'SOSHFLDO' - cpl_f_readflx(2) = 'oceflx' - cpl_readflx(3) = 'SOTOPRSU' - cpl_f_readflx(3) = 'oceflx' - cpl_readflx(4) = 'SOTFSHSU' - cpl_f_readflx(4) = 'oceflx' - cpl_readflx(5) = 'SORUNCOA' - cpl_f_readflx(5) = 'oceflx' - cpl_readflx(6) = 'SORIVFLU' - cpl_f_readflx(6) = 'oceflx' - cpl_readtau(1) = 'SOZOTAUX' - cpl_f_readtau(1) = 'ocetau' - cpl_readtau(2) = 'SOZOTAU2' - cpl_f_readtau(2) = 'ocetau' - cpl_readtau(3) = 'SOMETAUY' - cpl_f_readtau(3) = 'ocetau' - cpl_readtau(4) = 'SOMETAU2' - cpl_f_readtau(4) = 'ocetau' -/ -!----------------------------------------------------------------------- -! namobc open boundaries parameters (#ifdef key_obc) -!----------------------------------------------------------------------- -! nobc_dta = 0 the obc data are equal to the initial state -! = 1 the obc data are read in 'obc .dta' files -! rdpeob time relaxation (days) for the east open boundary -! rdpwob time relaxation (days) for the west open boundary -! rdpnob time relaxation (days) for the north open boundary -! rdpsob time relaxation (days) for the south open boundary -! zbsic1 barotropic stream function on isolated coastline 1 -! zbsic2 barotropic stream function on isolated coastline 2 -! zbsic3 barotropic stream function on isolated coastline 3 -! ln_obc_clim climatological obc data files (default T) -! ln_vol_cst total volume conserved -&namobc - nobc_dta = 0 - rdpein = 1. - rdpwin = 1. - rdpnin = 30. - rdpsin = 1. - rdpeob = 1500. - rdpwob = 15. - rdpnob = 150. - rdpsob = 15. - zbsic1 = 140.e+6 - zbsic2 = 1.e+6 - zbsic3 = 0. - ln_obc_clim = .true. - ln_vol_cst = .false. -/ -!----------------------------------------------------------------------- -! namflo float parameters (#ifdef key_float) -!----------------------------------------------------------------------- -! ln_rstflo boolean term for float restart (true or false) -! nwritefl frequency of float output file -! nstockfl frequency of float restart file -! ln_argo Argo type floats (stay at the surface each 10 days) -! ln_flork4 = T trajectories computed with a 4th order Runge-Kutta -! = F (default) computed with Blanke scheme -&namflo - ln_rstflo = .false. - nwritefl = 75 - nstockfl = 5475 - ln_argo = .false. - ln_flork4 = .false. -/ -!----------------------------------------------------------------------- -! namobs observation operator switch (#ifdef key_diaobs) -!----------------------------------------------------------------------- -! enactname Basename for ENACT input observation file -! ln_ena Logical switch for ENACT insitu data set -! ln_cor Logical switch for Coriolis insitu data set -! ln_t3d Logical switch for T profile observations -! ln_s3d Logical switch for S profile observations -! ln_pto Logical switch for gen profile T obs sfc -! ln_pro Logical switch for gen profile Rho obs sfc -! ln_pts Logical switch for gen profile T spec sfc -! ln_prs Logical switch for gen profile Rho spec sfc -! ln_pzm Logical switch for gen profile Z model lev -! ln_sla Logical switch for SLA observations -! ln_ssh Logical switch for SSH observations -! ln_sst Logical switch for SST observations -! ln_sss Logical switch for SSS observations -! dobsini Initial date in window YYYYMMDD.HHMMSS -! dobsend Final date in window YYYYMMDD.HHMMSS -! n1dint Type of vertical interpolation method -! 0 = Linear intepolation. -! 1 = Cubic spline interpolation. -! n2dint Type of horizontal interpolation method -! 0 = Distance-weighted interpolation -! 1 = Distance-weighted interpolation (small angle) -! 2 = Bilinear interpolation (geographical grid) -! 3 = Bilinear remapping interpolation (general grid) -! 4 = Polynomial interpolation -! ln_nea Logical switch to reject observations near land -! nslasets Number of SLA datasets -! nmsshc MSSH correction scheme -! 0 = no correction -! 1 = compute online -! 2 = set to mdtcorr -! mdtcutoff MDT cutoff for computed correction -! mdtcorr MDT correction factor (used if nmsshc = 2) -&namobs - ln_ena = .FALSE. - ln_cor = .FALSE. - ln_t3d = .FALSE. - ln_s3d = .FALSE. - ln_pto = .FALSE. - ln_pro = .FALSE. - ln_pts = .FALSE. - ln_prs = .FALSE. - ln_pzm = .FALSE. - ln_sla = .FALSE. - ln_ssh = .FALSE. - ln_sst = .FALSE. - ln_sss = .FALSE. - n1dint = 1 - n2dint = 3 - ln_nea = .FALSE. - nslasets = 1 - dobsini = 20010101 - dobsend = 20010101 - enactname = 'EN3_v1a_YYYY.MM.nc' - nmsshc = 1 - mdtcutoff = 65.0 - mdtcorr = 1.61 -/ -!----------------------------------------------------------------------- -! nam_asminc assimilation increment parameters (#ifdef key_asminc) -!----------------------------------------------------------------------- -! ln_bkgwri Logical switch for writing out background state -! ln_trjwri Logical switch for writing out state trajectory -! ln_trainc Logical switch for applying tracer increments -! ln_dyninc Logical switch for applying velocity increments -! ln_sshinc Logical switch for applying sea surface height increments -! ln_asmdin Logical switch for Direct Initialization (DI) -! ln_asmiau Logical switch for Incremental Analysis Updating (IAU) -! nitbkg Time step of the background state in [0,nitend-nit000-1] -! nitdin Time step of the background state for DI in [0,nitend-nit000-1] -! nitiaustr Time step of the start of the IAU interval in [0,nitend-nit000-1] -! nitiaufin Time step of the end of the IAU interval in [0,nitend-nit000-1] -! niaufn Type of IAU weighting function -! 0 = constant -! 1 = linear hat-like, centred in middle of IAU interval -&nam_asminc - ln_bkgwri = .FALSE - ln_trjwri = .FALSE. - ln_trainc = .FALSE. - ln_dyninc = .FALSE. - ln_sshinc = .FALSE. - ln_asmdin = .FALSE. - ln_asmiau = .FALSE. - nitbkg = 0 - nitdin = 0 - nitiaustr = 1 - nitiaufin = 150 - niaufn = 0 -/ -EOF -fi - -if [[ $ORCARESOL = ORCA1 ]]; then -cat >namelist <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! OPA namelist : model option and parameter input -! ------------- -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!----------------------------------------------------------------------- -! namrun parameters of the run -!----------------------------------------------------------------------- -! no job number -! cexper experience name for vairmer format -! ln_rstart boolean term for restart (true or false) -! nrstdt control of the restart timestep: -! = 0 restart, do not control nit000 in the restart file. -! = 1 restart, control nit000 in the restart file. Do not -! use the date in the restart file (use ndate0 in namelist) -! = 2 restart, control nit000 in the restart file, use the date -! in the restart file. ndate0 in the namelist is ignored. -! nit000 number of the first time step -! nitend number of the last time step -! ndate0 initial calendar date aammjj -! nleapy Leap year calendar (0/1) -! ninist initial state output flag (0/1) -! nstock frequency of restart file -! nwrite frequency of OUTPUT file (set to -1 to select EC-EARTH monthly means) -! nrunoff = 0 no, 1 runoff, 2 runoff+river mouth ups adv -! -! CAUTION: for usual run scripts, logical value of -! ******* ln_rstart must be .true. or .false. -! and NOT .TRUE. or .FALSE. -&namrun - no = 0 - cexper = "ORCA1" - ln_rstart = ${OCRESTART} - ln_glorst = ${GLOBAL_RESTART_FILE} - nrstdt = ${RESTART_MODE} - nit000 = $((${OCLENPRV}+1)) - nitend = ${OCLENGTH} - ndate0 = ${STARTDATE} - nleapy = 1 - ninist = 0 - nstock = ${OCLENGTH} - nwrite = ${NWRITE} - nrunoff = 2 -/ -!----------------------------------------------------------------------- -! nam_ctl Control prints & Benchmark -!----------------------------------------------------------------------- -! ln_ctl trends control print (expensive!) -! nprint level of print (0 no print) -! nictls start i indice to make the control SUM (very usefull to compare mono- -! nictle end i indice to make the control SUM (-versus multi processor runs) -! njctls start j indice to make the control SUM (very usefull to compare mono- -! njctle end j indice to make the control SUM (-versus multi processor runs) -! nisplt number of processors following i -! njsplt number of processors following j -! nbench Bench parameter (0/1): CAUTION it must be zero except for bench -! for which we dont care about physical meaning of the results -! nbit_cmp bit comparison mode parameter (0/1): enables bit comparison between -! single and multiple processor runs. -&namctl - ln_ctl = .false. - nprint = 0 - nictls = 0 - nictle = 0 - njctls = 0 - njctle = 0 - isplt = 1 - jsplt = 1 - nbench = 0 - nbit_cmp = 0 -/ -!----------------------------------------------------------------------- -! nam_mpp Massively Parallel Processing -!----------------------------------------------------------------------- -! c_mpi_send mpi send/recieve type -! = 'S' : standard blocking send -! = 'B' : buffer blocking send -! = 'I' : immediate non-blocking send -&nam_mpp - c_mpi_send = 'I' -/ -!----------------------------------------------------------------------- -! nam_zgr vertical coordinate -!----------------------------------------------------------------------- -! ln_zco z-coordinate - full steps (T/F) -! ln_zps z-coordinate - partial steps (T/F) -! ln_sco s- or hybrid z-s-coordinate (T/F) -&nam_zgr - ln_zco = .false. - ln_zps = .true. - ln_sco = .false. -/ -!----------------------------------------------------------------------- -! nam_zgr_sco s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- -! sbot_min minimum depth of s-bottom surface (>0) (m) -! sbot_max maximum depth of s-bottom surface (= ocean depth) (>0) (m) -! theta surface control parameter (0<=theta<=20) -! thetb bottom control parameter (0<=thetb<= 1) -! r_max maximum cut-off r-value allowed (05cm2/s ) -! (=2 no damping in the mixed layer defined rho /seconds | =86400. -> /day) -! ln_trdmld_instant flag to diagnose trends of instantantaneous or mean ML T/S -&namtrd - ntrd = 365 - nctls = 0 - ln_trdmld_restart = .false. - ucf = 1. - ln_trdmld_instant = .false. -/ -!----------------------------------------------------------------------- -! namgap level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- -! ngap time-step frequency of model-data gap computation -! nprg time-step frequency of gap print in model output -&namgap - ngap = 15 - nprg = 10 -/ -!----------------------------------------------------------------------- -! namznl zonal mean heat & freshwater fluxes computation -! (#ifdef "key_diaznl") -!----------------------------------------------------------------------- -! nfznl time-step frequency of zonal mean fluxes computation -&namznl - nfznl = 24 -/ -!----------------------------------------------------------------------- -! namspr surface pressure diagnostic -!----------------------------------------------------------------------- -! nmaxp maximum of iterations for the solver -! epsp absolute precision of the solver -! niterp number of iteration done by the solver -&namspr - nmaxp = 1000 - epsp = 1.e-3 - niterp = 400 -/ -!----------------------------------------------------------------------- -! namcpl coupled ocean/atmosphere model (#ifdef "key_coupled") -!----------------------------------------------------------------------- -! nexco coupling frequency in time steps -! cchan coupling technique 'PIPE' or 'CLIM' -&namcpl - nexco = 24 - cchan = 'PIPE' - nmodcpl = 2 - cplmodnam = 'opa.xx' - cploasis = 'Oasis' - nfldo2c = 2 - nflxc2o = 6 - ntauc2o = 4 - cpl_writ(1) = 'SOSSTSST' - cpl_f_writ(1) = 'ocesst' - cpl_writ(2) = 'SOICECOV' - cpl_f_writ(2) = 'oceice' - cpl_readflx(1) = 'SONSFLDO' - cpl_f_readflx(1) = 'oceflx' - cpl_readflx(2) = 'SOSHFLDO' - cpl_f_readflx(2) = 'oceflx' - cpl_readflx(3) = 'SOTOPRSU' - cpl_f_readflx(3) = 'oceflx' - cpl_readflx(4) = 'SOTFSHSU' - cpl_f_readflx(4) = 'oceflx' - cpl_readflx(5) = 'SORUNCOA' - cpl_f_readflx(5) = 'oceflx' - cpl_readflx(6) = 'SORIVFLU' - cpl_f_readflx(6) = 'oceflx' - cpl_readtau(1) = 'SOZOTAUX' - cpl_f_readtau(1) = 'ocetau' - cpl_readtau(2) = 'SOZOTAU2' - cpl_f_readtau(2) = 'ocetau' - cpl_readtau(3) = 'SOMETAUY' - cpl_f_readtau(3) = 'ocetau' - cpl_readtau(4) = 'SOMETAU2' - cpl_f_readtau(4) = 'ocetau' -/ -!----------------------------------------------------------------------- -! namobc open boundaries parameters (#ifdef key_obc) -!----------------------------------------------------------------------- -! nobc_dta = 0 the obc data are equal to the initial state -! = 1 the obc data are read in 'obc .dta' files -! rdpeob time relaxation (days) for the east open boundary -! rdpwob time relaxation (days) for the west open boundary -! rdpnob time relaxation (days) for the north open boundary -! rdpsob time relaxation (days) for the south open boundary -! zbsic1 barotropic stream function on isolated coastline 1 -! zbsic2 barotropic stream function on isolated coastline 2 -! zbsic3 barotropic stream function on isolated coastline 3 -! ln_obc_clim climatological obc data files (default T) -! ln_vol_cst total volume conserved -&namobc - nobc_dta = 0 - rdpein = 1. - rdpwin = 1. - rdpnin = 30. - rdpsin = 1. - rdpeob = 1500. - rdpwob = 15. - rdpnob = 150. - rdpsob = 15. - zbsic1 = 140.e+6 - zbsic2 = 1.e+6 - zbsic3 = 0. - ln_obc_clim = .true. - ln_vol_cst = .false. -/ -!----------------------------------------------------------------------- -! namflo float parameters (#ifdef key_float) -!----------------------------------------------------------------------- -! ln_rstflo boolean term for float restart (true or false) -! nwritefl frequency of float output file -! nstockfl frequency of float restart file -! ln_argo Argo type floats (stay at the surface each 10 days) -! ln_flork4 = T trajectories computed with a 4th order Runge-Kutta -! = F (default) computed with Blanke scheme -&namflo - ln_rstflo = .false. - nwritefl = 120 - nstockfl = 8760 - ln_argo = .false. - ln_flork4 = .false. -/ -!----------------------------------------------------------------------- -! namobs observation operator switch (#ifdef key_diaobs) -!----------------------------------------------------------------------- -! enactname Basename for ENACT input observation file -! ln_ena Logical switch for ENACT insitu data set -! ln_cor Logical switch for Coriolis insitu data set -! ln_t3d Logical switch for T profile observations -! ln_s3d Logical switch for S profile observations -! ln_pto Logical switch for gen profile T obs sfc -! ln_pro Logical switch for gen profile Rho obs sfc -! ln_pts Logical switch for gen profile T spec sfc -! ln_prs Logical switch for gen profile Rho spec sfc -! ln_pzm Logical switch for gen profile Z model lev -! ln_sla Logical switch for SLA observations -! ln_ssh Logical switch for SSH observations -! ln_sst Logical switch for SST observations -! ln_sss Logical switch for SSS observations -! dobsini Initial date in window YYYYMMDD.HHMMSS -! dobsend Final date in window YYYYMMDD.HHMMSS -! n1dint Type of vertical interpolation method -! 0 = Linear intepolation. -! 1 = Cubic spline interpolation. -! n2dint Type of horizontal interpolation method -! 0 = Distance-weighted interpolation -! 1 = Distance-weighted interpolation (small angle) -! 2 = Bilinear interpolation (geographical grid) -! 3 = Bilinear remapping interpolation (general grid) -! 4 = Polynomial interpolation -! ln_nea Logical switch to reject observations near land -! nslasets Number of SLA datasets -! nmsshc MSSH correction scheme -! 0 = no correction -! 1 = compute online -! 2 = set to mdtcorr -! mdtcutoff MDT cutoff for computed correction -! mdtcorr MDT correction factor (used if nmsshc = 2) -&namobs - ln_ena = .FALSE. - ln_cor = .FALSE. - ln_t3d = .FALSE. - ln_s3d = .FALSE. - ln_pto = .FALSE. - ln_pro = .FALSE. - ln_pts = .FALSE. - ln_prs = .FALSE. - ln_pzm = .FALSE. - ln_sla = .FALSE. - ln_ssh = .FALSE. - ln_sst = .FALSE. - ln_sss = .FALSE. - n1dint = 1 - n2dint = 3 - ln_nea = .FALSE. - nslasets = 1 - dobsini = 20010101 - dobsend = 20010101 - enactname = 'EN3_v1a_YYYY.MM.nc' - nmsshc = 1 - mdtcutoff = 65.0 - mdtcorr = 1.61 -/ -!----------------------------------------------------------------------- -! nam_asminc assimilation increment parameters (#ifdef key_asminc) -!----------------------------------------------------------------------- -! ln_bkgwri Logical switch for writing out background state -! ln_trjwri Logical switch for writing out state trajectory -! ln_trainc Logical switch for applying tracer increments -! ln_dyninc Logical switch for applying velocity increments -! ln_sshinc Logical switch for applying sea surface height increments -! ln_asmdin Logical switch for Direct Initialization (DI) -! ln_asmiau Logical switch for Incremental Analysis Updating (IAU) -! nitbkg Time step of the background state in [0,nitend-nit000-1] -! nitdin Time step of the background state for DI in [0,nitend-nit000-1] -! nitiaustr Time step of the start of the IAU interval in [0,nitend-nit000-1] -! nitiaufin Time step of the end of the IAU interval in [0,nitend-nit000-1] -! niaufn Type of IAU weighting function -! 0 = constant -! 1 = linear hat-like, centred in middle of IAU interval -&nam_asminc - ln_bkgwri = .FALSE - ln_trjwri = .FALSE. - ln_trainc = .FALSE. - ln_dyninc = .FALSE. - ln_sshinc = .FALSE. - ln_asmdin = .FALSE. - ln_asmiau = .FALSE. - nitbkg = 0 - nitdin = 0 - nitiaustr = 1 - nitiaufin = 150 - niaufn = 0 -/ -EOF -fi - -cat >namelist_ice <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -! ICE namelist : ice model option and parameter input -! ------------- -! -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicerun Share parameters for dynamics/advection/thermo -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! ln_limdyn : switch for ice dynamics (true) or not (false) -! acrit(1/2) : minimum fraction for leads in the Northern (Southern) Hemisphere -! hnsdif : computation of temperature in snow (=0.0) or not (=9999.0) -! hicdif : computation of temperature in ice (=0.0) or not (=9999.0) -! -&namicerun - ln_limdyn = .true. - acrit = 1.0e-06 , 1.0e-06 - hsndif = 0.0 - hicdif = 0.0 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namiceini parameters for ice initialisation -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! ln_limini : Ice initialization state flag -! ln_limdmp : restoring Ice thickness and Fraction leads flag -! ttest : threshold water temperature for initial sea ice -! hninn : initial snow thickness in the north -! hginn : initial ice thickness in the north -! alinn : initial leads area in the north -! hnins : initial snow thickness in the south -! hgins : initial ice thickness in the south -! alins : initial leads area in the south -! -&namiceini - ln_limini = .FALSE. - ln_limdmp = .FALSE. - ttest = 2.0 - hninn = 0.5 - hginn = 3.0 - alinn = 0.05 - hnins = 0.1 - hgins = 1.0 - alins = 0.1 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicedia parameters for ice diagnostics -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! fmtinf : format of the output values -! nfrinf : number of variables written in one line -! ntmoy : instantaneous values of ice evolution or averaging -! ninfo : frequency of ouputs on file ice_evolu in case of averaging -! -&namicedia - fmtinf = '1PE13.5 ' - nfrinf = 4 - ntmoy = 1 - ninfo = 1 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicedyn parameters for ice dynamic -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! epsd : tolerance parameter -! alpha : coefficient for semi-implicit coriolis -! bound : boundary conditions (=0.0 no-slip, =1.0 free-slip) -! dm : diffusion constant for dynamics. -! nbiter : number of sub-time steps for relaxation -! nbitdr : maximum number of iterations for relaxation -! om : relaxation constant -! resl : maximum value for the residual of relaxation -! cw : drag coefficient for oceanic stress -! angvg : turning angle for oceanic stress -! pstar : first bulk-rheology parameter -! c_rhg : second bulk-rhelogy parameter -! etamn : minimun value for viscosity -! creepl : creep limit -! ecc : eccentricity of the elliptical yield curve -! ahi0 : horizontal eddy diffusivity coefficient for sea-ice (m2/s) -! -&namicedyn - epsd = 1.0e-20 - alpha = 0.5 - dm = 0.6e+03 - nbiter = 1 - nbitdr = 100 - om = 0.5 - resl = 5.0e-05 - cw = 5.0e-03 - angvg = 0.0 - pstar = 1.0e+04 - c_rhg = 20.0 - etamn = 0.0e+07 - creepl = 2.0e-08 - ecc = 2.0 - ahi0 = 350.e0 -/ -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicetrp parameters for ice advection -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! bound : boundary conditions (=0.0 no-slip, =1.0 free-slip) -&namicetrp - bound = 0. -/ - -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicethd parameters for thermodynamic computation -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! hmelt : maximum melting at the bottom -! hiccrit(1/2): ice thickness for lateral accretion in the Northern (Southern) Hemisphere -! caution 1.0, 1.0 best value to be used!!! (gilles G.) -! hicmin : ice thickness corr. to max. energy stored in brine pocket -! hiclim : minimum ice thickness -! amax : maximum lead fraction -! swiqst : energy stored in brine pocket (=1) or not (=0) -! sbeta : numerical caracteritic of the scheme for diffusion in ice -! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) -! parlat : percentage of energy used for lateral ablation -! hakspl : slope of distr. for Hakkinen-Mellor's lateral melting -! hibspl : slope of distribution for Hibler's lateral melting -! exld : exponent for leads-closure rate -! hakdif : coefficient for diffusions of ice and snow -! thth : threshold thickness for comp. of eq. thermal conductivity -! hnzst : thickness of the surf. layer in temp. computation -! parsub : switch for snow sublimation or not -! alphs : coefficient for snow density when snow ice formation -! -&namicethd - hmelt = -0.15 - hiccrit = 0.3 , 0.3 - hicmin = 0.2 - hiclim = 0.05 - amax = 0.999 - swiqst = 1. - sbeta = 1. - parlat = 0.0 - hakspl = 0.5 - hibspl = 0.5 - exld = 2.0 - hakdif = 1.0 - thth = 0.2 - hnzst = 0.1 - parsub = 0.0 - alphs = 1.0 -/ -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namiceout parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! noumef : number of fields -! field -! title : title of the field -! name : name of the field -! unit : unit of the field -! nc : switch for saving field ( = 1 ) or not ( = 0 ) -! cmulti : multiplicative constant -! cadd : additive constant -! -&namiceout - noumef = 19 - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1, 1.0, 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1, 1.0, 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1, 1.0, 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1, -1.0, 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1, 1.0, -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1, 1.0, 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1, 1.0, 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1, 1.0, 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1, 1.0, -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1, 1.0, 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1, 1.0, 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1, 1.0, 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1, 1.0, 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1, 1.0, 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1, 1.0, 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1, 1.0, 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1, 1.0, 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1, 1.0, 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/s ', 1, 1.0, 0.0 -/ -EOF - -#ln -sf $NEMODATA/* . -#ln -sf ${NEMOEXPVER}_19951101_EMPave_old.dat EMPave_old.dat - -set -x - -if [[ ${OCLENPRV} == 0 ]]; then - case ${ORCARESOL} in - ORCA2) - ln -sf ${NEMOEXPVER}_19951101_restart.nc restart.nc - ln -sf ORCA2_00000075_restart_ice.nc restart_ice_in.nc - ;; - ORCA1) - #ln -sf ORCA1_00271560_restart.nc restart.nc - #ln -sf ORCA1_00271560_restart_ice.nc restart_ice_in.nc - #for f in ORCA1_INIT_restart*.nc; do - # target=`echo $f | sed -e "s/ORCA1_INIT_//" -e "s/restart_ice/restart_ice_in/"` - # mv $f ${target} - #done - ln -sf ORCA1_INIT_restart.nc restart.nc - ln -sf ORCA1_INIT_restart_ice.nc restart_ice_in.nc - ;; - esac -else - rm -f restart.nc restart_ice_in.nc - restart_dir=${ORCARESOL}_Restart - mkdir -p ${restart_dir} - timestep=`printf "%08d" ${OCLENPRV}` - for f in ${ORCARESOL}_${timestep}_restart*.nc; do - target=`echo $f | sed -e "s/${ORCARESOL}_${timestep}_//" -e "s/restart_ice/restart_ice_in/"` -# mv $f ${restart_dir} - cp $f ${restart_dir} - ln -sf ${restart_dir}/$f ${target} - done -fi - diff --git a/deploy/patches/ithaca/ecearth/v2.3.0/build/setup/setupoasis3.ksh b/deploy/patches/ithaca/ecearth/v2.3.0/build/setup/setupoasis3.ksh deleted file mode 100755 index ef962e8192033c71d8b152c485b70c48c1e4e5b4..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v2.3.0/build/setup/setupoasis3.ksh +++ /dev/null @@ -1,748 +0,0 @@ -#!/bin/ksh - -ECEARTH=unknown -FCLENGTH=24 -IFSRESOL=T21L31 -OCERESOL=ORCA2 -NPROCIFS=1 -NPROCOCE=1 -NFRCO=-1 -OASIS3OLDWEIGHTS=true -OASIS3WEIGHTSDIR=unknown -DATADIR=unknown -STARTDATE=19900101 - -while getopts e:l:r:g:n:p:c:wW:0:1: option -do - case $option in - e) ECEARTH=$OPTARG;; - l) FCLENGTH=$OPTARG;; - r) IFSRESOL=$OPTARG;; - g) OCERESOL=$OPTARG;; - n) NPROCIFS=$OPTARG;; - p) NPROCOCE=$OPTARG;; - c) NFRCO=$OPTARG;; - w) OASIS3OLDWEIGHTS=false;; - W) OASIS3WEIGHTSDIR=$OPTARG;; - 0) DATADIR=$OPTARG;; - 1) STARTDATE=$OPTARG;; - \?) exit 1;; - esac -done - -NFRCO=$((NFRCO*3600)) -OASIS3TIME=$((FCLENGTH*3600)) -OASIS3DATA=$DATADIR/oasis3 - -if [[ $OASIS3OLDWEIGHTS = "true" ]]; then - wwrite=1 -else - wwrite=0 - ln -sf $OASIS3WEIGHTSDIR/* . -fi - -case $IFSRESOL in - T21L31 ) nxa=2048 - nya=1;; - T42L40 ) nxa=8192 - nya=1;; - T95L40 ) nxa=13280 - nya=1;; - T159L62|T159L91) nxa=35718 - nya=1;; - T255L62) nxa=88838 - nya=1;; - T399L62) nxa=213988 - nya=1;; - * ) print "Unknown testcase in setupoasis3.ksh" - exit 1;; -esac - -case $OCERESOL in - ORCA2) ocean_model_name=opa9 - nxo=182 - nyo=149;; - ORCA1) ocean_model_name=opa9 - nxo=362 - nyo=292;; - FOcean) ocean_model_name=FOcean - nxo=96 - nyo=48 ;; - SlabOcean) ocean_model_name=SOcean - nxo=96 - nyo=48 ;; - * ) print "Unknown testcase in setupoasis3.ksh" - exit 1;; -esac - -case $OCERESOL in -FOcean|SlabOcean) - -cat >namcouple <namcouple <&2; - exit 2;; - (\?) echo ${b_n}" : option $OPTARG : not supported" 1>&2; - exit 2;; - esac - done -shift $(($OPTIND-1)); -#- -# Validate the number of arguments -#- -if [ ${#} -lt 1 ]; then - echo ${b_n}' : Too few arguments have been specified. (Use -h)' 1>&2; - exit 3; -fi -#- -# Check for the output file name -#- -if [ '\?'${r_o} = '\?' ]; then - echo ' ' 1>&2; - echo ${b_n}' : output_file_name not specified. (Use -h)' 1>&2; - echo ' "rebuilt_file.nc" should be created.' 1>&2; - echo ' ' 1>&2; - r_o='rebuilt_file.nc' -fi; -#- -# Validate the names of the input files -#- -qi=0; -for i in $*; - do ((qi=qi+1)); - [ ${qi} -le ${#} ] && [ ! -f ${i} ] && \ - { echo "${i} unreachable ..."; exit 3;} - done -#- -# Create the information file for the program -#- -echo ${r_v} > tmp.$$; -echo ${r_f} >> tmp.$$; -((qi=$#+1)); -echo ${qi} >> tmp.$$; -for i in $*; - do echo ${i} >> tmp.$$; - done -echo ${r_o} >> tmp.$$; -#- -# Create the output file -#- -${d_n}/../../../../nemo_build/flio_rbld < tmp.$$ -#- -# Clear -#- -rm -f tmp.$$ -#- -# End -#- -exit 0; diff --git a/deploy/patches/ithaca/ecearth/v2.3.0/oasis3/prism_2-5/prism/src/mod/oasis3/util/make_dir/make.ithaca b/deploy/patches/ithaca/ecearth/v2.3.0/oasis3/prism_2-5/prism/src/mod/oasis3/util/make_dir/make.ithaca deleted file mode 100755 index 1ba1a34540c0a29177435743284e9c291e502eaa..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v2.3.0/oasis3/prism_2-5/prism/src/mod/oasis3/util/make_dir/make.ithaca +++ /dev/null @@ -1,74 +0,0 @@ -# -# Include file for OASIS3 Makefile for a Linux system using -# ifort and openmpi -# -############################################################################### -# -# Needed to work with SCE Makefile -COUPLE = oasis3 -I4mods = I -# -# CHAN : MPI1/MPI2 -CHAN = MPI1 -# -# Paths for libraries, object files and binaries -# -# PRISMHOME : path for the root of prism directory tree, can be anywhere -# ARCHDIR : directory created when compiling -# LIBPSMILE : list of oasis3 libraries -# PSMILE_INCDIR : includes all *o and *mod for each library -# BINDIR : directory for executables -# LIBBUILD : contains a directory for each library -# -PRISMHOME = $(TEMP)/prism -ARCHDIR = $(PRISMHOME)/${OASIS3ARCH} -# -LIBPSMILE = $(ARCHDIR)/lib/libanaisg.a $(ARCHDIR)/lib/libanaism.a $(ARCHDIR)/lib/libclim.$(CHAN).a $(ARCHDIR)/lib/libpsmile.$(CHAN).a $(ARCHDIR)/lib/libfscint.a $(ARCHDIR)/lib/libmpp_io.a $(ARCHDIR)/lib/libscrip.a -PSMILE_INCDIR = -I$(LIBBUILD)/psmile.$(CHAN) -I$(LIBBUILD)/clim.$(CHAN) -I$(LIBBUILD)/mpp_io -BINDIR = $(ARCHDIR)/bin -LIBBUILD = $(ARCHDIR)/build/lib -# -# NETCDF library -NETCDF_INCLUDE = ${NETCDFDIR}/include -NETCDF_LIBRARY = -L${NETCDFDIR}/lib ${NETCDFLIBS} -# -# MPI library -MPIBIN = $(MPIDIR)/bin -MPI_INCLUDE = $(MPIDIR)/include -MPILIB = -L$(MPIDIR)/lib ${MPILIBS} -# -# Compiling and other commands -MAKE = make -F90 = ifort -I$(MPI_INCLUDE) $(MPILIB) -F = $(F90) -f90 = $(F90) -f = $(F90) -CC = icc -I$(MPI_INCLUDE) -LD = ifort $(MPILIB) -AR = ar -ARFLAGS = -ruv -# -# compiler options and cpp keys -# -CPPDEF = -Duse_libMPI -Duse_netCDF -Duse_comm_$(CHAN) -DDEBUG -CCPPDEF = -Duse_libMPI -Duse_netCDF -Duse_comm_$(CHAN) -DDEBUG -# -# -g is necessary in F90FLAGS and LDFLAGS for pgf90 versions lower than 6.1 -# For compiling in double precision, put -r8 -# For compiling in single precision, remove -r8 and add -Duse_realtype_single -# -F90FLAGS = -g $(PSMILE_INCDIR) $(CPPDEF) -I$(NETCDF_INCLUDE) -fp-model precise -xSSSE3 -traceback -r8 -i4 -O2 -f90FLAGS = $(F90FLAGS) -FFLAGS = $(F90FLAGS) -fFLAGS = $(F90FLAGS) -CCFLAGS = $(PSMILE_INCDIR) $(CPPDEF) -I$(NETCDF_INCLUDE) -LDFLAGS = $(MPILIB) -# -# MPP_IOOPT needed for compiling mpp_io -MPP_IOOPT = -i4 -r8 -# -# External libraies for linking -FLIBS = $(NETCDF_LIBRARY) -# -# -############################################################################# diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/compilation.cmd b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/compilation.cmd deleted file mode 100755 index a7afcc5d8b487ae5ae9d17caf10f461f2fd548dc..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/compilation.cmd +++ /dev/null @@ -1,370 +0,0 @@ -#!/bin/bash - -# nohup ./compilation.cmd >& compiation.log & - -source /opt/modules/init/bash -module load intel/13.0.1 -module load openmpi/1.6-intel -module load szip/2.1 -module load hdf5/1.8.10 -module load netcdf/4.1.3 - -set -xuve -date - -MPI=/share/mpi/openmpi/1.6/ics2012.0.032 -LAPACK=/share/compilers/ics/2013.0.028/mkl -SZIP=/share/libs/szip/2.1 -HDF5=/share/libs/hdf5/1.8.10 -NetCDF=/share/libs/netcdf/4.1.3 -GribAPI=/scratch/cfu/opt/grib_api-1.9.9/intel-13 -GribEX=/scratch/cfu/opt/gribex_000370/intel-13 - -cd .. -export ECEARTH=$(pwd) -cd - - -PLATFORM=ithaca-intel-openmpi -CONFIG=config.xml - -cat > $CONFIG < - - - - - Nemo 3.3.1 config file - - nemo-3.3.1/ARCH/arch-ecconf.fcm - - - - - - IFS/36r4 makefile configuration - - ifs-36r4/Makefile.d/Makefile.config.ecconf - - - - - - OASIS makefile configuration - - oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf - - - - - - - HOST: ic3.cat - ARCH: linux_x86_64 - CPU MODEL: Intel Xeon X5570 @ 2.93GHz - COMPILER: Intel (ifort and icc 13) - MPI: OpenMPI (1.6) - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $ECEARTH - - - - MPI base directory - PATH - $MPI - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi_f77 mpi - - - - LAPACK base directory - PATH - $LAPACK - - - - LAPACK lib directory relative to base dir - PATH - lib/intel64 - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - $NetCDF - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf netcdff - - - - GRIB API base directory - PATH - $GribAPI - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - $GribEX - - - - GRIBEX lib directory relative to base dir - PATH - lib - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback -L${HDF5}/lib -lhdf5 -lhdf5_hl -L${SZIP}/lib -lsz - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - Additional Fortran compiler flags for EMOSLIB - STRING - -i4 - - - - Fortran preprocessor defs for EMOSLIB - STRING - linux LITTLE_ENDIAN POINTER_64 INTEGER_IS_INT REAL_8 REAL_BIGGER_THAN_INTEGER - - - - C preprocessor defs for EMOSLIB - STRING - \$(EMOS_FPPDEFS) FOPEN64 - - - - F90 dependency generator - STRING - \$(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - -EOF -cat $CONFIG - -# MAKEDEP90 Compilation -# ===================== - -if [ ! -d makedepf90-2.8.8 ]; then - tar -zxvf ../util/makedepf90/src/makedepf90-2.8.8.tar.gz - cd makedepf90-2.8.8 - ./configure --prefix=$ECEARTH/util/makedepf90/ - make - make install - cd - -fi - -# EC-CONF Usage -# ============= - -cd .. -$ECEARTH/util/ec-conf/ec-conf --platform $PLATFORM build-config/$CONFIG -BA=ecconf # Build Arch -cd - - -# OASIS Compilation -# ================= - -cd $ECEARTH/oasis*/util/make_dir/ -#make realclean -f TopMakefileOasis3 BUILD_ARCH=$BA -make -f TopMakefileOasis3 BUILD_ARCH=$BA - -# NEMO Compilation -# ================ - -cd $ECEARTH/nemo*/CONFIG/ -nemo_configs=`ls -1 | grep ORCA` -#set +e -#./makenemo clean -#set -e -for nemo_config in $nemo_configs; do - ./makenemo -m $BA -n $nemo_config -j 8 -done - -# IFS Compilation -# =============== - -cd $ECEARTH/ifs*/ -#make clean BUILD_ARCH=$BA -#make realclean BUILD_ARCH=$BA -#make dep-clean BUILD_ARCH=$BA -make -j 8 BUILD_ARCH=$BA lib -make BUILD_ARCH=$BA master - -date diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/cp.cmd b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/cp.cmd deleted file mode 100755 index e0dc239d47fd91203798f41a4e04bfdcd9ff8cab..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/cp.cmd +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/ksh - -bin=bin - -while getopts b: option -do - case $option in - b) bin=$OPTARG;; - \?) exit 1;; - esac -done - -set -xuve - -bin="../../../$bin" -mkdir -p $bin -ls -lrt $bin - -cp -p ../oasis3/*con*/bin/oasis3.MPI1.x $bin -for nemo_config in `ls -1 ../nemo*/CONFIG | grep ORCA`; do - mkdir -p $bin/$nemo_config - cp -pf ../nemo-3.3.1/CONFIG/$nemo_config/BLD/bin/*.exe $bin/$nemo_config -done -cp -p ../ifs-36r4/bin/ifsmaster-*con* $bin - -ls -lrt $bin diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/run-atm.cmd b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/run-atm.cmd deleted file mode 100755 index eeb4298653cea292c909a8ba7f7d4f14f032fce1..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/run-atm.cmd +++ /dev/null @@ -1,356 +0,0 @@ -#!/bin/sh -############################################################################### -# RUN EC_EARTH -############################################################################### -#$ -S /bin/sh -#$ -N run-atm -#$ -V -#$ -cwd -#$ -pe orte 48 -# -############################################################################### - -# modules setup -source /opt/modules/init/bash -module load intel/13.0.1 -module load openmpi/1.6-intel -# tell OpenMPI to only use infiniband -export OMPI_MCA_btl=sm,self,openib -module load szip/2.1 -module load hdf5/1.8.10 -module load netcdf/4.1.3 - -# setup the grib_api env. -PATH=/scratch/cfu/opt/grib_api-1.9.9/intel-13/bin:$PATH - -set -xuve -module list - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -ifs_grid=T255L62 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=0 - -# Directories -ecearth_base_dir=/scratch/cfu/models/ecearth/v3.0.1 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/cfu/$USER/test/run_${ifs_grid}_atm_${JOB_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -grib_api_path=/scratch/cfu/opt/grib_api-1.9.9/intel-13 - -export GRIB_DEFINITION_PATH=${grib_api_path}/share/definitions -export GRIB_SAMPLES_PATH=${grib_api_path}/ifs_samples/grib1 -export GRIB_BIN_PATH=${grib_api_path}/bin - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -case ${ifs_grid} in - T159*) ifs_time_step_sec=3600 ;; - T255*) ifs_time_step_sec=2700 ;; - T511*) ifs_time_step_sec=900 ;; - T799*) ifs_time_step_sec=720 ;; - *) error "Unsupported grid type: ${ifs_grid}" - ;; -esac - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\2:') - -ifs_numproc=48 - -ifs_exe_file=${bin_dir}/ifsmaster-${build_arch} - -ifs_lastout=true - -ifs_cmip5=TRUE -ifs_cmip5_rcp=0 -ifs_volcanoes=TRUE -ifs_ncmip5fixyr=0 - - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/climate/ICMSEAECE3INIT \ - ICMSEA${exp_name}INIT - - # Other stuff - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Output control (ppt files) - mkdir postins - cp ${ctrl_file_dir}/ppt* postins/ - f_min=$(( ifs_output_freq * ifs_time_step_sec / 60 )) - for t in $(seq $f_min $f_min 1439) - do - hh=$(printf %02d $((t/60)) ) - mm=$(printf %02d $((t%60)) ) - ln -s pptdddddd0000 postins/pptdddddd$hh$mm - done - /bin/ls -1 postins/* > dirlist - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS namelist file -. ${ctrl_file_dir}/namelist.ifs-${ifs_grid}.sh > fort.4 - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ - -# Create data for december, the year before the leg starts -grib_set \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - grib_set -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -grib_set -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=no - -### --- PLATFORM DEPENDENT CODE --- -ulimit -s unlimited -### --- END of PLATFORM DEPENDENT CODE --- - -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -mpirun -np ${ifs_numproc} ${ifs_exe_file} -v ecmwf -e ${exp_name} -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToRename="NODE.001_01 rcf" -for file in ${filesToRename} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/run.cmd b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/run.cmd deleted file mode 100755 index 0be8fa9b367cdbb3d32114c42102673ae9477c90..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/run.cmd +++ /dev/null @@ -1,513 +0,0 @@ -#!/bin/sh -############################################################################### -# RUN EC_EARTH -############################################################################### -#$ -S /bin/sh -#$ -N run -#$ -V -#$ -cwd -#$ -pe orte 56 -# -############################################################################### - -# modules setup -source /opt/modules/init/bash -module load intel/13.0.1 -module load openmpi/1.6-intel -# tell OpenMPI to only use infiniband -export OMPI_MCA_btl=sm,self,openib -module load szip/2.1 -module load hdf5/1.8.10 -module load netcdf/4.1.3 - -# setup the grib_api env. -PATH=/scratch/cfu/opt/grib_api-1.9.9/intel-13/bin:$PATH - -set -xuve -module list - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -ifs_grid=T255L62 -nem_grid=ORCA1L46 -lim=LIM2 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=3 - -# Directories -ecearth_base_dir=/scratch/cfu/models/ecearth/v3.0.1 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/cfu/$USER/test/run_${ifs_grid}_${nem_grid}_${JOB_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -grib_api_path=/scratch/cfu/opt/grib_api-1.9.9/intel-13 - -export GRIB_DEFINITION_PATH=${grib_api_path}/share/definitions -export GRIB_SAMPLES_PATH=${grib_api_path}/ifs_samples/grib1 -export GRIB_BIN_PATH=${grib_api_path}/bin - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -case ${ifs_grid} in - T159*) ifs_time_step_sec=3600 ;; - T255*) ifs_time_step_sec=2700 ;; - T511*) ifs_time_step_sec=900 ;; - T799*) ifs_time_step_sec=720 ;; - *) error "Unsupported grid type: ${ifs_grid}" - ;; -esac - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\2:') - -ifs_numproc=32 - -ifs_exe_file=${bin_dir}/ifsmaster-${build_arch} - -ifs_lastout=true - -ifs_cmip5=TRUE -ifs_cmip5_rcp=0 -ifs_volcanoes=TRUE -ifs_ncmip5fixyr=0 - -# ----------------------------------------------------------------------------- -# *** NEMO/LIM configuration -# ----------------------------------------------------------------------------- - -nem_version=3.3.1 -lim_version=$(echo $lim | cut -d 'M' -f 2) - -case ${nem_grid} in - ORCA1*) nem_time_step_sec=3600 ;; - ORCA025*) nem_time_step_sec=1200 ;; - *) error "Unsupported grid type: ${nem_grid}" - ;; -esac -lim_time_step_sec=3600 - -nem_res_hor=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\1:') -nem_res_ver=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\2:') - -nem_exe_file=${bin_dir}/${nem_grid}_${lim}/nemo.exe - -nem_numproc=16 - -advsch=tvd -rstctl=1 - -# ----------------------------------------------------------------------------- -# *** OASIS configuration -# ----------------------------------------------------------------------------- - -oas_namcut_script=${ecearth_base_dir}/sources/sources/util/namcouple-split/namsplit.pl - -oas_numproc=7 - -# Flux correction that compensates for the mismatch in the LSM of IFS and NEMO -# The QS, RUNOFF and CALVING coupling fields are multiplied by this factor. See -# documentation on the EC-Earth 3 Wiki for more details. -oas_qs_fluxcorr=0.985 -oas_rnf_fluxcorr=0.985 - -oas_exe_file=${bin_dir}/oasis3.MPI1.x - -# Restart files for the coupling fields -oas_cpl_flds="TAUX_OCE TAUY_OCE TAUX_ICE TAUY_ICE \ - QS___OCE QS___ICE QNS__OCE QNS__ICE DQDT_ICE \ - PRCP_LIQ PRCP_SOL EVAP_TOT EVAP_ICE RNF__OCE CALV_OCE \ - O_SSTSST O_TepIce O_AlbIce OIceFrac O_IceTck O_SnwTck" - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - ln -s ${nem_exe_file} - ln -s ${oas_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - # Other stuff - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Output control (ppt files) - mkdir postins - cp ${ctrl_file_dir}/ppt* postins/ - f_min=$(( ifs_output_freq * ifs_time_step_sec / 60 )) - for t in $(seq $f_min $f_min 1439) - do - hh=$(printf %02d $((t/60)) ) - mm=$(printf %02d $((t%60)) ) - ln -s pptdddddd0000 postins/pptdddddd$hh$mm - done - /bin/ls -1 postins/* > dirlist - - # Run-off file - #ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - - # ------------------------------------------------------------------------- - # *** Files needed for NEMO (linked) - # ------------------------------------------------------------------------- - - # Various stuff - ln -s ${ini_data_dir}/nemo/${nem_grid}/bathy_meter.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/coordinates.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/ahmcoef - - # Initial data - ln -s ${ini_data_dir}/nemo/${nem_grid}/temperature_*.nc . - ln -s ${ini_data_dir}/nemo/${nem_grid}/salinity_*.nc . - - # IOM files - ln -s ${ctrl_file_dir}/xmlio_server.def - ln -s ${ctrl_file_dir}/iodef.xml - - # ------------------------------------------------------------------------- - # *** Files needed for OASIS (linked) - # ------------------------------------------------------------------------- - - # Name table file - ln -s ${ini_data_dir}/oasis/cf_name_table.txt - - oas_grid_dir=${ini_data_dir}/oasis/T${ifs_res_hor}-ORCA${nem_res_hor} - - # Run-off file - ln -s ${oas_grid_dir}/runoff_maps.txt - - # Grid definition files - ln -s ${oas_grid_dir}/areas.nc - ln -s ${oas_grid_dir}/grids.nc - ln -s ${oas_grid_dir}/masks.nc - - # Weight files - case ${ifs_res_hor} in - 159) oas_agrd=080 - ;; - 255) oas_agrd=128 - ;; - 511) oas_agrd=256 - ;; - 799) oas_agrd=400 - ;; - *) error "Unsupported horizontal resolution (IFS): ${ifs_res_hor}" - ;; - esac - - case ${nem_res_hor} in - 1) oas_ogrd=O1t0 - ;; - 025) oas_ogrd=Ot25 - ;; - *) error "Unsupported horizontal resolution (NEMO): ${nem_res_hor}" - ;; - esac - - for n in $(seq 0 $((oas_numproc-1))) - do - ln -s \ - ${oas_grid_dir}/rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT.nc \ - rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT_${n}.nc - ln -s \ - ${oas_grid_dir}/rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT.nc \ - rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT_${n}.nc - done - - for f in ${oas_cpl_flds} - do - cp ${oas_grid_dir}/rst/$f . - done - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS, NEMO, LIM namelist and OASIS namcouple files -. ${ctrl_file_dir}/namelist.ifs-${ifs_grid}.sh > fort.4 -. ${ctrl_file_dir}/namelist.nemo-${nem_grid}.sh > namelist -. ${ctrl_file_dir}/namelist.lim${lim_version}-ORCA${nem_res_hor}.sh > namelist_ice -. ${ctrl_file_dir}/namcouple.sh > namcouple - -# Split OASIS namcouple file (if necessary) -if (( oas_numproc == 1 )) -then - ln -s namcouple namcouple_0 -elif [ -n "$oas_namcut_script" -a -x $oas_namcut_script ] -then - ${oas_namcut_script} ${oas_numproc} namcouple -else - error "Couldn't run script to split the OASIS namcouple file (\$oas_namcut_script)." -fi - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ - -# Create data for december, the year before the leg starts -grib_set \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - grib_set -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -grib_set -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Link the appropriate NEMO restart files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - ns=$(printf %08d $(( leg_start_sec / nem_time_step_sec ))) - for n in $(seq 0 $((nem_numproc-1))) - do - np=$(printf %04d ${n}) - ln -fs ${exp_name}_${ns}_restart_oce_${np}.nc restart_oce_${np}.nc - ln -fs ${exp_name}_${ns}_restart_ice_${np}.nc restart_ice_${np}.nc - done -fi - -# ----------------------------------------------------------------------------- -# *** Remove some OASIS files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - rm -f anaisout_* -fi - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=yes -export OASIS3DEBUGLEVEL=2 - -### --- PLATFORM DEPENDENT CODE --- -ulimit -s unlimited -### --- END of PLATFORM DEPENDENT CODE --- - -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -mpirun -np ${oas_numproc} ${oas_exe_file} : \ - -np ${ifs_numproc} ${ifs_exe_file} -v ecmwf -e ${exp_name} : \ - -np ${nem_numproc} ${nem_exe_file} -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="NODE.001_01 rcf $oas_cpl_flds fort.4 ifs.stat ocean.output" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml deleted file mode 100644 index 4823c74dc6f56aae9bd92c89ce9193d895a4e464..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml deleted file mode 100644 index 2a13d1a731f3268c9352584795e262207c709aa7..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.xml b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.xml deleted file mode 100644 index 48a0484df19f291cfd1a854089099d137a6af474..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/iodef.xml +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh deleted file mode 100755 index 00706d45b2f9e3b72f682df8bdf7c45bf1e2c8fc..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh +++ /dev/null @@ -1,279 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ECE3 - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 5 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 5 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple.sh deleted file mode 100755 index 65ef0c2c8c525ffba283d9269110611c2f1b3888..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namcouple.sh +++ /dev/null @@ -1,279 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ${exp_name} - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 5 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 5 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh deleted file mode 100755 index e46b31c194ee8709c93e8ad0314388a10b144d42..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh +++ /dev/null @@ -1,446 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAMGWWMS - GFLUXLAUN=0.002 - ZLAUNCHP=45000 - LOZPR=true - NGAUSS=4 - GGAUSSB=1.0 -/ -&NAMGWD - GTENLIM=0.02 -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh deleted file mode 100755 index b2da9b7b3d693a93e5d9132beefca0259a7abbc5..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.0e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 250 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 2.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-09 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 100.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 360 ! number of EVP subcycling iterations - telast = 3600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.6 , 0.5 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh deleted file mode 100755 index c2234c7d60ee5a1af0baf329c79cf70f4c48e72d..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 1.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 120 ! number of EVP subcycling iterations - telast = 9600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.3 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh deleted file mode 100755 index 43c245e80e4edd26379b58c9938a8e09f14f1cb3..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 5.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh deleted file mode 100755 index ee5a8c37de6c8e91224ea17cf0c25f3ff90cd251..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh deleted file mode 100755 index 1d99d92c2a3b3a69c7b06cec699c7babb7a946f5..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'none' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 1 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 2.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0.5 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 3.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .false. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 1 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 300. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 0. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .false. ! laplacian operator - ln_dynldf_bilap = .true. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 0. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -1.5e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 10. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.4 ! surface buoyancy lenght scale minimum value - ln_lc = .false. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-15 ! absolute precision of the solver - nn_nmin = 340 ! minimum of iterations for the SOR solver - nn_nmax = 15000 ! maximum of iterations for the SOR solver - nn_nmod = 5 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.975 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh deleted file mode 100755 index 7a7dbb3baa4d6febd89342e61fb4ce9608330751..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh +++ /dev/null @@ -1,412 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!----------------------------------------------------------------------- -&namrun ! Parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! Job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! Start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! Restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! Suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! Suffix of ocean restart name (output) - nn_istate = 0 ! Output the initial state (1) or not (0) - nn_stock = 0 ! Frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! Frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) -/ -!----------------------------------------------------------------------- -&namzgr ! Vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namdom ! Space and time domain (bathymetry, mesh, timestep) -!----------------------------------------------------------------------- - nn_bathy = 1 ! Compute (=0) or read (=1) the bathymetry file - nn_closea = 0 ! Remove (=0) or keep (=1) closed seas and lakes (ORCA) - nn_msh = 0 ! Create (=1) a mesh file or not (=0) - ! - rn_e3zps_min= 25. ! Partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.2 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! Flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2") - ln_dm2dc = .false. ! Daily mean to diurnal cycle on short wave - ln_rnf = .false. ! Runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! Coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! SEND -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! RECEIVE -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! Penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - ! - cn_dir = './' ! Root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! Bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! Runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - ! - cn_dir = './' ! Root directory for the location of the runoff files - ln_rnf_emp = .false. ! Runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! Specific treatment at rivers mouths - rn_hrnf = 0.e0 ! Depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! Value of the additional vertical mixing coef. [m2/s] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! Albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! Cloud correction to snow and ice albedo - rn_albice = 0.53 ! Albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! Coefficients for linear interpolation used to - rn_alphc = 0.65 ! Compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ -!----------------------------------------------------------------------- -&namlbc ! Lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0.5 ! shlat = 0 : free slip - ! 0 < shlat < 2 : partial slip - ! shlat = 2 : no slip - ! 2 < shlat : strong slip -/ -!----------------------------------------------------------------------- -&namcla ! Cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! Advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&nambfr ! Bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! Type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! Bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! Bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! Bottom turbulent kinetic energy background (m2/s2) -/ -!----------------------------------------------------------------------- -&nambbc ! Bottom temperature boundary condition -!----------------------------------------------------------------------- -! Use defaults -/ -!----------------------------------------------------------------------- -&nambbl ! Bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! Diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! Advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! Lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! Advective bbl coefficient [s] -/ -!----------------------------------------------------------------------- -&nameos ! Ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! Type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! Thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! Saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! Advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! Lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! Laplacian operator - ln_traldf_bilap = .false. ! Bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! Iso-level - ln_traldf_hor = .false. ! Horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! Iso-neutral (require "key_ldfslp") -! ! Coefficient - rn_aht_0 = 300. ! Horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! Background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 0. ! Eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namdyn_adv ! Formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! Vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! Flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! Flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! Option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! Enstrophy conserving scheme - ln_dynvor_ens = .false. ! Energy conserving scheme - ln_dynvor_mix = .false. ! Mixed scheme - ln_dynvor_een = .true. ! Energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! Weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! Hydrostatic pressure gradient: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -&namdyn_ldf ! Lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .false. ! Laplacian operator - ln_dynldf_bilap = .true. ! Bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! Iso-level - ln_dynldf_hor = .true. ! Horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! Iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 0. ! Horizontal laplacian eddy viscosity [m2/s] - rn_ahm_0_blp = -1.5e11 ! Horizontal bilaplacian eddy viscosity [m4/s] - rn_ahmb_0 = 0. ! Background eddy viscosity for ldf_iso [m2/s] -/ -!----------------------------------------------------------------------- -&namzdf ! Vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.e-4 ! Vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.e-5 ! Vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! Profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! Horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! Enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! Evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 10. ! Evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! Frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! Time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! Number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! Richardson number dependent vertical diffusion ("key_zdfric") -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! Maximum value of the vertical viscosity - rn_alp = 5. ! Coefficient of the parameterization - nn_ric = 2 ! Coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! Turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! Coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! Coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! Coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! Minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! Surface minimum value of tke [m2/s2] - nn_mxl = 3 ! Mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! Surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! Surface buoyancy lenght scale minimum value - ln_lc = .false. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! Coef. associated to Langmuir cells - nn_etau = 1 ! Penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! Fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! Type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ - ln_kpprimix = .true. ! Shear instability mixing - rn_difmiw = 1.0e-04 ! Constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! Constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! Local Richardson Number limit for shear instability - rn_difri = 0.0050 ! Maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! Maximum mixing in interior convection [m2/s] - nn_avb = 0 ! Horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! Constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! Double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! Maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! Heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namsol ! Elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 2 ! Elliptic solver: =1 Preconditioned conjugate gradient (PCG) - ! =2 Successive-over-relaxation (SOR) - ! =3 FETI (fet) ("key_feti") - ! =4 SOR with extra outer halo - nn_sol_arp = 0 ! Absolute/relative (0/1) precision convergence test - nn_nmin = 340 ! Minimum of iterations for the SOR solver - nn_nmax = 15000 ! Maximum of iterations for the SOR solver - nn_nmod = 5 ! Frequency of test for the SOR solver - rn_eps = 1.e-15 ! Absolute precision of the solver - rn_resmax = 1.e-10 ! Absolute precision for the SOR solver - rn_sor = 1.975 ! Optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi") -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! MPI send/recieve type ='S', 'B', or 'I' for standard send, - ! Buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! Size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni Number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj Number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij Number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! Trends control print (expensive!) - nn_print = 0 ! Level of print (0 no extra print) - nn_ictls = 0 ! Start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! End i indice of control sum multi processor runs - nn_jctls = 0 ! Start j indice of control over a subdomain) - nn_jctle = 0 ! End j indice of control - nn_isplt = 1 ! Number of processors in i-direction - nn_jsplt = 1 ! Number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ -!----------------------------------------------------------------------- -&namtrd ! Diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! Time step frequency dynamics and tracers trends - nn_ctls = 0 ! Control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! Suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! Suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! Restart for ML diagnostics - ln_trdmld_instant = .false. ! Flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! Float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! Float restart (T) or not (F) - nn_writefl = 75 ! Frequency of writing in float output file - nn_stockfl = 5475 ! Frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! Trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- -! Use defaults -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- -! Use defaults -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh deleted file mode 100755 index b07b13ae3cdbe85f55b0f6ce8063fa2b64ac8f5f..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulae -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! specific treatment at rivers mouths - rn_hrnf = 15.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.40 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.60 ! compute albedo between two extremes values - rn_alphdi = 0.67 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 1 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 1 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUICKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1400. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1400. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -100.e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.0e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.0e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 50. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 2 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 1800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh deleted file mode 100755 index a5d0ecc5a4290f0ad0de6a5a586262613c4acd4c..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh +++ /dev/null @@ -1,854 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ -!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulae -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! -sn_wndi = 'u10_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'u10', .false., .true., 'yearly', 'weight_bicub_320x161-ORCA1', 'Uwnd' -sn_wndj = 'v10_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'v10', .false., .true., 'yearly', 'weight_bicub_320x161-ORCA1', 'Vwnd' -sn_qsr = 'radsw_DFS4.3_${leg_start_date_yyyy}' , 24, 'radsw', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_qlw = 'radlw_DFS4.3_${leg_start_date_yyyy}' , 24, 'radlw', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_tair = 't2_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 't2', .false., .true., 'yearly', 'weight_bilin_320x161-ORCA1', '' -sn_humi = 'q2_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'q2', .false., .true., 'yearly', 'weight_bilin_320x161-ORCA1', '' -sn_prec = 'precip_DFS4.3_${leg_start_date_yyyy}' , -1, 'precip', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_snow = 'snow_DFS4.3_${leg_start_date_yyyy}' , -1, 'snow', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_tdif = 'taudif_core' , 24, 'taudif', .false., .true., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namtra_qsr ! Penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! specific treatment at rivers mouths - rn_hrnf = 15.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = 0. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.40 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.60 ! compute albedo between two extremes values - rn_alphdi = 0.67 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 1 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 1 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUICKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1400. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1400. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = 0. ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.0e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.0e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 50. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 2 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 1800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 deleted file mode 100644 index 34ea69429f6d2534aa29c06262eadbc71e48fa5c..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 +++ /dev/null @@ -1,32 +0,0 @@ - &NAMFPC - CFPFMT ='MODEL', - LFITP =true, - - NFP3DFP = 5, - MFP3DFP = 129,130,131,132,133, - RFP3P = 100000,92500,85000,70000,50000,40000,30000,20000,10000,5000,1000, - - NFP2DF = 1, - MFP2DF = 152, - - NFPPHY = 53, - MFPPHY = 129,172,031,032,034,035,039,040,041,042,078,079,136,137,139,141,142,143,144,146,147,151,164,165,166,167,168,169,170,175,176,177,178,179,180,181,182,183,186,187,188,201,202,205,208,209,210,211,212,235,236,238,243, - / - &NAMFPDY2 - / - &NAMFPDYP - / - &NAMFPDYH - / - &NAMFPDYT - / - &NAMFPDYV - / - &NAMFPDYS - / - &NAMFPPHY - / - &NAMPPC - LRSACC=.TRUE. - / - diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 deleted file mode 100644 index ffd51cca941e5b47fe4cdcf665905e29ea970af4..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 +++ /dev/null @@ -1,32 +0,0 @@ - &NAMFPC - CFPFMT ='MODEL', - LFITP =true, - - NFP3DFP = 5, - MFP3DFP = 129,130,131,132,133, - RFP3P = 100000,92500,85000,70000,50000,40000,30000,20000,10000,5000,1000, - - NFP2DF = 1, - MFP2DF = 152, - - NFPPHY = 51, - MFPPHY = 031,032,034,035,039,040,041,042,078,079,136,137,139,141,142,143,144,146,147,151,164,165,166,167,168,169,170,175,176,177,178,179,180,181,182,183,186,187,188,201,202,205,208,209,210,211,212,235,236,238,243, - / - &NAMFPDY2 - / - &NAMFPDYP - / - &NAMFPDYH - / - &NAMFPDYT - / - &NAMFPDYV - / - &NAMFPDYS - / - &NAMFPPHY - / - &NAMPPC - LRSACC=.TRUE. - / - diff --git a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def b/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def deleted file mode 100644 index 3a6f0e234de9c8173fb30784d1fad6c72f8b1330..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def +++ /dev/null @@ -1,35 +0,0 @@ -! xmlio_server namelist -! -! using_server: .TRUE.(.FALSE.) to use(bypass) the io_server -! using_oasis : .TRUE.(.FALSE.) if nemo is coupled through OASIS -! client_id : used only for OASIS, NEMO id in the namecouple -! server_id : used only for OASIS, io_server id in the namecouple -! -&coupling_param - using_server = .FALSE. - using_oasis = .TRUE. - client_id = 'nemo.x' - server_id = 'ionemo' -/ - -! global_mpi_buffer_size: size in Mo of the MPI buffer used by the io_server -&mpi_param - global_mpi_buffer_size = 512 -/ - -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings -!!====================================================================== -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings - ! (benign if "key_netcdf4" is not used) -!----------------------------------------------------------------------- - nn_nchunks_i = 4 ! number of chunks in i-dimension - nn_nchunks_j = 4 ! number of chunks in j-dimension - nn_nchunks_k = 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .TRUE. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ - diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/compilation.cmd b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/compilation.cmd deleted file mode 100755 index 8f4c814c93974b6a8001b29c0b7b4ae928f333f8..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/compilation.cmd +++ /dev/null @@ -1,367 +0,0 @@ -#!/bin/bash - -# nohup ./compilation.cmd >& compiation.log & - -source /opt/modules/init/bash -module load intel/13.0.1 -module load openmpi/1.6-intel -module load szip/2.1 -module load hdf5/1.8.10 -module load netcdf/4.1.3 - -set -xuve -date - -MPI=/share/mpi/openmpi/1.6/ics2012.0.032 -LAPACK=/share/compilers/ics/2013.0.028/mkl -SZIP=/share/libs/szip/2.1 -HDF5=/share/libs/hdf5/1.8.10 -NetCDF=/share/libs/netcdf/4.1.3 -GribAPI=/scratch/cfu/opt/grib_api-1.9.9/intel-13 -GribEX=/scratch/cfu/opt/gribex_000370/intel-13 - -cd .. -export ECEARTH=$(pwd) -cd - - -PLATFORM=ithaca-intel-openmpi -CONFIG=config.xml - -cat > $CONFIG < - - - - - Nemo 3.3.1 config file - - nemo-3.3.1/ARCH/arch-ecconf.fcm - - - - - IFS/36r4 makefile configuration - - ifs-36r4/Makefile.d/Makefile.config.ecconf - - - - - OASIS makefile configuration - - oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf - - - - - - HOST: ic3.cat - ARCH: linux_x86_64 - CPU MODEL: Intel Xeon X5570 @ 2.93GHz - COMPILER: Intel (ifort and icc 13) - MPI: OpenMPI (1.6) - BLAS/LAPACK: Intel MKL - - - - EC-Earth base directory - PATH - $ECEARTH - - - - MPI base directory - PATH - $MPI - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi_f77 mpi - - - - LAPACK base directory - PATH - $LAPACK - - - - LAPACK lib directory relative to base dir - PATH - lib/intel64 - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - $NetCDF - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf netcdff - - - - GRIB API base directory - PATH - $GribAPI - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - $GribEX - - - - GRIBEX lib directory relative to base dir - PATH - lib - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback -L${HDF5}/lib -lhdf5 -lhdf5_hl -L${SZIP}/lib -lsz - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - Additional Fortran compiler flags for EMOSLIB - STRING - -i4 - - - - Fortran preprocessor defs for EMOSLIB - STRING - linux LITTLE_ENDIAN POINTER_64 INTEGER_IS_INT REAL_8 REAL_BIGGER_THAN_INTEGER - - - - C preprocessor defs for EMOSLIB - STRING - \$(EMOS_FPPDEFS) FOPEN64 - - - - F90 dependency generator - STRING - \$(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - -EOF -cat $CONFIG - -# MAKEDEP90 Compilation -# ===================== - -if [ ! -d makedepf90-2.8.8 ]; then - tar -zxvf ../util/makedepf90/src/makedepf90-2.8.8.tar.gz - cd makedepf90-2.8.8 - ./configure --prefix=$ECEARTH/util/makedepf90/ - make - make install - cd - -fi - -# EC-CONF Usage -# ============= - -cd .. -$ECEARTH/util/ec-conf/ec-conf --platform $PLATFORM build-config/$CONFIG -BA=ecconf # Build Arch -cd - - -# OASIS Compilation -# ================= - -cd $ECEARTH/oasis*/util/make_dir/ -#make realclean -f TopMakefileOasis3 BUILD_ARCH=$BA -make -f TopMakefileOasis3 BUILD_ARCH=$BA - -# NEMO Compilation -# ================ - -cd $ECEARTH/nemo*/CONFIG/ -nemo_configs=`ls -1 | grep ORCA` -#set +e -#./makenemo clean -#set -e -for nemo_config in $nemo_configs; do - ./makenemo -m $BA -n $nemo_config -j 8 -done - -# IFS Compilation -# =============== - -cd $ECEARTH/ifs*/ -#make clean BUILD_ARCH=$BA -#make realclean BUILD_ARCH=$BA -#make dep-clean BUILD_ARCH=$BA -make -j 8 BUILD_ARCH=$BA lib -make BUILD_ARCH=$BA master - -date diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/cp.cmd b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/cp.cmd deleted file mode 100755 index e0dc239d47fd91203798f41a4e04bfdcd9ff8cab..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/cp.cmd +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/ksh - -bin=bin - -while getopts b: option -do - case $option in - b) bin=$OPTARG;; - \?) exit 1;; - esac -done - -set -xuve - -bin="../../../$bin" -mkdir -p $bin -ls -lrt $bin - -cp -p ../oasis3/*con*/bin/oasis3.MPI1.x $bin -for nemo_config in `ls -1 ../nemo*/CONFIG | grep ORCA`; do - mkdir -p $bin/$nemo_config - cp -pf ../nemo-3.3.1/CONFIG/$nemo_config/BLD/bin/*.exe $bin/$nemo_config -done -cp -p ../ifs-36r4/bin/ifsmaster-*con* $bin - -ls -lrt $bin diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/run-atm.cmd b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/run-atm.cmd deleted file mode 100755 index 87e4bd395b52c134ad6fd3fabb6ae5ce73d1cdbf..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/run-atm.cmd +++ /dev/null @@ -1,367 +0,0 @@ -#!/bin/sh -############################################################################### -# RUN EC_EARTH -############################################################################### -#$ -S /bin/sh -#$ -N run-atm -#$ -V -#$ -cwd -#$ -pe orte 48 -# -############################################################################### - -# modules setup -source /opt/modules/init/bash -module load intel/13.0.1 -module load openmpi/1.6-intel -# tell OpenMPI to only use infiniband -export OMPI_MCA_btl=sm,self,openib -module load szip/2.1 -module load hdf5/1.8.10 -module load netcdf/4.1.3 - -# setup the grib_api env. -PATH=/scratch/cfu/opt/grib_api-1.9.9/intel-13/bin:$PATH - -set -xuve -module list - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# Switch between LOW, STANDARD and HIGH RESOLUTION by setting: -# -# -------------------------------------------------- -# Parameter lowres stdres highres -# -------------------------------------------------- -# ifs_grid T159L62 T255 T799 -# nem_grid ORCA1L46 ORCA1L46 ORCA025L46 -# ifs_time_step_sec 3600 2700 720 -# nem_time_step_sec 3600 3600 1200 -# -------------------------------------------------- -# -# Change also: -# exp_name -# run_start_date (lo:1990/std:1996/hi:1996) -# ifs_numproc -# nem_numproc -# run_dir -# and make sure to use the appropriate NEMO executable -# ----------------------------------------------------------------------------- - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -ifs_grid=T255L62 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=0 - -# Directories -ecearth_base_dir=/scratch/cfu/models/ecearth/v3.0 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/cfu/$USER/test/run_${ifs_grid}_atm_${JOB_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -grib_api_path=/scratch/cfu/opt/grib_api-1.9.9/intel-13 - -export GRIB_DEFINITION_PATH=${grib_api_path}/share/definitions -export GRIB_SAMPLES_PATH=${grib_api_path}/ifs_samples/grib1 -export GRIB_BIN_PATH=${grib_api_path}/bin - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -case ${ifs_grid} in - T159*) ifs_time_step_sec=3600 ;; - T255*) ifs_time_step_sec=2700 ;; - T511*) ifs_time_step_sec=900 ;; - T799*) ifs_time_step_sec=720 ;; - *) error "Unsupported grid type: ${ifs_grid}" - ;; -esac - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\2:') - -ifs_numproc=48 - -ifs_exe_file=${bin_dir}/ifsmaster-${build_arch} - -ifs_lastout=true - -ifs_cmip5=FALSE -ifs_cmip5_rcp=0 -ifs_volcanoes=FALSE -ifs_ncmip5fixyr=0 - -nprtrv=1 - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - # Other stuff - ln -s ${ini_data_dir}/ifs/postins - ln -s ${ini_data_dir}/ifs/dirlist - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS, NEMO, LIM namelist and OASIS namcouple files -. ${ctrl_file_dir}/namelist.ifs-${ifs_grid}.sh > fort.4 - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ - -# Create data for december, the year before the leg starts -grib_set \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - grib_set -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -grib_set -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -ln -sf ${ini_data_dir}/ifs/${ifs_grid}/climate/ICMSEAECE3INIT ICMSEA${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=simulate -export OASIS3DEBUGLEVEL=3 - -### --- PLATFORM DEPENDENT CODE --- -ulimit -s unlimited -### --- END of PLATFORM DEPENDENT CODE --- - -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -mpirun -np ${ifs_numproc} ${ifs_exe_file} -v ecmwf -e ${exp_name} -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="NODE.001_01 rcf $oas_cpl_flds" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/run.cmd b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/run.cmd deleted file mode 100755 index 19677be36d977ed4408c984d065fc056638ac325..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/run.cmd +++ /dev/null @@ -1,523 +0,0 @@ -#!/bin/sh -############################################################################### -# RUN EC_EARTH -############################################################################### -#$ -S /bin/sh -#$ -N run -#$ -V -#$ -cwd -#$ -pe orte 56 -# -############################################################################### - -# modules setup -source /opt/modules/init/bash -module load intel/13.0.1 -module load openmpi/1.6-intel -# tell OpenMPI to only use infiniband -export OMPI_MCA_btl=sm,self,openib -module load szip/2.1 -module load hdf5/1.8.10 -module load netcdf/4.1.3 - -# setup the grib_api env. -PATH=/scratch/cfu/opt/grib_api-1.9.9/intel-13/bin:$PATH - -set -xuve -module list - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# Switch between LOW, STANDARD and HIGH RESOLUTION by setting: -# -# -------------------------------------------------- -# Parameter lowres stdres highres -# -------------------------------------------------- -# ifs_grid T159L62 T255 T799 -# nem_grid ORCA1L46 ORCA1L46 ORCA025L46 -# ifs_time_step_sec 3600 2700 720 -# nem_time_step_sec 3600 3600 1200 -# -------------------------------------------------- -# -# Change also: -# exp_name -# run_start_date (lo:1990/std:1996/hi:1996) -# ifs_numproc -# nem_numproc -# run_dir -# and make sure to use the appropriate NEMO executable -# ----------------------------------------------------------------------------- - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -ifs_grid=T255L62 -nem_grid=ORCA1L46 -lim=LIM2 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Coupling frequency [hrs] -cpl_freq_hrs=3 - -# Directories -ecearth_base_dir=/scratch/cfu/models/ecearth/v3.0 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/cfu/$USER/test/run_${ifs_grid}_${nem_grid}_${JOB_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- -grib_api_path=/scratch/cfu/opt/grib_api-1.9.9/intel-13 - -export GRIB_DEFINITION_PATH=${grib_api_path}/share/definitions -export GRIB_SAMPLES_PATH=${grib_api_path}/ifs_samples/grib1 -export GRIB_BIN_PATH=${grib_api_path}/bin - -# ----------------------------------------------------------------------------- -# *** IFS configuration -# ----------------------------------------------------------------------------- - -ifs_version=36r4 - -case ${ifs_grid} in - T159*) ifs_time_step_sec=3600 ;; - T255*) ifs_time_step_sec=2700 ;; - T511*) ifs_time_step_sec=900 ;; - T799*) ifs_time_step_sec=720 ;; - *) error "Unsupported grid type: ${ifs_grid}" - ;; -esac - -ifs_output_freq=$(( 6 * 3600 / ifs_time_step_sec )) -ifs_di_freq=$(( 24 * 3600 / ifs_time_step_sec )) -ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec )) - -ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\1:') -ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]*\)L\([0-9]*\):\2:') - -ifs_numproc=32 - -ifs_exe_file=${bin_dir}/ifsmaster-${build_arch} - -ifs_lastout=true - -ifs_cmip5=FALSE -ifs_cmip5_rcp=0 -ifs_volcanoes=FALSE -ifs_ncmip5fixyr=0 - -nprtrv=1 - -# ----------------------------------------------------------------------------- -# *** NEMO/LIM configuration -# ----------------------------------------------------------------------------- - -nem_version=3.3.1 -lim_version=$(echo $lim | cut -d 'M' -f 2) - -case ${nem_grid} in - ORCA1*) nem_time_step_sec=3600 ;; - ORCA025*) nem_time_step_sec=1200 ;; - *) error "Unsupported grid type: ${nem_grid}" - ;; -esac -lim_time_step_sec=3600 - -nem_res_hor=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\1:') -nem_res_ver=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\2:') - -nem_exe_file=${bin_dir}/${nem_grid}_${lim}/nemo.exe - -nem_numproc=16 - -advsch=tvd -rstctl=1 - -# ----------------------------------------------------------------------------- -# *** OASIS configuration -# ----------------------------------------------------------------------------- - -oas_namcut_script=${ecearth_base_dir}/sources/sources/util/namcouple-split/namsplit.pl - -oas_numproc=7 - -# Flux correction that compensates for the mismatch between P-E over the ocean, -# and run-off from land (necessary to avoid sea level rise). -# The RUNOFF and CALVING coupling fields are multiplied by this factor. See -# documentation on the EC-Earth 3 Wiki for more details. -oas_rnf_fluxcorr=0.87 - -oas_exe_file=${bin_dir}/oasis3.MPI1.x - -# Restart files for the coupling fields -oas_cpl_flds="TAUX_OCE TAUY_OCE TAUX_ICE TAUY_ICE \ - QS___OCE QS___ICE QNS__OCE QNS__ICE DQDT_ICE \ - PRCP_LIQ PRCP_SOL EVAP_TOT EVAP_ICE RNF__OCE CALV_OCE \ - O_SSTSST O_TepIce O_AlbIce OIceFrac O_IceTck O_SnwTck" - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${ifs_exe_file} - ln -s ${nem_exe_file} - ln -s ${oas_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for IFS (linked) - # ------------------------------------------------------------------------- - - # Initial data - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIUA \ - ICMGG${exp_name}INIUA - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMGGECE3INIT \ - ICMGG${exp_name}INIT - ln -s \ - ${ini_data_dir}/ifs/${ifs_grid}/${leg_start_date_yyyymmdd}/ICMSHECE3INIT \ - ICMSH${exp_name}INIT - # Other stuff - ln -s ${ini_data_dir}/ifs/postins - ln -s ${ini_data_dir}/ifs/dirlist - ln -s ${ini_data_dir}/ifs/rtables/* . - - # Run-off file - ln -s ${ini_data_dir}/ifs/${ifs_grid}/runoff_maps.txt - - # ------------------------------------------------------------------------- - # *** Files needed for NEMO (linked) - # ------------------------------------------------------------------------- - - # Various stuff - ln -s ${ini_data_dir}/nemo/${nem_grid}/bathy_meter.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/coordinates.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/ahmcoef - - # Initial data - ln -s ${ini_data_dir}/nemo/${nem_grid}/temperature_*.nc . - ln -s ${ini_data_dir}/nemo/${nem_grid}/salinity_*.nc . - - # IOM files - ln -s ${ctrl_file_dir}/xmlio_server.def - ln -s ${ctrl_file_dir}/iodef.xml - - # ------------------------------------------------------------------------- - # *** Files needed for OASIS (linked) - # ------------------------------------------------------------------------- - - # Name table file - ln -s ${ini_data_dir}/oasis/cf_name_table.txt - - oas_grid_dir=${ini_data_dir}/oasis/T${ifs_res_hor}-ORCA${nem_res_hor} - - # Grid definition files - ln -s ${oas_grid_dir}/areas.nc - ln -s ${oas_grid_dir}/grids.nc - ln -s ${oas_grid_dir}/masks.nc - - # Weight files - case ${ifs_res_hor} in - 159) oas_agrd=080 - ;; - 255) oas_agrd=128 - ;; - 511) oas_agrd=256 - ;; - 799) oas_agrd=400 - ;; - *) error "Unsupported horizontal resolution (IFS): ${ifs_res_hor}" - ;; - esac - - case ${nem_res_hor} in - 1) oas_ogrd=O1t0 - ;; - 025) oas_ogrd=Ot25 - ;; - *) error "Unsupported horizontal resolution (NEMO): ${nem_res_hor}" - ;; - esac - - for n in $(seq 0 $((oas_numproc-1))) - do - ln -s \ - ${oas_grid_dir}/rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT.nc \ - rmp_A${oas_agrd}_to_${oas_ogrd}_GAUSWGT_${n}.nc - ln -s \ - ${oas_grid_dir}/rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT.nc \ - rmp_${oas_ogrd}_to_L${oas_agrd}_GAUSWGT_${n}.nc - done - - for f in ${oas_cpl_flds} - do - cp ${oas_grid_dir}/rst/$f . - done - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -# IFS, NEMO, LIM namelist and OASIS namcouple files -. ${ctrl_file_dir}/namelist.ifs-${ifs_grid}.sh > fort.4 -. ${ctrl_file_dir}/namelist.nemo-${nem_grid}.sh > namelist -. ${ctrl_file_dir}/namelist.lim${lim_version}-ORCA${nem_res_hor}.sh > namelist_ice -. ${ctrl_file_dir}/namcouple.sh > namcouple - -# Split OASIS namcouple file (if necessary) -if (( oas_numproc == 1 )) -then - ln -s namcouple namcouple_0 -elif [ -n "$oas_namcut_script" -a -x $oas_namcut_script ] -then - ${oas_namcut_script} ${oas_numproc} namcouple -else - error "Couldn't run script to split the OASIS namcouple file (\$oas_namcut_script)." -fi - -# ----------------------------------------------------------------------------- -# *** IFS climatology data -# ----------------------------------------------------------------------------- -icmclfile=${ini_data_dir}/ifs/${ifs_grid}/climate/ICMCL -tempfile=tmp.$$ - -# Create data for december, the year before the leg starts -grib_set \ --s dataDate=$(printf "%04d" $((leg_start_date_yyyy-1)))1215 ${icmclfile}-12 \ - ICMCL${exp_name}INIT - -# Create data for all month in the years of the leg -for y in $(seq ${leg_start_date_yyyy} ${leg_end_date_yyyy}) -do - yy=$(printf "%04d" $y) - for m in $(seq 1 12) - do - mm=$(printf "%02d" $m) - grib_set -s dataDate=${yy}${mm}15 ${icmclfile}-${mm} ${tempfile} - cat ${tempfile} >> ICMCL${exp_name}INIT - done -done - -# Create data for january, the year after the leg ends -grib_set -s dataDate=$(printf "%04d" $((leg_end_date_yyyy+1)))0115 ${icmclfile}-01 \ - ${tempfile} -cat ${tempfile} >> ICMCL${exp_name}INIT - -# Clean up -rm -f ${tempfile} - -# ----------------------------------------------------------------------------- -# *** Link the appropriate NEMO restart files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - ns=$(printf %08d $(( leg_start_sec / nem_time_step_sec ))) - for n in $(seq 0 $((nem_numproc-1))) - do - np=$(printf %04d ${n}) - ln -fs ${exp_name}_${ns}_restart_oce_${np}.nc restart_oce_${np}.nc - ln -fs ${exp_name}_${ns}_restart_ice_${np}.nc restart_ice_${np}.nc - done -fi - -# ----------------------------------------------------------------------------- -# *** Remove some OASIS files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - rm -f anaisout_* -fi - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- -export DR_HOOK_IGNORE_SIGNALS='-1' -export OASIS3=yes -export OASIS3DEBUGLEVEL=2 - -### --- PLATFORM DEPENDENT CODE --- -ulimit -s unlimited -### --- END of PLATFORM DEPENDENT CODE --- - -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -mpirun -np ${oas_numproc} ${oas_exe_file} : \ - -np ${ifs_numproc} ${ifs_exe_file} -v ecmwf -e ${exp_name} : \ - -np ${nem_numproc} ${nem_exe_file} -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="NODE.001_01 rcf $oas_cpl_flds" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f NODE.001_01 - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim2.xml b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim2.xml deleted file mode 100644 index 4823c74dc6f56aae9bd92c89ce9193d895a4e464..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim2.xml +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim3.xml b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim3.xml deleted file mode 100644 index 2a13d1a731f3268c9352584795e262207c709aa7..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.lim3.xml +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.xml b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.xml deleted file mode 100644 index 5a45e9594c0a91d7a18ded340aa686c6c7a34e7e..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/iodef.xml +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple-real.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple-real.sh deleted file mode 100755 index f8815bbfe74b6ccdca0c9993f91e5c9bc4e9888f..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple-real.sh +++ /dev/null @@ -1,277 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ECE3 - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 4 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 4 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple.sh deleted file mode 100755 index c86a7153fbeadf88f38dfebc59e0f00236965313..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namcouple.sh +++ /dev/null @@ -1,277 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ${exp_name} - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 4 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 4 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh deleted file mode 100755 index fadcdb8a4d3672efa15de8dc41e1288fb8cad0fd..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T159L62.sh +++ /dev/null @@ -1,437 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh deleted file mode 100755 index fadcdb8a4d3672efa15de8dc41e1288fb8cad0fd..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh +++ /dev/null @@ -1,437 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh deleted file mode 100755 index 225f543252c35ef12e0edff4ff16151c45260f61..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh +++ /dev/null @@ -1,447 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAMGWWMS - GFLUXLAUN=0.002 - ZLAUNCHP=45000 - LOZPR=true - NGAUSS=4 - GGAUSSB=1.0 -/ -&NAMGWD - GTENLIM=0.02 -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh deleted file mode 100755 index fadcdb8a4d3672efa15de8dc41e1288fb8cad0fd..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh +++ /dev/null @@ -1,437 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh deleted file mode 100755 index fadcdb8a4d3672efa15de8dc41e1288fb8cad0fd..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh +++ /dev/null @@ -1,437 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NPRTRV = $nprtrv, - NPRTRW = $(( ifs_numproc / nprtrv )), - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh deleted file mode 100755 index b2da9b7b3d693a93e5d9132beefca0259a7abbc5..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.0e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 250 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 2.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-09 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 100.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 360 ! number of EVP subcycling iterations - telast = 3600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.6 , 0.5 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh deleted file mode 100755 index 1731df051dd141d8f13f351f8b0b38f23583ef76..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 1.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 120 ! number of EVP subcycling iterations - telast = 9600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.3 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh deleted file mode 100755 index a9a33ef6a65bfe1270a9d555cd2a43ae235914f8..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 5.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh deleted file mode 100755 index 70532ad8afb83cd26ea04420fcbf0201f59a145b..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh deleted file mode 100755 index 132e553607633a78d54f4d6eb5e0fe46ec18f985..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'none' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 1 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 2.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0.5 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 3.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .false. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 1 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 300. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 0. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .false. ! laplacian operator - ln_dynldf_bilap = .true. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 0. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -1.5e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 10. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.4 ! surface buoyancy lenght scale minimum value - ln_lc = .false. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-15 ! absolute precision of the solver - nn_nmin = 340 ! minimum of iterations for the SOR solver - nn_nmax = 15000 ! maximum of iterations for the SOR solver - nn_nmod = 5 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.975 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .true. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh deleted file mode 100755 index a75d5712ed3d998b6dd070aedcea582a05c598c3..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! specific treatment at rivers mouths - rn_hrnf = 15.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.40 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.60 ! compute albedo between two extremes values - rn_alphdi = 0.67 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 1 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 1 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1400. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1400. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -100.e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.0e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.0e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 50. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 2 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 1800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .true. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/xmlio_server.def b/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/xmlio_server.def deleted file mode 100644 index 0a252038763a53bf0d1ca45ddeb0f356f17e7fd4..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/ecearth/v3.0/sources/build-config/setup/ctrl/xmlio_server.def +++ /dev/null @@ -1,35 +0,0 @@ -! xmlio_server namelist -! -! using_server: .TRUE.(.FALSE.) to use(bypass) the io_server -! using_oasis : .TRUE.(.FALSE.) if nemo is coupled through OASIS -! client_id : used only for OASIS, NEMO id in the namecouple -! server_id : used only for OASIS, io_server id in the namecouple -! -&coupling_param - using_server = .FALSE. - using_oasis = .TRUE. - client_id = 'nemo.x' - server_id = 'ionemo' -/ - -! global_mpi_buffer_size: size in Mo of the MPI buffer used by the io_server -&mpi_param - global_mpi_buffer_size = 512 -/ - -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings -!!====================================================================== -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings - ! (benign if "key_netcdf4" is not used) -!----------------------------------------------------------------------- - nn_nchunks_i = 4 ! number of chunks in i-dimension - nn_nchunks_j = 4 ! number of chunks in j-dimension - nn_nchunks_k = 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .TRUE. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ - diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/compilation.cmd b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/compilation.cmd deleted file mode 100755 index 7ab1258a1b12154254bbb8a21c424c6b39b0d036..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/compilation.cmd +++ /dev/null @@ -1,378 +0,0 @@ -#!/bin/bash - -# nohup ./compilation.cmd >& compiation.log & - -source /opt/modules/init/bash -module load intel/13.0.1 -module load openmpi/1.6-intel -module load szip/2.1 -module load hdf5/1.8.10 -module load netcdf/4.1.3 - -set -xuve -date - -MPI=/share/mpi/openmpi/1.6/ics2012.0.032 -LAPACK=/share/compilers/ics/2013.0.028/mkl -SZIP=/share/libs/szip/2.1 -HDF5=/share/libs/hdf5/1.8.10 -NetCDF=/share/libs/netcdf/4.1.3 -GribAPI=/scratch/cfu/opt/grib_api-1.9.9/intel-13 -GribEX=/scratch/cfu/opt/gribex_000370/intel-13 - -cd .. -export ECEARTH=$(pwd) -cd - - -PLATFORM=ithaca-intel-openmpi -CONFIG=config.xml - -cat > $CONFIG < - - - - - Nemo 3.3.1 config file - - nemo-3.3.1/ARCH/arch-ecconf.fcm - - - - - - IFS/36r4 makefile configuration - - ifs-36r4/Makefile.d/Makefile.config.ecconf - - - - - - OASIS makefile configuration - - oasis3/util/make_dir/Makefile.d/Makefile.config.ecconf - - - - - - - HOST: ic3.cat - ARCH: linux_x86_64 - CPU MODEL: Intel Xeon X5570 @ 2.93GHz - USER: masif - COMPILER: Intel (ifort and icc 12.1) - MPI: OpenMPI (1.6) - BLAS/LAPACK: Intel MKL - - - - Base directory for EC-Earth sources - PATH - $ECEARTH - - - - MPI base directory - PATH - $MPI - - - - MPI include directory relative to base dir - PATH - include - - - - MPI lib directory relative to base dir - PATH - lib - - - - MPI libraries (without -l prefix) - STRING - mpi_f77 mpi - - - - LAPACK base directory - PATH - $LAPACK - - - - LAPACK lib directory relative to base dir - PATH - lib/intel64 - - - - LAPACK libraries (without -l prefix) - STRING - mkl_intel_lp64 mkl_core mkl_sequential - - - - NetCDF base directory - PATH - $NetCDF - - - - NetCDF include directory relative to base dir - PATH - include - - - - NetCDF lib directory relative to base dir - PATH - lib - - - - NetCDF libraries (without -l prefix) - STRING - netcdf netcdff - - - - GRIB API base directory - PATH - $GribAPI - - - - GRIB API include directory relative to base dir - PATH - include - - - - GRIB API lib directory relative to base dir - PATH - lib - - - - GRIB_API libraries (without -l prefix) - STRING - grib_api_f90 grib_api - - - - GRIBEX base directory - PATH - $GribEX - - - - GRIBEX lib directory relative to base dir - PATH - lib - - - - GRIBEX libraries (without -l prefix) - STRING - gribexR64 - - - - Make command (GNU make >3.81 needed!) - STRING - make - - - - F90 Compiler - STRING - ifort - - - - General F90 flags for compiling - STRING - -O2 -g -traceback -vec-report0 -r8 - - - - C Compiler - STRING - icc - - - - General C flags for compiling - STRING - -O2 -g -traceback - - - - Linker - STRING - ifort - - - - General flags for linking - STRING - -O2 -g -traceback -L${HDF5}/lib -lhdf5 -lhdf5_hl -L${SZIP}/lib -lsz - - - - Command for building libraries from object files (usually ar) - STRING - ar - - - - Flags for library building command (When using ar: include u) - STRING - curv - - - - C preprocessor command - STRING - icc - - - - C preprocessor flags - STRING - -P -C - - - - More F90 flags for Oasis - STRING - -132 -check pointers -check uninit - - - - More CPP/FPP macros for Oasis - STRING - use_oasis_para - - - - More LD flags for Oasis - STRING - - - - - More F90 flags for Nemo - STRING - -check pointers -check uninit - - - - More LD flags for Nemo - STRING - - - - - Preprocessor defs for IFS sources - STRING - linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS - - - - More F90 flags for ifs/ifsaux - STRING - - - - - Additional Fortran compiler flags for EMOSLIB - STRING - -i4 - - - - Fortran preprocessor defs for EMOSLIB - STRING - linux LITTLE_ENDIAN POINTER_64 INTEGER_IS_INT REAL_8 REAL_BIGGER_THAN_INTEGER - - - - C preprocessor defs for EMOSLIB - STRING - \$(EMOS_FPPDEFS) FOPEN64 - - - - F90 dependency generator - STRING - \$(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90 - - - - - -EOF -cat $CONFIG - -# MAKEDEP90 Compilation -# ===================== - -if [ ! -d makedepf90-2.8.8 ]; then - tar -zxvf ../util/makedepf90/src/makedepf90-2.8.8.tar.gz - cd makedepf90-2.8.8 - ./configure --prefix=$ECEARTH/util/makedepf90/ - make - make install - cd - -fi - -# EC-CONF Usage -# ============= - -cd .. -$ECEARTH/util/ec-conf/ec-conf --platform $PLATFORM build-config/$CONFIG -BA=ecconf # Build Arch -cd - - -# OASIS Compilation -# ================= - -cd $ECEARTH/oasis*/util/make_dir/ -#make realclean -f TopMakefileOasis3 BUILD_ARCH=$BA -make -f TopMakefileOasis3 BUILD_ARCH=$BA - -# NEMO Compilation -# ================ - -cd $ECEARTH/nemo*/CONFIG/ -for f in $(ls -1 */cpp*.fcm); do - cat $f - cat $f | sed -e 's/key_coupled //g' -e 's/key_oasis3 //g' > $f.tmp - mv $f.tmp $f - cat $f -done - -nemo_configs=`ls -1 | grep ORCA` -#set +e -# ./makenemo clean -#set -e -for nemo_config in $nemo_configs; do - ./makenemo -m $BA -n $nemo_config -j 8 -done - -# IFS Compilation -# =============== - -#cd $ECEARTH/ifs*/ -#make clean BUILD_ARCH=$BA -#make realclean BUILD_ARCH=$BA -#make dep-clean BUILD_ARCH=$BA -#make -j 8 BUILD_ARCH=$BA lib -#make BUILD_ARCH=$BA master - -date diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/cp.cmd b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/cp.cmd deleted file mode 100755 index c0fdd5979a3f9d12f57f806d21f2e224a41cb976..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/cp.cmd +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/ksh - -bin=bin - -while getopts b: option -do - case $option in - b) bin=$OPTARG;; - \?) exit 1;; - esac -done - -set -xuve - -bin="../../../$bin" -mkdir -p $bin -ls -lrt $bin - -for nemo_config in `ls -1 ../nemo*/CONFIG | grep ORCA`; do - mkdir -p $bin/$nemo_config - cp -pf ../nemo-3.3.1/CONFIG/$nemo_config/BLD/bin/*.exe $bin/$nemo_config -done - -ls -lrt $bin diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/run-oce.cmd b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/run-oce.cmd deleted file mode 100755 index 072e68b76496c8df1fdf10a4de1554b12992855a..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/run-oce.cmd +++ /dev/null @@ -1,334 +0,0 @@ -#!/bin/bash -############################################################################### -# RUN EC_EARTH -############################################################################### -#$ -S /bin/sh -#$ -N run-oce -#$ -V -#$ -cwd -#$ -pe orte 16 -# - -# modules setup -source /opt/modules/init/bash -module load intel/13.0.1 -module load openmpi/1.6-intel -# tell OpenMPI to only use infiniband -export OMPI_MCA_btl=sm,self,openib -module load szip/2.1 -module load hdf5/1.8.10 -module load netcdf/4.1.3 - -set -xuve - -# ============================================================================= -# *** BEGIN User configuration -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** General configuration -# ----------------------------------------------------------------------------- -# Experiment name (exactly 4 letters!) -exp_name=ECE3 - -# Simulation start and end date. Use any (reasonable) syntax you want. -run_start_date="1990-01-01" -run_end_date="${run_start_date} + 5 days" - -# Set $force_run_from_scratch to 'true' if you want to force this run to start -# from scratch, possibly ignoring any restart files present in the run -# directory. Leave set to 'false' otherwise. -# NOTE: If set to 'true' the run directory $run_dir is cleaned! -force_run_from_scratch=false - -# Resolution -nem_grid=ORCA1L46 -lim=LIM3 - -# Restart frequency. Use any (reasonable) number and time unit you want. -# For runs without restart, leave this variable empty -rst_freq="1 month" - -# Directories -ecearth_base_dir=/scratch/cfu/models/nemo/ece-v3.0.1 -start_dir=${PWD} -ctrl_file_dir=${ecearth_base_dir}/setup/ctrl -run_dir=/scratch/cfu/$USER/test/run_${nem_grid}_oce_${JOB_ID} -ini_data_dir=${ecearth_base_dir}/inidata -bin_dir=${ecearth_base_dir}/bin - -# Architecture -build_arch=ecconf - -# This file is used to store information about restarts -ece_info_file="ece.info" - -# ----------------------------------------------------------------------------- -# *** Read platform dependent configuration -# ----------------------------------------------------------------------------- - -# ----------------------------------------------------------------------------- -# *** NEMO/LIM configuration -# ----------------------------------------------------------------------------- - -nem_version=3.3.1 -lim_version=$(echo $lim | cut -d 'M' -f 2) - -case ${nem_grid} in - ORCA1*) nem_time_step_sec=3600 ;; - ORCA025*) nem_time_step_sec=1200 ;; - *) error "Unsupported grid type: ${nem_grid}" - ;; -esac -lim_time_step_sec=3600 - -nem_res_hor=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\1:') -nem_res_ver=$(echo ${nem_grid} | sed 's:ORCA\([0-9]*\)L\([0-9]*\):\2:') - -nem_exe_file=${bin_dir}/${nem_grid}_${lim}/nemo.exe - -nem_numproc=16 - -advsch=tvd -rstctl=1 - - -# ============================================================================= -# *** END of User configuration -# ============================================================================= - -# ============================================================================= -# *** This is where the code begins ... -# ============================================================================= - -# ----------------------------------------------------------------------------- -# *** Define some helper functions -# ----------------------------------------------------------------------------- - -function info -{ - echo "*II* $@" -} - -function error -{ - echo "*EE* $@" - exit 1 -} - -function cleanup -{ - # Cleanup function, triggered by the traps set in the run-script - set +u - - if [ -r ${tempfile} ] - then - rm -f ${tempfile} - fi - - if [ -r ${stdout_file} -a -d ${run_dir} ] - then - cp ${stdout_file} ${run_dir} - fi -} - -# ----------------------------------------------------------------------------- -# *** Make sure to clean up on exit -# ----------------------------------------------------------------------------- - -trap 'cleanup' EXIT SIGHUP SIGINT SIGTERM - -# ----------------------------------------------------------------------------- -# *** Create the run dir if necessary and go there -# Everything is done from here. -# ----------------------------------------------------------------------------- -if [ ! -d ${run_dir} ] -then - mkdir -p ${run_dir} -fi -cd ${run_dir} - -# ----------------------------------------------------------------------------- -# *** Determine the time span of this run and whether it's a restart leg -# ----------------------------------------------------------------------------- - -# Regularise the format of the start and end date of the simulation -run_start_date=$(date -uR -d "${run_start_date}") -run_end_date=$(date -uR -d "${run_end_date}") - -# Check for restart information file and set the current leg start date -# Ignore restart information file if force_run_from_scratch is true -if ! $force_run_from_scratch && [ -r ${ece_info_file} ] -then - leg_is_restart=true - . ./${ece_info_file} - leg_start_date=${leg_end_date} - leg_number=$((leg_number+1)) -else - leg_is_restart=false - leg_start_date=${run_start_date} - leg_number=1 -fi - -# Compute the end date of the current leg -if [ -n "${rst_freq}" ] -then - leg_end_date=$(date -uR -d "${leg_start_date} + ${rst_freq}") -else - leg_end_date=${run_end_date} -fi - -if [ $(date -d "${leg_end_date}" +%s) -gt $(date -d "${run_end_date}" +%s) ] -then - leg_end_date=${run_end_date} -fi - -# Some time variables needed later -leg_length_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${leg_start_date}" +%s) )) -leg_start_sec=$(( $(date -d "${leg_start_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_end_sec=$(( $(date -d "${leg_end_date}" +%s) - $(date -d "${run_start_date}" +%s) )) -leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d) -leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y) -leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y) - -# Check whether there's actually time left to simulate - exit otherwise -if [ ${leg_length_sec} -le 0 ] -then - info "Leg start date equal to or after end of simulation." - info "Nothing left to do. Exiting." - exit 0 -fi - -# ----------------------------------------------------------------------------- -# *** Prepare the run directory for a run from scratch -# ----------------------------------------------------------------------------- -if ! $leg_is_restart -then - # ------------------------------------------------------------------------- - # *** This is no restart, hence, clean the run dir and link the executables - # ------------------------------------------------------------------------- - rm -fr ${run_dir}/* - - ln -s ${nem_exe_file} - - # ------------------------------------------------------------------------- - # *** Files needed for NEMO (linked) - # ------------------------------------------------------------------------- - - # Various stuff - ln -s ${ini_data_dir}/nemo/${nem_grid}/bathy_meter.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/coordinates.nc - ln -s ${ini_data_dir}/nemo/${nem_grid}/ahmcoef - - # Initial data - ln -s ${ini_data_dir}/nemo/${nem_grid}/temperature_*.nc . - ln -s ${ini_data_dir}/nemo/${nem_grid}/salinity_*.nc . - - # IOM files - ln -s ${ctrl_file_dir}/xmlio_server.def - ln -s ${ctrl_file_dir}/iodef.xml - - # NEMO forcing files - case ${nem_res_hor} in - 1) nem_forcing=${ini_data_dir}/nemo/${nem_grid}/climate/DFS4.3 - if [ ${leg_start_date_yyyy} -le 1978 ]; then - ln -s ${nem_forcing}/precip/precip_DFS4.3_1958_to_1978.nc precip_DFS4.3_${leg_start_date_yyyy}.nc - else - ln -s ${nem_forcing}/precip/precip_DFS4.3_${leg_start_date_yyyy}.nc - fi - - if [ ${leg_start_date_yyyy} -le 1978 ]; then - ln -s ${nem_forcing}/snow/snow_DFS4.3_1958_to_1978.nc snow_DFS4.3_${leg_start_date_yyyy}.nc - else - ln -s ${nem_forcing}/snow/snow_DFS4.3_${leg_start_date_yyyy}.nc - fi - - if [ ${leg_start_date_yyyy} -le 1983 ]; then - ln -s ${nem_forcing}/radlw/radlw_DFS4.3_1958_to_1983.nc radlw_DFS4.3_${leg_start_date_yyyy}.nc - else - ln -s ${nem_forcing}/radlw/radlw_DFS4.3_${leg_start_date_yyyy}.nc - fi - - if [ ${leg_start_date_yyyy} -le 1983 ]; then - ln -s ${nem_forcing}/radsw/radsw_DFS4.3_1958_to_1983.nc radsw_DFS4.3_${leg_start_date_yyyy}.nc - else - ln -s ${nem_forcing}/radsw/radsw_DFS4.3_${leg_start_date_yyyy}.nc - fi - - ln -s ${nem_forcing}/q2/q2_DFS4.3_${leg_start_date_yyyy}_sht.nc* - ln -s ${nem_forcing}/t2/t2_DFS4.3_${leg_start_date_yyyy}_sht.nc - ln -s ${nem_forcing}/u10/u10_DFS4.3_${leg_start_date_yyyy}_sht.nc - ln -s ${nem_forcing}/v10/v10_DFS4.3_${leg_start_date_yyyy}_sht.nc - ln -s ${nem_forcing}/weights/weight_bicub_320x161-ORCA1.nc - ln -s ${nem_forcing}/weights/weight_bilin_320x161-ORCA1.nc - ln -s ${nem_forcing}/weights/weight_bilin_192x94-ORCA1.nc - ;; - *) error "Unsupported horizontal resolution (NEMO-standalone): ${nem_res_hor}" - ;; - esac - -fi # ! $leg_is_restart - -# ----------------------------------------------------------------------------- -# *** Create some control files -# ----------------------------------------------------------------------------- - -. ${ctrl_file_dir}/namelist.nemo-standalone-${nem_grid}.sh > namelist -. ${ctrl_file_dir}/namelist.lim${lim_version}-ORCA${nem_res_hor}.sh > namelist_ice - -# ----------------------------------------------------------------------------- -# *** Link the appropriate NEMO restart files of the previous leg -# ----------------------------------------------------------------------------- -if $leg_is_restart -then - ns=$(printf %08d $(( leg_start_sec / nem_time_step_sec ))) - for n in $(seq 0 $((nem_numproc-1))) - do - np=$(printf %04d ${n}) - ln -fs ${exp_name}_${ns}_restart_oce_${np}.nc restart_oce_${np}.nc - ln -fs ${exp_name}_${ns}_restart_ice_${np}.nc restart_ice_${np}.nc - done -fi - -# ----------------------------------------------------------------------------- -# *** Start the run -# ----------------------------------------------------------------------------- - -# Use the launch function from the platform configuration file -t1=$(date +%s) - -### --- PLATFORM DEPENDENT CODE --- -mpirun -np ${nem_numproc} ${nem_exe_file} -### --- END of PLATFORM DEPENDENT CODE --- - -t2=$(date +%s) - -tr=$(date -d "0 -$t1 sec + $t2 sec" +%T) - -# ----------------------------------------------------------------------------- -# *** Write the restart control file -# ----------------------------------------------------------------------------- -echo "#" | tee -a ${ece_info_file} -echo "# Finished leg at `date '+%F %T'` after ${tr} (hh:mm:ss)" \ - | tee -a ${ece_info_file} -echo "leg_number=${leg_number}" | tee -a ${ece_info_file} -echo "leg_start_date=\"${leg_start_date}\"" | tee -a ${ece_info_file} -echo "leg_end_date=\"${leg_end_date}\"" | tee -a ${ece_info_file} - -# ----------------------------------------------------------------------------- -# *** Platform independent finalising of the run -# ----------------------------------------------------------------------------- -# Rename run-files so they are not overwritten in the next leg -filesToCopy="ocean.output" -for file in ${filesToCopy} -do - cp ${file} ${file}.$(printf %03d $((leg_number))) -done -rm -f ocean.output - -# ----------------------------------------------------------------------------- -# *** Platform dependent finalising of the run -# ----------------------------------------------------------------------------- -finalise - -exit 0 diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml deleted file mode 100644 index 4823c74dc6f56aae9bd92c89ce9193d895a4e464..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.lim2.xml +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml deleted file mode 100644 index 2a13d1a731f3268c9352584795e262207c709aa7..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.lim3.xml +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.xml b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.xml deleted file mode 100644 index 48a0484df19f291cfd1a854089099d137a6af474..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/iodef.xml +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh deleted file mode 100755 index 00706d45b2f9e3b72f682df8bdf7c45bf1e2c8fc..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namcouple-real.sh +++ /dev/null @@ -1,279 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ECE3 - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 5 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 5 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namcouple.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namcouple.sh deleted file mode 100755 index 65ef0c2c8c525ffba283d9269110611c2f1b3888..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namcouple.sh +++ /dev/null @@ -1,279 +0,0 @@ -#!/bin/sh - -cpl_freq_sec=$(( cpl_freq_hrs * 3600 )) - -lag_atm_oce=${ifs_time_step_sec} -lag_oce_atm=${nem_time_step_sec} - -case ${ifs_res_hor} in - 159) atm_grid=A080 - ;; - 255) atm_grid=A128 - ;; - 511) atm_grid=A256 - ;; - 799) atm_grid=A400 - ;; - *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2 - exit 1 - ;; -esac - -case ${nem_res_hor} in - 1) oce_grid=O1t0 - ;; - 025) oce_grid=Ot25 - ;; - *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2 - exit 1 - ;; -esac - -cat << EOF -# =============== - \$JOBNAME - ${exp_name} - \$END -# --------------- - \$CHANNEL - MPI1 NOBSEND - ${ifs_numproc} ${ifs_numproc} - ${nem_numproc} ${nem_numproc} - \$END -# --------------- - \$NBMODEL - 2 ifsmod oceanx 99 99 - \$END -# --------------- - \$NFIELDS - 21 21 - \$END -# --------------- - \$SEQMODE - 1 - \$END -# --------------- - \$RUNTIME - ${leg_length_sec} - \$END -# --------------- - \$INIDATE - ${leg_start_date_yyyymmdd} - \$END -# --------------- - \$MODINFO - NOT - \$END -# --------------- - \$NLOGPRT - 2 - \$END -# --------------- - \$CALTYPE - 1 - \$END -# =============== - \$STRINGS -# =============== -# Fields send from Atmosphere to Ocean -# =============== -# --------------- Field 1: Stress 1 (ocean) --------------- - TAUX_OCE O_OTaux1 50 ${cpl_freq_sec} 4 TAUX_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 2: Stress 2 (ocean) --------------- - TAUY_OCE O_OTauy1 51 ${cpl_freq_sec} 4 TAUY_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 3: Stress 1 (ice) --------------- - TAUX_ICE O_ITaux1 52 ${cpl_freq_sec} 4 TAUX_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 4: Stress 2 (ice) --------------- - TAUY_ICE O_ITauy1 53 ${cpl_freq_sec} 4 TAUY_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 5: Surface solar radiation (ocean) - QS___OCE O_QsrOce 251 ${cpl_freq_sec} 5 QS___OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 6: Surface solar radiation (ice) - QS___ICE O_QsrIce 251 ${cpl_freq_sec} 5 QS___ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_qs_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 7: Non-solar heat flux (ocean) - QNS__OCE O_QnsOce 249 ${cpl_freq_sec} 4 QNS__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 8: Non-solar heat flux (ice) - QNS__ICE O_QnsIce 249 ${cpl_freq_sec} 4 QNS__ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 9: Precip (rain) - PRCP_LIQ OTotRain 292 ${cpl_freq_sec} 4 PRCP_LIQ EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 10: Precip (snow) - PRCP_SOL OTotSnow 328 ${cpl_freq_sec} 4 PRCP_SOL EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 11: Evap (total) - EVAP_TOT OTotEvap 452 ${cpl_freq_sec} 4 EVAP_TOT EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 12: Evap (ice) - EVAP_ICE OIceEvap 41 ${cpl_freq_sec} 4 EVAP_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CONSERV CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 13: DQNSDT (ice) --------------- - DQDT_ICE O_dQnsdT 35 ${cpl_freq_sec} 3 DQDT_ICE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CHECKIN SCRIPR CHECKOUT - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 14: RUNOFF --------------- - RNF__OCE O_Runoff 32 ${cpl_freq_sec} 5 RNF__OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# --------------- Field 15: CALVING --------------- - CALV_OCE OCalving 36 ${cpl_freq_sec} 5 CALV_OCE EXPORTED - ${atm_grid} ${oce_grid} LAG=${lag_atm_oce} - P 0 P 2 - CORRECT CHECKIN SCRIPR CONSERV CHECKOUT - ${oas_rnf_fluxcorr} 0 - INT=1 - GAUSWGT D SCALAR LATITUDE 90 9 2.0 - GLOBAL - INT=1 -# =============== -# Fields send from Ocean to Atmosphere -# =============== -# --------------- Field 1: SST --------------- - O_SSTSST A_SSTSST 1 ${cpl_freq_sec} 5 O_SSTSST EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR MASKP CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - 999999. - INT=1 -# --------------- Field 2: Ice temperature --------------- - O_TepIce A_TepIce 34 ${cpl_freq_sec} 4 O_TepIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 3: Ice fraction --------------- - O_AlbIce A_AlbIce 31 ${cpl_freq_sec} 4 O_AlbIce EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 4: Ice albedo --------------- - OIceFrac AIceFrac 17 ${cpl_freq_sec} 4 OIceFrac EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 5: Ice thickness --------------- - O_IceTck A_IceTck 45 ${cpl_freq_sec} 4 O_IceTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- Field 6: Snow thickness (ice) --------------- - O_SnwTck A_SnwTck 46 ${cpl_freq_sec} 4 O_SnwTck EXPORTED - ${oce_grid} $(echo ${atm_grid} | sed 's/A/L/') LAG=${lag_oce_atm} - P 2 P 0 - LOCTRANS CHECKIN SCRIPR CHECKOUT - AVERAGE - INT=1 - GAUSWGT LR SCALAR LATITUDE 90 9 2.0 - INT=1 -# --------------- - \$END -# =============== -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L62.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh deleted file mode 100755 index e46b31c194ee8709c93e8ad0314388a10b144d42..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T255L91.sh +++ /dev/null @@ -1,446 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAMGWWMS - GFLUXLAUN=0.002 - ZLAUNCHP=45000 - LOZPR=true - NGAUSS=4 - GGAUSSB=1.0 -/ -&NAMGWD - GTENLIM=0.02 -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T511L91.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh deleted file mode 100755 index 9fb9bfb5a0aecaab86e8f8cd4dafe9f76c930b29..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.ifs-T799L62.sh +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/sh - -cat << EOF -&NAMRES - NFRRES = 1, - NRESTS = -1,-$(( leg_end_sec / 3600 )), -/ -&NAERAD - NRPROMA = 0, - LCMIP5 = ${ifs_cmip5}, - CMIP5DATADIR = "${ini_data_dir}/ifs/cmip5-data", - NCMIP5FIXYR = ${ifs_ncmip5fixyr}, - NRCP = ${ifs_cmip5_rcp}, - LHVOLCA = ${ifs_volcanoes}, -/ -&NAEPHY - LEPHYS = TRUE, - LEVDIF = TRUE, - LESURF = TRUE, - LECOND = TRUE, - LECUMF = TRUE, - LEPCLD = TRUE, - LEEVAP = TRUE, - LEVGEN = TRUE, - LESSRO = TRUE, - LECURR = FALSE, - LEGWDG = TRUE, - LEGWWMS = TRUE, - LEOZOC = TRUE, - LEQNGT = TRUE, - LERADI = TRUE, - LERADS = TRUE, - LESICE = TRUE, - LEO3CH = FALSE, - LEDCLD = TRUE, - LDUCTDIA = FALSE, - LWCOU = FALSE, - LWCOU2W = TRUE, - NSTPW = 1, - RDEGREW = 1.5, - RSOUTW = -81.0, - RNORTW = 81.0, -/ -&NAMPAR1 - LSPLIT = TRUE, - NFLDIN = 0, - NFLDOUT = 50, - NSTRIN = 1, -/ -&NAMPAR0 - LSTATS = TRUE, - LDETAILED_STATS= FALSE, - LSYNCSTATS = FALSE, - LSTATSCPU = FALSE, - NPRNT_STATS = 32, - LBARRIER_STATS = FALSE, - LBARRIER_STATS2= FALSE, - NPROC = ${ifs_numproc}, - NOUTPUT = 1, - MP_TYPE = 2, - MBX_SIZE = 128000000, -/ -&NAMDYNCORE - LAQUA = FALSE, -/ -&NAMDYN - TSTEP = ${ifs_time_step_sec}.0, - LMASCOR = TRUE, - LMASDRY = TRUE, -/ -&NAMNMI - LASSI = FALSE, -/ -&NAMIOS - CFRCF = "rcf", - CIOSPRF = "srf", -/ -&NAMFPG -/ -&NAMCT0 - LNHDYN = FALSE, - NCONF = 1, - CTYPE = "fc", - CNMEXP = "test", - CFCLASS = "se", - LECMWF = TRUE, - LARPEGEF = FALSE, - LFDBOP = FALSE, - LFPOS = TRUE, - LSMSSIG = FALSE, - LSPRT = TRUE, - LSLAG = TRUE, - LTWOTL = TRUE, - LVERTFE = TRUE, - LAPRXPK = TRUE, - LOPT_SCALAR = TRUE, - LPC_FULL = FALSE, - LPC_CHEAP = FALSE, - LPC_NESC = FALSE, - LPC_NESCT = FALSE, - LSLPHY = TRUE, - LRFRIC = FALSE, - LFPSPEC = FALSE, - N3DINI = 0, - NSTOP = $(( leg_end_sec / ifs_time_step_sec )), - NFRDHP = ${ifs_ddh_freq} - NFRSDI = ${ifs_di_freq}, - NFRGDI = ${ifs_di_freq}, - NFRPOS = ${ifs_output_freq}, - NFRHIS = ${ifs_output_freq}, - NFRMASSCON = ${ifs_output_freq}, - NPOSTS = 0, - NHISTS = 0, - NMASSCONS = 0, - NFRCO = $(( cpl_freq_hrs * 3600 / ifs_time_step_sec )), - NFRDHFZ = 48, - NDHFZTS = 0, - NDHFDTS = 0, - LWROUTLAST = ${ifs_lastout}, - CFDIRLST = "dirlist", - CNPPATH = "postins", -/ -&NAMDDH - BDEDDH(1,1) = 4.0,1.0,0.0,50.0,0.0,49.0, - NDHKD = 120, - LHDZON = FALSE, - LHDEFZ = FALSE, - LHDDOP = FALSE, - LHDEFD = FALSE, - LHDGLB = TRUE, - LHDPRG = TRUE, - LHDHKS = TRUE, -/ -&NAMGFL - NERA40 = 0, - YQ_NL%LGP = TRUE, - YQ_NL%LSP = FALSE, - YL_NL%LGP = TRUE, - YI_NL%LGP = TRUE, - YA_NL%LGP = TRUE, - YO3_NL%LGP = FALSE, - YQ_NL%LGPINGP = TRUE, -/ -&NAMFPC - CFPFMT = "MODEL", - NFP3DFS = 5, - NFP3DFP = 7, - NFP3DFT = 1, - NFP3DFV = 1, - MFP3DFS = 130,135,138,155,133, - MFP3DFP = 129,130,135,138,155,157,133, - MFP3DFT = 60, - MFP3DFV = 133, - NFP2DF = 2, - MFP2DF = 129,152, - NFPPHY = 78, - MFPPHY = 31,32,33,34,35,36,37,38,39,40,41,42,44,45,49,50,57,58,59,78,79,129,136,137,139,141,142,143,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,201,202,205,208,209,210,211,235,236,238,243,244,245,229,230,231,232,213, - 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,61,62, - 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, - LFITP = TRUE, - LFITT = FALSE, - LFITV = FALSE, - NFPCLI = 0, - LFPQ = FALSE, - LASQ = FALSE, - LTRACEFP = FALSE, - RFPCORR = 60000., -/ -&NAMFPD -/ -&NAMDIM - NPROMA = 0, - NUNDEFLD = 0, -/ -&NAMVAR - LMODERR = FALSE, - LJCDFI = FALSE, - LUSEJCDFI = FALSE, -/ -&NAMMCC - LMCCIEC = TRUE - LMCCEC = TRUE - LMCC04 = TRUE - NOACOMM = 5 - LMCCICEIC = FALSE -/ -&NAMPPC - LRSACC = TRUE -/ -&NAEAER -/ -&NALBAR -/ -&NALORI -/ -&NAM_DISTRIBUTED_VECTORS -/ -&NAM926 -/ -&NAMAFN -/ -&NAMANA -/ -&NAMARPHY -/ -&NAMCA -/ -&NAMCAPE -/ -&NAMCFU -/ -&NAMCHK -/ -&NAMCHET -/ -&NAMCLDP -/ -&NAMCLTC -/ -&NAMCOM -/ -&NAMCOS -/ -&NAMCTAN -/ -&NAMCUMF -/ -&NAMCUMFS -/ -&NAMCT1 -/ -&NAMCVA -/ -&NAMDFHD -/ -&NAMDFI -/ -&NAMDIF -/ -&NAMDIMO -/ -&NAMDMSP -/ -&NAMDPHY -/ -&NAMDYNA -/ -&NAMEMIS_CONF -/ -&NAMENKF -/ -&NAMFA -/ -&NAMFFT -/ -&NAMFPDY2 -/ -&NAMFPDYH -/ -&NAMFPDYP -/ -&NAMFPDYS -/ -&NAMFPDYT -/ -&NAMFPDYV -/ -&NAMFPEZO -/ -&NAMFPF -/ -&NAMFPIOS -/ -&NAMFPPHY -/ -&NAMFPSC2 -/ -&NAMFPSC2_DEP -/ -&NAMFY2 -/ -&NAMGEM -/ -&NAMGMS -/ -&NAMGOES -/ -&NAMGOM -/ -&NAMGRIB -/ -&NAMGWD -/ -&NAMGWWMS -/ -&NAMHLOPT -/ -&NAMINI -/ -&NAMIOMI -/ -&NAMJBCODES -/ -&NAMJFH -/ -&NAMJG -/ -&NAMJO -/ -&NAMKAP -/ -&NAMLCZ -/ -&NAMLEG -/ -&NAMLFI -/ -&NAMMCUF -/ -&NAMMETEOSAT -/ -&NAMMTS -/ -&NAMMTSAT -/ -&NAMMTT -/ -&NAMMUL -/ -&NAMNASA -/ -&NAMNN -/ -&NAMNPROF -/ -&NAMNUD -/ -&NAMOBS -/ -&NAMONEDVAR -/ -&NAMOPH -/ -&NAMPARAR -/ -&NAMPHY -/ -&NAMPHY0 -/ -&NAMPHY1 -/ -&NAMPHY2 -/ -&NAMPHY3 -/ -&NAMPHYDS -/ -&NAMPONG -/ -&NAMRAD15 -/ -&NAMRCOEF -/ -&NAMRINC -/ -&NAMRIP -/ -&NAMSCC -/ -&NAMSCEN -/ -&NAMSCM -/ -&NAMSENS -/ -&NAMSIMPHL -/ -&NAMSKF -/ -&NAMSPSDT -/ -&NAMSTA -/ -&NAMSTOPH -/ -&NAMTCWV -/ -&NAMTESTVAR -/ -&NAMTLEVOL -/ -&NAMTOPH -/ -&NAMTOVS -/ -&NAMTRAJP -/ -&NAMTRANS -/ -&NAMTRM -/ -&NAMVARBC -/ -&NAMVARBC_AIREP -/ -&NAMVARBC_ALLSKY -/ -&NAMVARBC_RAD -/ -&NAMVARBC_TCWV -/ -&NAMVARBC_TO3 -/ -&NAMVAREPS -/ -&NAMVDOZ -/ -&NAMVFP -/ -&NAMVRTL -/ -&NAMVV1 -/ -&NAMVV2 -/ -&NAMVWRK -/ -&NAMXFU -/ -&NAMZDI -/ -&NAPHLC -/ -&NAV1IS -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh deleted file mode 100755 index b2da9b7b3d693a93e5d9132beefca0259a7abbc5..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA025.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.0e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 250 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 2.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-09 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 100.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 360 ! number of EVP subcycling iterations - telast = 3600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.6 , 0.5 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh deleted file mode 100755 index c2234c7d60ee5a1af0baf329c79cf70f4c48e72d..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim2-ORCA1.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 1.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 120 ! number of EVP subcycling iterations - telast = 9600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.3 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 0.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh deleted file mode 100755 index 43c245e80e4edd26379b58c9938a8e09f14f1cb3..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA025.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 5.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh deleted file mode 100755 index ee5a8c37de6c8e91224ea17cf0c25f3ff90cd251..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.lim3-ORCA1.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/sh - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM3 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice salinity (namicesal) -!! 7 - mechanical redistribution of ice (namiceitdme) -!! 8 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - acrit = 1.0e-02 , 1.0e-02 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) - cai = 1.40e-3 ! atmospheric drag over sea ice - cao = 1.00e-3 ! atmospheric drag over ocean - ln_nicep = .false. ! Ice points output for debug (yes or no) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.3 ! initial snow thickness in the north - hnins = 0.1 ! " " south - hginn_u = 3.50 ! initial undeformed ice thickness in the north - hgins_u = 1.0 ! " " " south - aginn_u = 0.95 ! initial undeformed ice concentration in the north - agins_u = 0.9 ! " " " south - hginn_d = 0.0 ! initial deformed ice thickness in the north - hgins_d = 0.0 ! - aginn_d = 0.00 ! initial deformed ice concentration in the north - agins_d = 0.00 ! " " " south - sinn = 6.301 ! initial salinity in the north - sins = 6.301 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 500 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 4.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 1.0e-12 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 90.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 300 ! number of iterations for subcycling in EVP, SB, 400 - telast =9600.0 ! timescale for elastic waves, SB, 720.0 - alphaevp = 1.0 ! coefficient for the solution of internal ice stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.1 , 0.1 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! caution 1.0, 1.0 best value to be used!!! (gilles G.) ???? - fraz_swi = 0.0 ! use of frazil ice collection thickness in function of wind (1.0) or not (0.0) - maxfrazb = 0.0 ! maximum portion of frazil ice collecting at the ice bottom - vfrazb = 0.4166667 ! thresold drift speed for frazil ice collecting at the ice bottom - Cfrazb = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.10 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.25 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation - betas = 0.6 ! exponent in lead-ice fractionation of snow precipitation 0.66 - ! betas = 1 -> equipartition, betas < 1 -> more on leads - kappa_i = 1.0 ! extinction radiation parameter in sea ice (1.0) - nconv_i_thd = 50 ! maximal number of iterations for heat diffusion computation - maxer_i_thd = 0.0001 ! maximal error in temperature for heat diffusion computation - thcon_i_swi = 1 ! switch for computation of thermal conductivity in the ice - ! (0) Untersteiner (1964), (1) Pringle et al. (2007) -/ -!----------------------------------------------------------------------- -&namicesal ! ice salinity -!----------------------------------------------------------------------- - num_sal = 2 ! salinity option: 1 -> S = bulk_sal - ! 2 -> S = S(z,t) with a simple parameterization - ! 3 -> S = S(z) profile of Scwharzacher [1959] - ! 4 -> S = S(h) Cox and Weeks [1974] - bulk_sal = 4.0 ! if 1 is used, it represents the ice salinity - sal_G = 5.00 ! restoring salinity for GD - time_G = 1.728e+6 ! restoring time for GD - sal_F = 2.00 ! restoring salinity for flushing - time_F = 8.640e+5 ! restoring time for flushing - s_i_max = 20.0 ! Maximum salinity - s_i_min = 0.1 ! Minimum tolerated ice salinity - s_i_0 = 3.5 ! 1st salinity for salinity profile - s_i_1 = 4.5 ! 2nd salinity for salinity profile -/ -!----------------------------------------------------------------------- -&namiceitdme ! parameters for mechanical redistribution of ice -!----------------------------------------------------------------------- - ridge_scheme_swi = 0 ! which ridging scheme using (1=Rothrock,else=Hibler79) - Cs = 0.50 ! shearing energy contribution to ridging - Cf = 17.0 ! ratio of ridging work to PE change in ridging - fsnowrdg = 0.5 ! snow fraction that survives in ridging - fsnowrft = 0.5 ! snow fraction that survives in rafting - Gstar = 0.15 ! fractional area of thin ice being ridged - astar = 0.05 ! equivalent of gstar (0.05 for TH75 and 0.03 for weaker ice) - Hstar = 100.0 ! parameter determining the maximum thickness of ridged ice - raftswi = 1 ! rafting or not - hparmeter = 0.75 ! threshold thickness for rafting or not - Craft = 5.0 ! coefficient used in the rafting function - ridge_por = 0.3 ! initial porosity of the ridged ice (typically 0.30) - sal_max_ridge = 15.0 ! maximum ridged ice salinity - partfun_swi = 1 ! participation function linear, TH75 (0) or exponential Letal07 (1) - transfun_swi = 0 ! transfer function uniform of H80 (0) or exponential Letal07 (1) - brinstren_swi = 0 ! (1) use brine volume to diminish ice strength -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!----------------------------------------------------------------------- -&namiceout ! parameters for outputs -!----------------------------------------------------------------------- - noumef = 37 ! number of fields - add_diag_swi= 1 ! 1 -> diagnose distribution in thickness space - ! 0 -> only simple diagnostics -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Ice concentration ', 'iiceconc', '% ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_4 = 'Daily bottom thermo ice production ', 'iicebopr', 'cm/day ', 1 , 100. , 0.0 - field_5 = 'Daily dynamic ice production ', 'iicedypr', 'cm/day ', 1 , 100. , 0.0 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , 0.0 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Heat flux due to brine release ', 'iocehebr', 'w/m2 ', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 - field_20 = 'Mean ice salinity ', 'iicesali', 'psu ', 1 , 1.0 , 0.0 - field_21 = 'Mean ice age ', 'iiceages', 'years ', 1 , 0.002739, 0.0 - field_22 = 'Daily lateral thermo ice prod. ', 'iicelapr', 'cm/day ', 1 ,100. , 0.0 - field_23 = 'Daily snowice ice production ', 'iicesipr', 'cm/day ', 1 ,100. , 0.0 - field_24 = 'Mean ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_25 = 'Ice total heat content ', 'iiceheco', '10^9 J ', 1 , 1.0 , 0.0 - field_26 = 'Ice surface temperature ', 'iicesurt', 'C ', 1 , 1.0 , -273.15 - field_27 = 'Snow temperature ', 'isnotem2', 'C ', 1 , 1.0 , -273.15 - field_28 = 'Fsbri - brine salt flux ', 'iicfsbri', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_29 = 'Fseqv - equivalent FW salt flux ', 'iicfseqv', 'kg/m2/s ', 1 , 1.0 , 0.0 - field_30 = 'Brine volume ', 'ibrinvol', '% ', 1 , 100.0 , 0.0 - field_31 = 'Frazil ice collection thickness ', 'iicecolf', 'm ', 1 , 1.0 , 0.0 - field_32 = 'Ice strength ', 'iicestre', 'N/m ', 1 , 0.001 , 0.0 - field_33 = 'Ice velocity ', 'iicevelo', 'm/s ', 1 , 1.0 , 0.0 - field_34 = 'Surface melt ', 'iicesume', 'cm/day ', 1 ,100. , 0.0 - field_35 = 'Bottom melt ', 'iicebome', 'cm/day ', 1 ,100. , 0.0 - field_36 = 'Divergence ', 'iicedive', '10-8s-1 ', 1 , 1.0e8 , 0.0 - field_37 = 'Shear ', 'iiceshea', '10-8s-1 ', 1 , 1.0e8 , 0.0 -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh deleted file mode 100755 index 1d99d92c2a3b3a69c7b06cec699c7babb7a946f5..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'none' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 1 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 2.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0.5 ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 3.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .false. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 1 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 300. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 0. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .false. ! laplacian operator - ln_dynldf_bilap = .true. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 0. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -1.5e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 10. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.4 ! surface buoyancy lenght scale minimum value - ln_lc = .false. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-15 ! absolute precision of the solver - nn_nmin = 340 ! minimum of iterations for the SOR solver - nn_nmax = 15000 ! maximum of iterations for the SOR solver - nn_nmod = 5 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.975 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh deleted file mode 100755 index 7a7dbb3baa4d6febd89342e61fb4ce9608330751..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA025L75.sh +++ /dev/null @@ -1,412 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!----------------------------------------------------------------------- -&namrun ! Parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! Job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! Start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! Restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! Suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! Suffix of ocean restart name (output) - nn_istate = 0 ! Output the initial state (1) or not (0) - nn_stock = 0 ! Frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! Frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) -/ -!----------------------------------------------------------------------- -&namzgr ! Vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namdom ! Space and time domain (bathymetry, mesh, timestep) -!----------------------------------------------------------------------- - nn_bathy = 1 ! Compute (=0) or read (=1) the bathymetry file - nn_closea = 0 ! Remove (=0) or keep (=1) closed seas and lakes (ORCA) - nn_msh = 0 ! Create (=1) a mesh file or not (=0) - ! - rn_e3zps_min= 25. ! Partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.2 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! Flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2") - ln_dm2dc = .false. ! Daily mean to diurnal cycle on short wave - ln_rnf = .false. ! Runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! Coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! SEND -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! RECEIVE -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! Penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - ! - cn_dir = './' ! Root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! Bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! Runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - ! - cn_dir = './' ! Root directory for the location of the runoff files - ln_rnf_emp = .false. ! Runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! Specific treatment at rivers mouths - rn_hrnf = 0.e0 ! Depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! Value of the additional vertical mixing coef. [m2/s] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! Albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! Cloud correction to snow and ice albedo - rn_albice = 0.53 ! Albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! Coefficients for linear interpolation used to - rn_alphc = 0.65 ! Compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ -!----------------------------------------------------------------------- -&namlbc ! Lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 0.5 ! shlat = 0 : free slip - ! 0 < shlat < 2 : partial slip - ! shlat = 2 : no slip - ! 2 < shlat : strong slip -/ -!----------------------------------------------------------------------- -&namcla ! Cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! Advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&nambfr ! Bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! Type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! Bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! Bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! Bottom turbulent kinetic energy background (m2/s2) -/ -!----------------------------------------------------------------------- -&nambbc ! Bottom temperature boundary condition -!----------------------------------------------------------------------- -! Use defaults -/ -!----------------------------------------------------------------------- -&nambbl ! Bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! Diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! Advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! Lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! Advective bbl coefficient [s] -/ -!----------------------------------------------------------------------- -&nameos ! Ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! Type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! Thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! Saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! Advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! Lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! Laplacian operator - ln_traldf_bilap = .false. ! Bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! Iso-level - ln_traldf_hor = .false. ! Horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! Iso-neutral (require "key_ldfslp") -! ! Coefficient - rn_aht_0 = 300. ! Horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! Background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 0. ! Eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namdyn_adv ! Formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! Vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! Flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! Flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! Option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! Enstrophy conserving scheme - ln_dynvor_ens = .false. ! Energy conserving scheme - ln_dynvor_mix = .false. ! Mixed scheme - ln_dynvor_een = .true. ! Energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! Weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! Hydrostatic pressure gradient: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -&namdyn_ldf ! Lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .false. ! Laplacian operator - ln_dynldf_bilap = .true. ! Bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! Iso-level - ln_dynldf_hor = .true. ! Horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! Iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 0. ! Horizontal laplacian eddy viscosity [m2/s] - rn_ahm_0_blp = -1.5e11 ! Horizontal bilaplacian eddy viscosity [m4/s] - rn_ahmb_0 = 0. ! Background eddy viscosity for ldf_iso [m2/s] -/ -!----------------------------------------------------------------------- -&namzdf ! Vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.e-4 ! Vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.e-5 ! Vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! Profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! Horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! Enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! Evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 10. ! Evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! Frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! Time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! Number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! Richardson number dependent vertical diffusion ("key_zdfric") -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! Maximum value of the vertical viscosity - rn_alp = 5. ! Coefficient of the parameterization - nn_ric = 2 ! Coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! Turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! Coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! Coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! Coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! Minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! Surface minimum value of tke [m2/s2] - nn_mxl = 3 ! Mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! Surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! Surface buoyancy lenght scale minimum value - ln_lc = .false. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! Coef. associated to Langmuir cells - nn_etau = 1 ! Penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! Fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! Type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ - ln_kpprimix = .true. ! Shear instability mixing - rn_difmiw = 1.0e-04 ! Constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! Constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! Local Richardson Number limit for shear instability - rn_difri = 0.0050 ! Maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! Maximum mixing in interior convection [m2/s] - nn_avb = 0 ! Horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! Constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! Double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! Maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! Heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namsol ! Elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 2 ! Elliptic solver: =1 Preconditioned conjugate gradient (PCG) - ! =2 Successive-over-relaxation (SOR) - ! =3 FETI (fet) ("key_feti") - ! =4 SOR with extra outer halo - nn_sol_arp = 0 ! Absolute/relative (0/1) precision convergence test - nn_nmin = 340 ! Minimum of iterations for the SOR solver - nn_nmax = 15000 ! Maximum of iterations for the SOR solver - nn_nmod = 5 ! Frequency of test for the SOR solver - rn_eps = 1.e-15 ! Absolute precision of the solver - rn_resmax = 1.e-10 ! Absolute precision for the SOR solver - rn_sor = 1.975 ! Optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi") -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! MPI send/recieve type ='S', 'B', or 'I' for standard send, - ! Buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! Size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni Number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj Number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij Number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! Trends control print (expensive!) - nn_print = 0 ! Level of print (0 no extra print) - nn_ictls = 0 ! Start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! End i indice of control sum multi processor runs - nn_jctls = 0 ! Start j indice of control over a subdomain) - nn_jctle = 0 ! End j indice of control - nn_isplt = 1 ! Number of processors in i-direction - nn_jsplt = 1 ! Number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ -!----------------------------------------------------------------------- -&namtrd ! Diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! Time step frequency dynamics and tracers trends - nn_ctls = 0 ! Control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! Suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! Suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! Restart for ML diagnostics - ln_trdmld_instant = .false. ! Flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! Float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! Float restart (T) or not (F) - nn_writefl = 75 ! Frequency of writing in float output file - nn_stockfl = 5475 ! Frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! Trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- -! Use defaults -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- -! Use defaults -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh deleted file mode 100755 index b07b13ae3cdbe85f55b0f6ce8063fa2b64ac8f5f..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-ORCA1L46.sh +++ /dev/null @@ -1,888 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .true. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulae -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' - sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' - sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' - sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' - sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'ice and snow' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'none' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce and ice' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'spherical' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'T' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! specific treatment at rivers mouths - rn_hrnf = 15.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.40 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.60 ! compute albedo between two extremes values - rn_alphdi = 0.67 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 1 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 1 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUICKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1400. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1400. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = -100.e11 ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.0e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.0e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 50. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 2 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 1800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh deleted file mode 100755 index a5d0ecc5a4290f0ad0de6a5a586262613c4acd4c..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/namelist.nemo-standalone-ORCA1L46.sh +++ /dev/null @@ -1,854 +0,0 @@ -#!/bin/sh - -if $leg_is_restart -then - nemo_restart=".TRUE." -else - if [[ $rstctl -eq 1 ]]; then - nemo_restart=".FALSE." - else - nemo_restart=".TRUE." - fi -fi - -case $advsch in - cen2) LCEN2=.true. - LTVD=.false.;; - tvd) LCEN2=.false. - LTVD=.true.;; - * ) print "Unknown testcase" - exit 1;; -esac - -cat << EOF -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "${exp_name}" - nn_it000 = $(( leg_start_sec / nem_time_step_sec + 1 )) - nn_itend = $(( leg_end_sec / nem_time_step_sec )) - nn_date0 = ${leg_start_date_yyyymmdd} - nn_leapy = 1 ! Leap year calendar (1) or not (0) - ln_rstart = ${nemo_restart} ! start from rest (F) or from a restart file (T) - nn_rstctl = ${rstctl} ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart_oce" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart_oce" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 0 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ -!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .false. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulae -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! -sn_wndi = 'u10_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'u10', .false., .true., 'yearly', 'weight_bicub_320x161-ORCA1', 'Uwnd' -sn_wndj = 'v10_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'v10', .false., .true., 'yearly', 'weight_bicub_320x161-ORCA1', 'Vwnd' -sn_qsr = 'radsw_DFS4.3_${leg_start_date_yyyy}' , 24, 'radsw', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_qlw = 'radlw_DFS4.3_${leg_start_date_yyyy}' , 24, 'radlw', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_tair = 't2_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 't2', .false., .true., 'yearly', 'weight_bilin_320x161-ORCA1', '' -sn_humi = 'q2_DFS4.3_${leg_start_date_yyyy}_sht' , 6, 'q2', .false., .true., 'yearly', 'weight_bilin_320x161-ORCA1', '' -sn_prec = 'precip_DFS4.3_${leg_start_date_yyyy}' , -1, 'precip', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_snow = 'snow_DFS4.3_${leg_start_date_yyyy}' , -1, 'snow', .false., .true., 'yearly', 'weight_bilin_192x94-ORCA1', '' -sn_tdif = 'taudif_core' , 24, 'taudif', .false., .true., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namtra_qsr ! Penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask' , -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .false. ! specific treatment at rivers mouths - rn_hrnf = 15.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-3 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' - sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = 0. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -27.7 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.40 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.60 ! compute albedo between two extremes values - rn_alphdi = 0.67 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 1 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 1 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 2.0e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 7.7e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = $LCEN2 ! 2nd order centered scheme - ln_traadv_tvd = $LTVD ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUICKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1400. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1400. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = 0. ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.0e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.0e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 0 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 50. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 67.83 ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 2 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .true. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.04 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .false. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscellaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 1800 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'B' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 16000000 ! size in bytes of exported buffer ('B' case), 0 no exportation - jpni = 0 ! jpni number of processors following i (set automatically if < 1) - jpnj = 0 ! jpnj number of processors following j (set automatically if < 1) - jpnij = 0 ! jpnij number of local domains (set automatically if < 1) -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 1 ! number of processors in i-direction - nn_jsplt = 1 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .false. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ -EOF diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 deleted file mode 100644 index eb6eaaceca713a7628291fdebef69b7808f82383..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/ppt0000000000 +++ /dev/null @@ -1,64 +0,0 @@ - &NAMFPC - CFPFMT ='MODEL', - LFITP =true, - - NFP3DFP = 5, - MFP3DFP = 129,130,131,132,133, - RFP3P = 100000,92500,85000,70000,50000,40000,30000,20000,10000,5000,1000, - - NFP2DF = 1, - MFP2DF = 152, - - NFPPHY = 53, - MFPPHY = 129,172,031,032,034,035,039,040,041,042,078,079,136,137,139,141,142,143,144,146,147,151,164,165,166,167,168,169,170,175,176,177,178,179,180,181,182,183,186,187,188,201,202,205,208,209,210,211,212,235,236,238,243, - / - &NAMFPDY2 - / - &NAMFPDYP - / - &NAMFPDYH - / - &NAMFPDYT - / - &NAMFPDYV - / - &NAMFPDYS - / - &NAMFPPHY - / - &NAMPPC - LRSACC=.TRUE. - / - - &NAMFPC - CFPFMT ='MODEL', - LFITP =true, - - NFP3DFP = 5, - MFP3DFP = 129,130,131,132,133, - RFP3P = 100000,92500,85000,70000,50000,40000,30000,20000,10000,5000,1000, - - NFP2DF = 1, - MFP2DF = 152, - - NFPPHY = 53, - MFPPHY = 129,172,031,032,034,035,039,040,041,042,078,079,136,137,139,141,142,143,144,146,147,151,164,165,166,167,168,169,170,175,176,177,178,179,180,181,182,183,186,187,188,201,202,205,208,209,210,211,212,235,236,238,243, - / - &NAMFPDY2 - / - &NAMFPDYP - / - &NAMFPDYH - / - &NAMFPDYT - / - &NAMFPDYV - / - &NAMFPDYS - / - &NAMFPPHY - / - &NAMPPC - LRSACC=.TRUE. - / - diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 deleted file mode 100644 index 68a026fc858a076eee55a1a4f44423194066f48b..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/pptdddddd0000 +++ /dev/null @@ -1,64 +0,0 @@ - &NAMFPC - CFPFMT ='MODEL', - LFITP =true, - - NFP3DFP = 5, - MFP3DFP = 129,130,131,132,133, - RFP3P = 100000,92500,85000,70000,50000,40000,30000,20000,10000,5000,1000, - - NFP2DF = 1, - MFP2DF = 152, - - NFPPHY = 51, - MFPPHY = 031,032,034,035,039,040,041,042,078,079,136,137,139,141,142,143,144,146,147,151,164,165,166,167,168,169,170,175,176,177,178,179,180,181,182,183,186,187,188,201,202,205,208,209,210,211,212,235,236,238,243, - / - &NAMFPDY2 - / - &NAMFPDYP - / - &NAMFPDYH - / - &NAMFPDYT - / - &NAMFPDYV - / - &NAMFPDYS - / - &NAMFPPHY - / - &NAMPPC - LRSACC=.TRUE. - / - - &NAMFPC - CFPFMT ='MODEL', - LFITP =true, - - NFP3DFP = 5, - MFP3DFP = 129,130,131,132,133, - RFP3P = 100000,92500,85000,70000,50000,40000,30000,20000,10000,5000,1000, - - NFP2DF = 1, - MFP2DF = 152, - - NFPPHY = 51, - MFPPHY = 031,032,034,035,039,040,041,042,078,079,136,137,139,141,142,143,144,146,147,151,164,165,166,167,168,169,170,175,176,177,178,179,180,181,182,183,186,187,188,201,202,205,208,209,210,211,212,235,236,238,243, - / - &NAMFPDY2 - / - &NAMFPDYP - / - &NAMFPDYH - / - &NAMFPDYT - / - &NAMFPDYV - / - &NAMFPDYS - / - &NAMFPPHY - / - &NAMPPC - LRSACC=.TRUE. - / - diff --git a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def b/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def deleted file mode 100644 index 3a6f0e234de9c8173fb30784d1fad6c72f8b1330..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ece-v3.0.1/sources/build-config/setup/ctrl/xmlio_server.def +++ /dev/null @@ -1,35 +0,0 @@ -! xmlio_server namelist -! -! using_server: .TRUE.(.FALSE.) to use(bypass) the io_server -! using_oasis : .TRUE.(.FALSE.) if nemo is coupled through OASIS -! client_id : used only for OASIS, NEMO id in the namecouple -! server_id : used only for OASIS, io_server id in the namecouple -! -&coupling_param - using_server = .FALSE. - using_oasis = .TRUE. - client_id = 'nemo.x' - server_id = 'ionemo' -/ - -! global_mpi_buffer_size: size in Mo of the MPI buffer used by the io_server -&mpi_param - global_mpi_buffer_size = 512 -/ - -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings -!!====================================================================== -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings - ! (benign if "key_netcdf4" is not used) -!----------------------------------------------------------------------- - nn_nchunks_i = 4 ! number of chunks in i-dimension - nn_nchunks_j = 4 ! number of chunks in j-dimension - nn_nchunks_k = 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .TRUE. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ - diff --git a/deploy/patches/ithaca/nemo/ecearth-v2.2/build/compilation.cmd b/deploy/patches/ithaca/nemo/ecearth-v2.2/build/compilation.cmd deleted file mode 100755 index 42e1a582c7de6b0392371cd6cc0b7ebde0cd5b20..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ecearth-v2.2/build/compilation.cmd +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/ksh - -nemo_i=6 -nemo_j=6 - -while getopts i:j: option -do - case $option in - i) nemo_i=$OPTARG;; - j) nemo_j=$OPTARG;; - \?) exit 1;; - esac -done - -source /opt/modules/init/ksh -module load intel/13.0.1 -module load openmpi/1.6-intel # OpenMPI -#module load intel/4.0.3.008 # Intel MPI - -set -xuve -date - -MPI=/share/mpi/openmpi/1.6/ics2012.0.032 # OpenMPI -#MPI=/share/compilers/ics/2012.0.032/impi/4.0.3.008/intel64 # Intel MPI -NetCDF=/scratch/cfu/opt/netcdf-3.6.3/intel12 -UDUNITS=/scratch/cfu/opt/udunits-2.1.24/intel12 - -settings=settings.orca1.ithaca - -cd .. -ECEARTH=`pwd` -cd - - -cat > $settings <namelist <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! OPA namelist : model option and parameter input -! ------------- -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!----------------------------------------------------------------------- -! namrun parameters of the run -!----------------------------------------------------------------------- -! no job number -! cexper experience name for vairmer format -! ln_rstart boolean term for restart (true or false) -! nrstdt control of the restart timestep: -! = 0 restart, do not control nit000 in the restart file. -! = 1 restart, control nit000 in the restart file. Do not -! use the date in the restart file (use ndate0 in namelist) -! = 2 restart, control nit000 in the restart file, use the date -! in the restart file. ndate0 in the namelist is ignored. -! nit000 number of the first time step -! nitend number of the last time step -! ndate0 initial calendar date aammjj -! nleapy Leap year calendar (0/1) -! ninist initial state output flag (0/1) -! nstock frequency of restart file -! nwrite frequency of OUTPUT file (set to -1 to select EC-EARTH monthly means) -! nrunoff = 0 no, 1 runoff, 2 runoff+river mouth ups adv -! -! CAUTION: for usual run scripts, logical value of -! ******* ln_rstart must be .true. or .false. -! and NOT .TRUE. or .FALSE. -&namrun - no = 0 - cexper = "ORCA2" - ln_rstart = ${OCRESTART} - ln_glorst = ${GLOBAL_RESTART_FILE} - nrstdt = $(RESTART_MODE} - nit000 = $((${OCLENPRV}+1)) - nitend = ${OCLENGTH} - ndate0 = ${STARTDATE} - nleapy = 1 - ninist = 0 - nstock = ${OCLENGTH} - nwrite = -1 - nrunoff = 2 -/ -!----------------------------------------------------------------------- -! nam_ctl Control prints & Benchmark -!----------------------------------------------------------------------- -! ln_ctl trends control print (expensive!) -! nprint level of print (0 no print) -! nictls start i indice to make the control SUM (very usefull to compare mono- -! nictle end i indice to make the control SUM (-versus multi processor runs) -! njctls start j indice to make the control SUM (very usefull to compare mono- -! njctle end j indice to make the control SUM (-versus multi processor runs) -! nisplt number of processors following i -! njsplt number of processors following j -! nbench Bench parameter (0/1): CAUTION it must be zero except for bench -! for which we dont care about physical meaning of the results -! nbit_cmp bit comparison mode parameter (0/1): enables bit comparison between -! single and multiple processor runs. -&namctl - ln_ctl = .false. - nprint = 0 - nictls = 0 - nictle = 0 - njctls = 0 - njctle = 0 - isplt = 1 - jsplt = 1 - nbench = 0 - nbit_cmp = 0 -/ -!----------------------------------------------------------------------- -! nam_mpp Massively Parallel Processing -!----------------------------------------------------------------------- -! c_mpi_send mpi send/recieve type -! = 'S' : standard blocking send -! = 'B' : buffer blocking send -! = 'I' : immediate non-blocking send -&nam_mpp - c_mpi_send = 'I' -/ -!----------------------------------------------------------------------- -! nam_zgr vertical coordinate -!----------------------------------------------------------------------- -! ln_zco z-coordinate - full steps (T/F) -! ln_zps z-coordinate - partial steps (T/F) -! ln_sco s- or hybrid z-s-coordinate (T/F) -&nam_zgr - ln_zco = .false. - ln_zps = .true. - ln_sco = .false. -/ -!----------------------------------------------------------------------- -! nam_zgr_sco s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- -! sbot_min minimum depth of s-bottom surface (>0) (m) -! sbot_max maximum depth of s-bottom surface (= ocean depth) (>0) (m) -! theta surface control parameter (0<=theta<=20) -! thetb bottom control parameter (0<=thetb<= 1) -! r_max maximum cut-off r-value allowed (05cm2/s ) -! (=2 no damping in the mixed layer defined rho /seconds | =86400. -> /day) -! ln_trdmld_instant flag to diagnose trends of instantantaneous or mean ML T/S -&namtrd - ntrd = 365 - nctls = 0 - ln_trdmld_restart = .false. - ucf = 1. - ln_trdmld_instant = .false. -/ -!----------------------------------------------------------------------- -! namgap level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- -! ngap time-step frequency of model-data gap computation -! nprg time-step frequency of gap print in model output -&namgap - ngap = 15 - nprg = 10 -/ -!----------------------------------------------------------------------- -! namznl zonal mean heat & freshwater fluxes computation -! (#ifdef "key_diaznl") -!----------------------------------------------------------------------- -! nfznl time-step frequency of zonal mean fluxes computation -&namznl - nfznl = 15 -/ -!----------------------------------------------------------------------- -! namspr surface pressure diagnostic -!----------------------------------------------------------------------- -! nmaxp maximum of iterations for the solver -! epsp absolute precision of the solver -! niterp number of iteration done by the solver -&namspr - nmaxp = 1000 - epsp = 1.e-3 - niterp = 400 -/ -!----------------------------------------------------------------------- -! namcpl coupled ocean/atmosphere model (#ifdef "key_coupled") -!----------------------------------------------------------------------- -! nexco coupling frequency in time steps -! cchan coupling technique 'PIPE' or 'CLIM' -&namcpl - nexco = 24 - cchan = 'PIPE' - nmodcpl = 2 - cplmodnam = 'opa.xx' - cploasis = 'Oasis' - nfldo2c = 2 - nflxc2o = 6 - ntauc2o = 4 - cpl_writ(1) = 'SOSSTSST' - cpl_f_writ(1) = 'ocesst' - cpl_writ(2) = 'SOICECOV' - cpl_f_writ(2) = 'oceice' - cpl_readflx(1) = 'SONSFLDO' - cpl_f_readflx(1) = 'oceflx' - cpl_readflx(2) = 'SOSHFLDO' - cpl_f_readflx(2) = 'oceflx' - cpl_readflx(3) = 'SOTOPRSU' - cpl_f_readflx(3) = 'oceflx' - cpl_readflx(4) = 'SOTFSHSU' - cpl_f_readflx(4) = 'oceflx' - cpl_readflx(5) = 'SORUNCOA' - cpl_f_readflx(5) = 'oceflx' - cpl_readflx(6) = 'SORIVFLU' - cpl_f_readflx(6) = 'oceflx' - cpl_readtau(1) = 'SOZOTAUX' - cpl_f_readtau(1) = 'ocetau' - cpl_readtau(2) = 'SOZOTAU2' - cpl_f_readtau(2) = 'ocetau' - cpl_readtau(3) = 'SOMETAUY' - cpl_f_readtau(3) = 'ocetau' - cpl_readtau(4) = 'SOMETAU2' - cpl_f_readtau(4) = 'ocetau' -/ -!----------------------------------------------------------------------- -! namobc open boundaries parameters (#ifdef key_obc) -!----------------------------------------------------------------------- -! nobc_dta = 0 the obc data are equal to the initial state -! = 1 the obc data are read in 'obc .dta' files -! rdpeob time relaxation (days) for the east open boundary -! rdpwob time relaxation (days) for the west open boundary -! rdpnob time relaxation (days) for the north open boundary -! rdpsob time relaxation (days) for the south open boundary -! zbsic1 barotropic stream function on isolated coastline 1 -! zbsic2 barotropic stream function on isolated coastline 2 -! zbsic3 barotropic stream function on isolated coastline 3 -! ln_obc_clim climatological obc data files (default T) -! ln_vol_cst total volume conserved -&namobc - nobc_dta = 0 - rdpein = 1. - rdpwin = 1. - rdpnin = 30. - rdpsin = 1. - rdpeob = 1500. - rdpwob = 15. - rdpnob = 150. - rdpsob = 15. - zbsic1 = 140.e+6 - zbsic2 = 1.e+6 - zbsic3 = 0. - ln_obc_clim = .true. - ln_vol_cst = .false. -/ -!----------------------------------------------------------------------- -! namflo float parameters (#ifdef key_float) -!----------------------------------------------------------------------- -! ln_rstflo boolean term for float restart (true or false) -! nwritefl frequency of float output file -! nstockfl frequency of float restart file -! ln_argo Argo type floats (stay at the surface each 10 days) -! ln_flork4 = T trajectories computed with a 4th order Runge-Kutta -! = F (default) computed with Blanke scheme -&namflo - ln_rstflo = .false. - nwritefl = 75 - nstockfl = 5475 - ln_argo = .false. - ln_flork4 = .false. -/ -!----------------------------------------------------------------------- -! namobs observation operator switch (#ifdef key_diaobs) -!----------------------------------------------------------------------- -! enactname Basename for ENACT input observation file -! ln_ena Logical switch for ENACT insitu data set -! ln_cor Logical switch for Coriolis insitu data set -! ln_t3d Logical switch for T profile observations -! ln_s3d Logical switch for S profile observations -! ln_pto Logical switch for gen profile T obs sfc -! ln_pro Logical switch for gen profile Rho obs sfc -! ln_pts Logical switch for gen profile T spec sfc -! ln_prs Logical switch for gen profile Rho spec sfc -! ln_pzm Logical switch for gen profile Z model lev -! ln_sla Logical switch for SLA observations -! ln_ssh Logical switch for SSH observations -! ln_sst Logical switch for SST observations -! ln_sss Logical switch for SSS observations -! dobsini Initial date in window YYYYMMDD.HHMMSS -! dobsend Final date in window YYYYMMDD.HHMMSS -! n1dint Type of vertical interpolation method -! 0 = Linear intepolation. -! 1 = Cubic spline interpolation. -! n2dint Type of horizontal interpolation method -! 0 = Distance-weighted interpolation -! 1 = Distance-weighted interpolation (small angle) -! 2 = Bilinear interpolation (geographical grid) -! 3 = Bilinear remapping interpolation (general grid) -! 4 = Polynomial interpolation -! ln_nea Logical switch to reject observations near land -! nslasets Number of SLA datasets -! nmsshc MSSH correction scheme -! 0 = no correction -! 1 = compute online -! 2 = set to mdtcorr -! mdtcutoff MDT cutoff for computed correction -! mdtcorr MDT correction factor (used if nmsshc = 2) -&namobs - ln_ena = .FALSE. - ln_cor = .FALSE. - ln_t3d = .FALSE. - ln_s3d = .FALSE. - ln_pto = .FALSE. - ln_pro = .FALSE. - ln_pts = .FALSE. - ln_prs = .FALSE. - ln_pzm = .FALSE. - ln_sla = .FALSE. - ln_ssh = .FALSE. - ln_sst = .FALSE. - ln_sss = .FALSE. - n1dint = 1 - n2dint = 3 - ln_nea = .FALSE. - nslasets = 1 - dobsini = 20010101 - dobsend = 20010101 - enactname = 'EN3_v1a_YYYY.MM.nc' - nmsshc = 1 - mdtcutoff = 65.0 - mdtcorr = 1.61 -/ -!----------------------------------------------------------------------- -! nam_asminc assimilation increment parameters (#ifdef key_asminc) -!----------------------------------------------------------------------- -! ln_bkgwri Logical switch for writing out background state -! ln_trjwri Logical switch for writing out state trajectory -! ln_trainc Logical switch for applying tracer increments -! ln_dyninc Logical switch for applying velocity increments -! ln_sshinc Logical switch for applying sea surface height increments -! ln_asmdin Logical switch for Direct Initialization (DI) -! ln_asmiau Logical switch for Incremental Analysis Updating (IAU) -! nitbkg Time step of the background state in [0,nitend-nit000-1] -! nitdin Time step of the background state for DI in [0,nitend-nit000-1] -! nitiaustr Time step of the start of the IAU interval in [0,nitend-nit000-1] -! nitiaufin Time step of the end of the IAU interval in [0,nitend-nit000-1] -! niaufn Type of IAU weighting function -! 0 = constant -! 1 = linear hat-like, centred in middle of IAU interval -&nam_asminc - ln_bkgwri = .FALSE - ln_trjwri = .FALSE. - ln_trainc = .FALSE. - ln_dyninc = .FALSE. - ln_sshinc = .FALSE. - ln_asmdin = .FALSE. - ln_asmiau = .FALSE. - nitbkg = 0 - nitdin = 0 - nitiaustr = 1 - nitiaufin = 150 - niaufn = 0 -/ -EOF -fi - -if [[ $ORCARESOL = ORCA1 ]]; then -cat >namelist <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! OPA namelist : model option and parameter input -! ------------- -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!----------------------------------------------------------------------- -! namrun parameters of the run -!----------------------------------------------------------------------- -! no job number -! cexper experience name for vairmer format -! ln_rstart boolean term for restart (true or false) -! nrstdt control of the restart timestep: -! = 0 restart, do not control nit000 in the restart file. -! = 1 restart, control nit000 in the restart file. Do not -! use the date in the restart file (use ndate0 in namelist) -! = 2 restart, control nit000 in the restart file, use the date -! in the restart file. ndate0 in the namelist is ignored. -! nit000 number of the first time step -! nitend number of the last time step -! ndate0 initial calendar date aammjj -! nleapy Leap year calendar (0/1) -! ninist initial state output flag (0/1) -! nstock frequency of restart file -! nwrite frequency of OUTPUT file (set to -1 to select EC-EARTH monthly means) -! nrunoff = 0 no, 1 runoff, 2 runoff+river mouth ups adv -! -! CAUTION: for usual run scripts, logical value of -! ******* ln_rstart must be .true. or .false. -! and NOT .TRUE. or .FALSE. -&namrun - no = 0 - cexper = "ORCA1" - ln_rstart = ${OCRESTART} - ln_glorst = ${GLOBAL_RESTART_FILE} - nrstdt = ${RESTART_MODE} - nit000 = $((${OCLENPRV}+1)) - nitend = ${OCLENGTH} - ndate0 = ${STARTDATE} - nleapy = 1 - ninist = 0 - nstock = ${OCLENGTH} - nwrite = -1 - nrunoff = 2 -/ -!----------------------------------------------------------------------- -! nam_ctl Control prints & Benchmark -!----------------------------------------------------------------------- -! ln_ctl trends control print (expensive!) -! nprint level of print (0 no print) -! nictls start i indice to make the control SUM (very usefull to compare mono- -! nictle end i indice to make the control SUM (-versus multi processor runs) -! njctls start j indice to make the control SUM (very usefull to compare mono- -! njctle end j indice to make the control SUM (-versus multi processor runs) -! nisplt number of processors following i -! njsplt number of processors following j -! nbench Bench parameter (0/1): CAUTION it must be zero except for bench -! for which we dont care about physical meaning of the results -! nbit_cmp bit comparison mode parameter (0/1): enables bit comparison between -! single and multiple processor runs. -&namctl - ln_ctl = .false. - nprint = 0 - nictls = 0 - nictle = 0 - njctls = 0 - njctle = 0 - isplt = 1 - jsplt = 1 - nbench = 0 - nbit_cmp = 0 -/ -!----------------------------------------------------------------------- -! nam_mpp Massively Parallel Processing -!----------------------------------------------------------------------- -! c_mpi_send mpi send/recieve type -! = 'S' : standard blocking send -! = 'B' : buffer blocking send -! = 'I' : immediate non-blocking send -&nam_mpp - c_mpi_send = 'I' -/ -!----------------------------------------------------------------------- -! nam_zgr vertical coordinate -!----------------------------------------------------------------------- -! ln_zco z-coordinate - full steps (T/F) -! ln_zps z-coordinate - partial steps (T/F) -! ln_sco s- or hybrid z-s-coordinate (T/F) -&nam_zgr - ln_zco = .false. - ln_zps = .true. - ln_sco = .false. -/ -!----------------------------------------------------------------------- -! nam_zgr_sco s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- -! sbot_min minimum depth of s-bottom surface (>0) (m) -! sbot_max maximum depth of s-bottom surface (= ocean depth) (>0) (m) -! theta surface control parameter (0<=theta<=20) -! thetb bottom control parameter (0<=thetb<= 1) -! r_max maximum cut-off r-value allowed (05cm2/s ) -! (=2 no damping in the mixed layer defined rho /seconds | =86400. -> /day) -! ln_trdmld_instant flag to diagnose trends of instantantaneous or mean ML T/S -&namtrd - ntrd = 365 - nctls = 0 - ln_trdmld_restart = .false. - ucf = 1. - ln_trdmld_instant = .false. -/ -!----------------------------------------------------------------------- -! namgap level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- -! ngap time-step frequency of model-data gap computation -! nprg time-step frequency of gap print in model output -&namgap - ngap = 15 - nprg = 10 -/ -!----------------------------------------------------------------------- -! namznl zonal mean heat & freshwater fluxes computation -! (#ifdef "key_diaznl") -!----------------------------------------------------------------------- -! nfznl time-step frequency of zonal mean fluxes computation -&namznl - nfznl = 24 -/ -!----------------------------------------------------------------------- -! namspr surface pressure diagnostic -!----------------------------------------------------------------------- -! nmaxp maximum of iterations for the solver -! epsp absolute precision of the solver -! niterp number of iteration done by the solver -&namspr - nmaxp = 1000 - epsp = 1.e-3 - niterp = 400 -/ -!----------------------------------------------------------------------- -! namcpl coupled ocean/atmosphere model (#ifdef "key_coupled") -!----------------------------------------------------------------------- -! nexco coupling frequency in time steps -! cchan coupling technique 'PIPE' or 'CLIM' -&namcpl - nexco = 24 - cchan = 'PIPE' - nmodcpl = 2 - cplmodnam = 'opa.xx' - cploasis = 'Oasis' - nfldo2c = 2 - nflxc2o = 6 - ntauc2o = 4 - cpl_writ(1) = 'SOSSTSST' - cpl_f_writ(1) = 'ocesst' - cpl_writ(2) = 'SOICECOV' - cpl_f_writ(2) = 'oceice' - cpl_readflx(1) = 'SONSFLDO' - cpl_f_readflx(1) = 'oceflx' - cpl_readflx(2) = 'SOSHFLDO' - cpl_f_readflx(2) = 'oceflx' - cpl_readflx(3) = 'SOTOPRSU' - cpl_f_readflx(3) = 'oceflx' - cpl_readflx(4) = 'SOTFSHSU' - cpl_f_readflx(4) = 'oceflx' - cpl_readflx(5) = 'SORUNCOA' - cpl_f_readflx(5) = 'oceflx' - cpl_readflx(6) = 'SORIVFLU' - cpl_f_readflx(6) = 'oceflx' - cpl_readtau(1) = 'SOZOTAUX' - cpl_f_readtau(1) = 'ocetau' - cpl_readtau(2) = 'SOZOTAU2' - cpl_f_readtau(2) = 'ocetau' - cpl_readtau(3) = 'SOMETAUY' - cpl_f_readtau(3) = 'ocetau' - cpl_readtau(4) = 'SOMETAU2' - cpl_f_readtau(4) = 'ocetau' -/ -!----------------------------------------------------------------------- -! namobc open boundaries parameters (#ifdef key_obc) -!----------------------------------------------------------------------- -! nobc_dta = 0 the obc data are equal to the initial state -! = 1 the obc data are read in 'obc .dta' files -! rdpeob time relaxation (days) for the east open boundary -! rdpwob time relaxation (days) for the west open boundary -! rdpnob time relaxation (days) for the north open boundary -! rdpsob time relaxation (days) for the south open boundary -! zbsic1 barotropic stream function on isolated coastline 1 -! zbsic2 barotropic stream function on isolated coastline 2 -! zbsic3 barotropic stream function on isolated coastline 3 -! ln_obc_clim climatological obc data files (default T) -! ln_vol_cst total volume conserved -&namobc - nobc_dta = 0 - rdpein = 1. - rdpwin = 1. - rdpnin = 30. - rdpsin = 1. - rdpeob = 1500. - rdpwob = 15. - rdpnob = 150. - rdpsob = 15. - zbsic1 = 140.e+6 - zbsic2 = 1.e+6 - zbsic3 = 0. - ln_obc_clim = .true. - ln_vol_cst = .false. -/ -!----------------------------------------------------------------------- -! namflo float parameters (#ifdef key_float) -!----------------------------------------------------------------------- -! ln_rstflo boolean term for float restart (true or false) -! nwritefl frequency of float output file -! nstockfl frequency of float restart file -! ln_argo Argo type floats (stay at the surface each 10 days) -! ln_flork4 = T trajectories computed with a 4th order Runge-Kutta -! = F (default) computed with Blanke scheme -&namflo - ln_rstflo = .false. - nwritefl = 120 - nstockfl = 8760 - ln_argo = .false. - ln_flork4 = .false. -/ -!----------------------------------------------------------------------- -! namobs observation operator switch (#ifdef key_diaobs) -!----------------------------------------------------------------------- -! enactname Basename for ENACT input observation file -! ln_ena Logical switch for ENACT insitu data set -! ln_cor Logical switch for Coriolis insitu data set -! ln_t3d Logical switch for T profile observations -! ln_s3d Logical switch for S profile observations -! ln_pto Logical switch for gen profile T obs sfc -! ln_pro Logical switch for gen profile Rho obs sfc -! ln_pts Logical switch for gen profile T spec sfc -! ln_prs Logical switch for gen profile Rho spec sfc -! ln_pzm Logical switch for gen profile Z model lev -! ln_sla Logical switch for SLA observations -! ln_ssh Logical switch for SSH observations -! ln_sst Logical switch for SST observations -! ln_sss Logical switch for SSS observations -! dobsini Initial date in window YYYYMMDD.HHMMSS -! dobsend Final date in window YYYYMMDD.HHMMSS -! n1dint Type of vertical interpolation method -! 0 = Linear intepolation. -! 1 = Cubic spline interpolation. -! n2dint Type of horizontal interpolation method -! 0 = Distance-weighted interpolation -! 1 = Distance-weighted interpolation (small angle) -! 2 = Bilinear interpolation (geographical grid) -! 3 = Bilinear remapping interpolation (general grid) -! 4 = Polynomial interpolation -! ln_nea Logical switch to reject observations near land -! nslasets Number of SLA datasets -! nmsshc MSSH correction scheme -! 0 = no correction -! 1 = compute online -! 2 = set to mdtcorr -! mdtcutoff MDT cutoff for computed correction -! mdtcorr MDT correction factor (used if nmsshc = 2) -&namobs - ln_ena = .FALSE. - ln_cor = .FALSE. - ln_t3d = .FALSE. - ln_s3d = .FALSE. - ln_pto = .FALSE. - ln_pro = .FALSE. - ln_pts = .FALSE. - ln_prs = .FALSE. - ln_pzm = .FALSE. - ln_sla = .FALSE. - ln_ssh = .FALSE. - ln_sst = .FALSE. - ln_sss = .FALSE. - n1dint = 1 - n2dint = 3 - ln_nea = .FALSE. - nslasets = 1 - dobsini = 20010101 - dobsend = 20010101 - enactname = 'EN3_v1a_YYYY.MM.nc' - nmsshc = 1 - mdtcutoff = 65.0 - mdtcorr = 1.61 -/ -!----------------------------------------------------------------------- -! nam_asminc assimilation increment parameters (#ifdef key_asminc) -!----------------------------------------------------------------------- -! ln_bkgwri Logical switch for writing out background state -! ln_trjwri Logical switch for writing out state trajectory -! ln_trainc Logical switch for applying tracer increments -! ln_dyninc Logical switch for applying velocity increments -! ln_sshinc Logical switch for applying sea surface height increments -! ln_asmdin Logical switch for Direct Initialization (DI) -! ln_asmiau Logical switch for Incremental Analysis Updating (IAU) -! nitbkg Time step of the background state in [0,nitend-nit000-1] -! nitdin Time step of the background state for DI in [0,nitend-nit000-1] -! nitiaustr Time step of the start of the IAU interval in [0,nitend-nit000-1] -! nitiaufin Time step of the end of the IAU interval in [0,nitend-nit000-1] -! niaufn Type of IAU weighting function -! 0 = constant -! 1 = linear hat-like, centred in middle of IAU interval -&nam_asminc - ln_bkgwri = .FALSE - ln_trjwri = .FALSE. - ln_trainc = .FALSE. - ln_dyninc = .FALSE. - ln_sshinc = .FALSE. - ln_asmdin = .FALSE. - ln_asmiau = .FALSE. - nitbkg = 0 - nitdin = 0 - nitiaustr = 1 - nitiaufin = 150 - niaufn = 0 -/ -EOF -fi - -cat >namelist_ice <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -! ICE namelist : ice model option and parameter input -! ------------- -! -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicerun Share parameters for dynamics/advection/thermo -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! ln_limdyn : switch for ice dynamics (true) or not (false) -! acrit(1/2) : minimum fraction for leads in the Northern (Southern) Hemisphere -! hnsdif : computation of temperature in snow (=0.0) or not (=9999.0) -! hicdif : computation of temperature in ice (=0.0) or not (=9999.0) -! -&namicerun - ln_limdyn = .true. - acrit = 1.0e-06 , 1.0e-06 - hsndif = 0.0 - hicdif = 0.0 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namiceini parameters for ice initialisation -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! ln_limini : Ice initialization state flag -! ln_limdmp : restoring Ice thickness and Fraction leads flag -! ttest : threshold water temperature for initial sea ice -! hninn : initial snow thickness in the north -! hginn : initial ice thickness in the north -! alinn : initial leads area in the north -! hnins : initial snow thickness in the south -! hgins : initial ice thickness in the south -! alins : initial leads area in the south -! -&namiceini - ln_limini = .FALSE. - ln_limdmp = .FALSE. - ttest = 2.0 - hninn = 0.5 - hginn = 3.0 - alinn = 0.05 - hnins = 0.1 - hgins = 1.0 - alins = 0.1 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicedia parameters for ice diagnostics -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! fmtinf : format of the output values -! nfrinf : number of variables written in one line -! ntmoy : instantaneous values of ice evolution or averaging -! ninfo : frequency of ouputs on file ice_evolu in case of averaging -! -&namicedia - fmtinf = '1PE13.5 ' - nfrinf = 4 - ntmoy = 1 - ninfo = 1 -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicedyn parameters for ice dynamic -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! epsd : tolerance parameter -! alpha : coefficient for semi-implicit coriolis -! bound : boundary conditions (=0.0 no-slip, =1.0 free-slip) -! dm : diffusion constant for dynamics. -! nbiter : number of sub-time steps for relaxation -! nbitdr : maximum number of iterations for relaxation -! om : relaxation constant -! resl : maximum value for the residual of relaxation -! cw : drag coefficient for oceanic stress -! angvg : turning angle for oceanic stress -! pstar : first bulk-rheology parameter -! c_rhg : second bulk-rhelogy parameter -! etamn : minimun value for viscosity -! creepl : creep limit -! ecc : eccentricity of the elliptical yield curve -! ahi0 : horizontal eddy diffusivity coefficient for sea-ice (m2/s) -! -&namicedyn - epsd = 1.0e-20 - alpha = 0.5 - dm = 0.6e+03 - nbiter = 1 - nbitdr = 100 - om = 0.5 - resl = 5.0e-05 - cw = 5.0e-03 - angvg = 0.0 - pstar = 1.0e+04 - c_rhg = 20.0 - etamn = 0.0e+07 - creepl = 2.0e-08 - ecc = 2.0 - ahi0 = 350.e0 -/ -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicetrp parameters for ice advection -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! bound : boundary conditions (=0.0 no-slip, =1.0 free-slip) -&namicetrp - bound = 0. -/ - -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namicethd parameters for thermodynamic computation -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! hmelt : maximum melting at the bottom -! hiccrit(1/2): ice thickness for lateral accretion in the Northern (Southern) Hemisphere -! caution 1.0, 1.0 best value to be used!!! (gilles G.) -! hicmin : ice thickness corr. to max. energy stored in brine pocket -! hiclim : minimum ice thickness -! amax : maximum lead fraction -! swiqst : energy stored in brine pocket (=1) or not (=0) -! sbeta : numerical caracteritic of the scheme for diffusion in ice -! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) -! parlat : percentage of energy used for lateral ablation -! hakspl : slope of distr. for Hakkinen-Mellor's lateral melting -! hibspl : slope of distribution for Hibler's lateral melting -! exld : exponent for leads-closure rate -! hakdif : coefficient for diffusions of ice and snow -! thth : threshold thickness for comp. of eq. thermal conductivity -! hnzst : thickness of the surf. layer in temp. computation -! parsub : switch for snow sublimation or not -! alphs : coefficient for snow density when snow ice formation -! -&namicethd - hmelt = -0.15 - hiccrit = 0.3 , 0.3 - hicmin = 0.2 - hiclim = 0.05 - amax = 0.999 - swiqst = 1. - sbeta = 1. - parlat = 0.0 - hakspl = 0.5 - hibspl = 0.5 - exld = 2.0 - hakdif = 1.0 - thth = 0.2 - hnzst = 0.1 - parsub = 0.0 - alphs = 1.0 -/ -! -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -! namiceout parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! -! noumef : number of fields -! field -! title : title of the field -! name : name of the field -! unit : unit of the field -! nc : switch for saving field ( = 1 ) or not ( = 0 ) -! cmulti : multiplicative constant -! cadd : additive constant -! -&namiceout - noumef = 19 - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1, 1.0, 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1, 1.0, 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1, 1.0, 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1, -1.0, 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1, 1.0, -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1, 1.0, 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1, 1.0, 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1, 1.0, 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1, 1.0, -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1, 1.0, 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1, 1.0, 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1, 1.0, 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1, 1.0, 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1, 1.0, 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1, 1.0, 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1, 1.0, 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1, 1.0, 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1, 1.0, 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/s ', 1, 1.0, 0.0 -/ -EOF - -ln -sf $NEMODATA/* . -#ln -sf ${NEMOEXPVER}_19951101_EMPave_old.dat EMPave_old.dat - -set -x - -if [[ ${OCLENPRV} == 0 ]]; then - case ${ORCARESOL} in - ORCA2) - ln -sf ${NEMOEXPVER}_19951101_restart.nc restart.nc - ln -sf ORCA2_00000075_restart_ice.nc restart_ice_in.nc - ;; - ORCA1) - #ln -sf ORCA1_00271560_restart.nc restart.nc - #ln -sf ORCA1_00271560_restart_ice.nc restart_ice_in.nc - #for f in ORCA1_INIT_restart*.nc; do - # target=`echo $f | sed -e "s/ORCA1_INIT_//" -e "s/restart_ice/restart_ice_in/"` - # mv $f ${target} - #done - ln -sf ORCA1_INIT_restart.nc restart.nc - ln -sf ORCA1_INIT_restart_ice.nc restart_ice_in.nc - ;; - esac -else - rm -f restart.nc restart_ice_in.nc - restart_dir=${ORCARESOL}_Restart - mkdir -p ${restart_dir} - timestep=`printf "%08d" ${OCLENPRV}` - for f in ${ORCARESOL}_${timestep}_restart*.nc; do - target=`echo $f | sed -e "s/${ORCARESOL}_${timestep}_//" -e "s/restart_ice/restart_ice_in/"` - mv $f ${restart_dir} - ln -sf ${restart_dir}/$f ${target} - done -fi - diff --git a/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/build/CPP_keys.ORCA1_OASIS3 b/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/build/CPP_keys.ORCA1_OASIS3 deleted file mode 100755 index da5e678daa468c7aaaa8182ea68c3ad5dcb32c48..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/build/CPP_keys.ORCA1_OASIS3 +++ /dev/null @@ -1,29 +0,0 @@ -CPPKEYS_OPA = \ --Dkey_orca_r1 \ --Dkey_diaeiv \ --Dkey_dtatem \ --Dkey_dtasal \ --Dkey_dynldf_c3d \ --Dkey_dynspg_flt \ --Dkey_ice_lim \ --Dkey_ldfslp \ --Dkey_lim_fdd \ --Dkey_trabbc \ --Dkey_trabbl_adv \ --Dkey_trabbl_dif \ --Dkey_tradmp \ --Dkey_traldf_c2d \ --Dkey_traldf_eiv \ --Dkey_zdftke \ --Dkey_zdfddm \ --Dkey_flx_core \ --Dkey_abort - -#-Dkey_zdfric \ -#-Dkey_vectopt_loop \ -#-Dkey_vectopt_memory \ - -#-Dkey_diaobs -#-Dkey_partial_steps -#-Dkey_tau_daily -#-Dkey_flx_forced_daily diff --git a/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/build/config/ithaca.config b/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/build/config/ithaca.config deleted file mode 100644 index b6eabb3eb300b04ed964f4555171349cfcbb015c..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/build/config/ithaca.config +++ /dev/null @@ -1,20 +0,0 @@ -NETCDF_INCLUDE = ${NETCDFDIR}/include -NETCDF_LIB = -L${NETCDFDIR}/lib ${NETCDFLIBS} - -#CHAN = MPI1 -#PSMILELIBS = -L$(PSMILE)/lib -lanaisg -lanaism -lclim.$(CHAN) -lpsmile.$(CHAN) -lfscint -lmpp_io -lscrip -#COUPLIBS = $(PSMILELIBS) -#COUPFCFLAGS = -DOASIS3 -I$(PSMILE)/build/lib/psmile.$(CHAN) -I$(PSMILE)/build/lib/clim.$(CHAN) -I$(PSMILE)/build/lib/mpp_io - -CPP = cpp -CPPFLAGS = -traditional -P -I${MPIDIR}/include -DNOIARGCPROTO -AR = ar -ARFLAGS = -r -FC = ifort -L${MPIDIR}/lib ${MPILIBS} -FCFLAGS = -c -O3 -g -fp-model precise -xSSSE3 -traceback -r8 -i4 -I$(NETCDF_INCLUDE) $(COUPFCFLAGS) -FCFLAGSF90 = -c -O3 -g -fp-model precise -xSSSE3 -traceback -r8 -i4 -I$(NETCDF_INCLUDE) $(COUPFCFLAGS) -LDFLAGS = -g -o -LDNOMPI = $(FC) - -CPPKEYS_ARCH = -DNC_DOUBLE -Dkey_mpp -Dkey_mpp_mpi -Dkey_mpi_isend - diff --git a/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/modipsl/modeles/IOIPSL/tools/rebuild b/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/modipsl/modeles/IOIPSL/tools/rebuild deleted file mode 100755 index 3a135ba130ec9b354cadbb27d4f258e53d807d5f..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/modipsl/modeles/IOIPSL/tools/rebuild +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/ksh -#$Header: /home/ioipsl/CVSROOT/IOIPSL/tools/rebuild,v 1.2 2006/06/20 09:18:33 adm Exp $ -#--------------------------------------------------------------------- -# @(#)Rebuild IOIPSL domains -#--------------------------------------------------------------------- -#- -#set -xv -#- -# Extract the calling sequence for the script (d_n/b_n) -#- -d_n=$(dirname $0); b_n=$(basename $0); -#- -# Retrieving and validation of the options -#- -r_v='silencious'; r_f='noforce'; r_o=""; -while getopts :hvfo: V - do - case $V in - (h) echo ''; - echo '"'${b_n}'"'; - echo ' rebuild a model_file from several input files.'; - echo 'Each input file contains the model_data for a domain.'; - echo 'Usage :'; - echo ${b_n} '[-h]'; - echo ${b_n} '[-v] [-f] -o output_file_name input_file_names'; - echo ' -h : this help'; - echo ' -v : verbose mode'; - echo ' -f : executing mode'; - echo ' (execute the program even if the number of input files'; - echo ' is not equal to the total number of domains)'; - echo ''; - exit 0;; - (v) r_v='verbose';; - (f) r_f='force';; - (o) r_o=${OPTARG};; - (:) echo ${b_n}" : option $OPTARG : missing value" 1>&2; - exit 2;; - (\?) echo ${b_n}" : option $OPTARG : not supported" 1>&2; - exit 2;; - esac - done -shift $(($OPTIND-1)); -#- -# Validate the number of arguments -#- -if [ ${#} -lt 1 ]; then - echo ${b_n}' : Too few arguments have been specified. (Use -h)' 1>&2; - exit 3; -fi -#- -# Check for the output file name -#- -if [ '\?'${r_o} = '\?' ]; then - echo ' ' 1>&2; - echo ${b_n}' : output_file_name not specified. (Use -h)' 1>&2; - echo ' "rebuilt_file.nc" should be created.' 1>&2; - echo ' ' 1>&2; - r_o='rebuilt_file.nc' -fi; -#- -# Validate the names of the input files -#- -qi=0; -for i in $*; - do ((qi=qi+1)); - [ ${qi} -le ${#} ] && [ ! -f ${i} ] && \ - { echo "${i} unreachable ..."; exit 3;} - done -#- -# Create the information file for the program -#- -echo ${r_v} > tmp.$$; -echo ${r_f} >> tmp.$$; -((qi=$#+1)); -echo ${qi} >> tmp.$$; -for i in $*; - do echo ${i} >> tmp.$$; - done -echo ${r_o} >> tmp.$$; -#- -# Create the output file -#- -${d_n}/../../../../nemo_build/flio_rbld < tmp.$$ -#- -# Clear -#- -rm -f tmp.$$ -#- -# End -#- -exit 0; diff --git a/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/modipsl/modeles/NEMO/OPA_SRC/SBC/flx_core.h90 b/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/modipsl/modeles/NEMO/OPA_SRC/SBC/flx_core.h90 deleted file mode 100755 index 274991f52b0dc145d0c9b624d68490e8a5ae56d8..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/ecearth-v2.2/nemo/modipsl/modeles/NEMO/OPA_SRC/SBC/flx_core.h90 +++ /dev/null @@ -1,1349 +0,0 @@ - - !!---------------------------------------------------------------------- - !! *** flx_core.h90 *** - !!---------------------------------------------------------------------- - !! flx : update surface thermohaline fluxes from the NCAR data set - !! read in a NetCDF file - !! - !!---------------------------------------------------------------------- - !! * Modules used C A U T I O N already defined in flxmod.F90 - !! * Module variables - !!---------------------------------------------------------------------- - !! - !! 0PA9 : 12/2006 : Laurent Brodeau : bulk routine handles both 2m and 10m input - !! values for air temperature and humidity - !! through the logical flag 'ln_2m' - !! 2 bulk routines->'TURB_CORE_1Z' and 'TURB_CORE_2Z' - !! instead of former 'TURB_CORE' (='TURB_CORE_1Z') - !! - !! 0PA9 : 07/2006 : Pierre Mathiot, J.M. Molines : Katabatic winds enhancement - !! read logical flag in namelist namcore - !! read 2D scale factor for taux, tauy (at T points) - !! - !! - INTEGER , PARAMETER :: & - & jpfile = 8 ! maximum number of files to read - - INTEGER , DIMENSION(jpfile) :: & - & numflxall, & ! logical units for surface fluxes data - & nrecflx, nrecflx2 ! first and second record to be read in flux file - INTEGER :: numkata ! logical units for katabatic masks - - INTEGER :: isnap - - REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & - & gsss, & !: SSS mean on nfbulk ocean time step - & gu , & !: Un(jk=1) mean on nfbulk ocean time step - & gv !: Vn(jk=1) mean on nfbulk ocean time step - - REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & ! these variables are used for output in diawri - & qlw_oce , & !: long wave flx over ocean - & qla_oce , & !: latent heat flx over ocean - & qsb_oce , & !: sensible heat flx over ocean - & qlw_ice , & !: long wave flx over ice - & qsb_ice !: sensible heat flx over ice - - REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & ! used for modif wind stress in the first sea points - rmskkatax, rmskkatay !: mask ocean to increase wind stress in first sea points - - - REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpfile,2) :: & - & flxdta !: set of NCAR 6hourly/daily/monthly fluxes - - CHARACTER(LEN=32), PUBLIC, DIMENSION (jpfile) :: clvarname - CHARACTER(LEN=256), PUBLIC, DIMENSION (jpfile) :: clname - CHARACTER (LEN=32) :: clvarkatax , clvarkatay ! variable name for katabatic masks - CHARACTER (LEN=256) :: clnamekata ! filename for katabatic masks - - ! frequency for each forcing file is given in hours (if positive). - ! a negative value -12 corresponds to monthly. - REAL(wp), PUBLIC, DIMENSION(jpfile) :: freqh ! Frequency for each forcing file. - - INTEGER, PUBLIC :: & - & ndtpd !: number of time steps per day - !! - !! Variables in namelist (namcore) - LOGICAL :: & - & ln_2m = .FALSE., & !: logical flag for height of air temp. and hum. - & ln_kata = .FALSE. !: logical flag for Katabatic winds enhancement. - !! - REAL(wp) :: & - & alpha_precip=1. !: multiplication factor for precipitation - - - !!---------------------------------------------------------------------- - !! OPA 9.0 , KIEL (Ulf Schweckendiek, aug 2004) - !! recent version of dec 2004 - !! - !! April 2005, Laurent Brodeau and A.M. Treguier: - !! - new bulk routine for efficiency - !! - WINDS ARE NOW ASSUMED TO BE AT T POINTS in input files !!!! - !! - file names and file characteristics in namelist - !! - Implement reading of 6-hourly fields - !! - !! December 2005, Laurent Brodeau : - !! - inter-annual forcing - !! --> nyear is used to call the netcdf files for the current year - !! at the first time step of a new year - !! --> used monthly files (precip) should have 14 records - !! * 13rd rec = december of former year - !! * 14rd rec = january of next year - !!---------------------------------------------------------------------- - !! - !! - CONTAINS - !! - SUBROUTINE flx( kt ) - !! - !!--------------------------------------------------------------------- - !! *** ROUTINE flx *** - !! - !! ** Purpose : provide the thermohaline fluxes (heat and freshwater) - !! and momentum fluxes (tau) - !! to the ocean at each time step. - !! - !! ** Method : Read NCAR data in a NetCDF file - !! (file names and frequency of inputs specified in namelist) - !! precipitation: total (rain+snow) - !! precipitation: snow only - !! u10,v10 -> scalar wind at 10m in m/s - ON 'T' GRID POINTS!!! - !! solar radiation (short wave) in W/m2 - !! thermal radiation (long wave) in W/m2 - !! specific humidity in % - !! temperature at 10m in degrees K - !! - !! ** Action : - !! call flx_blk_albedo to compute ocean and ice albedo - !! Calculates forcing fluxes to input into ice model - ! or to be used directly for the ocean in ocesbc. - !! - !! ** Outputs - !! COMMENTS TO BE ADDED -units to be verified! - !! - !! taux: zonal wind stress on "u" points (N/m2) - !! tauy: meridional wind stress on "v" points (N/m2) - !! qsr_oce: Solar flux over the ocean (W/m2) - !! qnsr_oce: longwave flux over the ocean (W/m2) - !! qsr_ice: solar flux over the ice (W/m2) - !! qnsr_ice: longwave flux over the ice (W/m2) - !! qla_ice: - !! dqns_ice: total heat fluxes sensitivity over ice (dQ/dT) - !! dqla_ice: latent heat flux sensitivity over ice (dQla/dT) - !! fr1_i0 - !! fr2_i0 - !! tprecip - !! sprecip - !! evap - !! - !! caution : now, in the opa global model, the net upward water flux is - !! ------- with mm/day unit. - !! - !! * modules used - !USE ioipsl - USE iom - USE par_oce - USE flx_oce - USE blk_oce ! bulk variable - USE taumod - USE bulk - USE phycst - USE lbclnk - ! FOR Ce = F(SST(levitus)): - USE dtatem - - !! * arguments - INTEGER, INTENT( in ) :: kt ! ocean time step - - !! * Local declarations - LOGICAL, PARAMETER :: & - & levol = .FALSE. ! some screen output to check if bulk are called - ! at proper time steps - INTEGER , PARAMETER :: & - & jpmaxtime = 366*4 ! max time steps in file for a 6 hourly field - ! and a leap year (necessary variable for flinopen??) - INTEGER :: & - & irectot, irecflx, & - & ihour, & ! current hour of the day at which we read the forcings - & ntstyear - - INTEGER :: & - & imois, imois13, itime, & ! temporary integers - & i15 , iman , & ! " " - & ipi , ipj , ipk, & ! " " - & ifpr , jfpr , & ! frequency of index for print in prihre - & jj , ji ! Loop indices - - INTEGER, DIMENSION(jpmaxtime) :: & - & istep ! Array passed to flinopen - - REAL(wp) :: & - & zadatrjb, & ! date (noninteger day) at which we read the forcings - & zsecond, zdate0, & ! temporary scalars - & zxy ! scalar for temporal interpolation - - REAL(wp), DIMENSION(jpk) :: & - & zlev ! depths for ioipsl - - REAL(wp), DIMENSION(jpi,jpj,jpfile) :: & - & flxnow ! flux values at current time step - - REAL(wp), DIMENSION(jpi,jpj) :: & - & sstk, t04 - - REAL(wp), DIMENSION(jpi,jpj) :: & - & qtune , & !: artifical field for tuning q - & dqlw_ice , & !: long wave heat flx sensitivity over ice - & dqsb_ice , & !: sensible heat flx sensitivity over ice - & alb_ice , & !: albedo of ice - & alb_oce_os, & !: albedo of the ocean under overcast sky - & alb_ice_os, & !: albedo of the ice under overcast sky - & alb_ice_cs, & !: albedo of ice under clear sky - & alb_oce_cs, & !: albedo of the ocean under clear sky - & zsstlev, & !: SST from Levitus in K - & zsst, & !: nfbulk : mean SST - & zsss, & !: nfbulk : mean tn_ice(:,:,1) - & zut, & !: nfbulk : mean U at T-point - & zvt, & !: nfbulk : mean V at T-point - & dUnormt, & !: scalar wind (norm) on T points - & tauxt, tauyt, & !: wind stress computed at T-point - & qsatw, & !: specific humidity at zSST - & qsat, & !: specific humidity at zsss - & Ch, & !: coefficient for sensible heat flux - & Ce, & !: coefficient for latent heat flux - & Cd, & !: coefficient for wind stress - & zt_zu, & !: air temperature at wind speed height - & zq_zu, & !: air spec. hum. at wind speed height - & rhoa, & - & Lv !: latent heat of vaporization - - REAL , PARAMETER :: & - & Patm = 101000., & - & Rgas = 287.04, & ! -! & rhoa = 1.22, & ! air density - & cp = 1000.5, & ! specific heat of air -! & Lv = 2.5e6, & ! latent heat of vaporization - & Ls = 2.839e6, & ! latent heat of sublimation - & Stef = 5.67e-8, & ! Stefan Boltzmann constant - & Cice = 1.63e-3 ! transfert coefficient over ice - - REAL(wp), DIMENSION(jpi,jpj) :: & - & zlon, zlat ,catm1 - - NAMELIST/namcore/ ln_2m, ln_kata, alpha_precip - - ! Number of time steps per day - ndtpd = 3600*24/rdt !lb - - !!--------------------------------------------------------------------- - !! PART A: READING FLUX FILES WHEN NECESSARY - !! - ! - ! calculation for monthly data - ! i15 = 0 if first half of current month - ! i15 = 1 if second half of current month - i15 = INT( 2 * FLOAT( nday ) / ( FLOAT( nobis(nmonth) ) + 0.5 ) ) - iman = 12 - imois = nmonth + i15 - 1 - imois13 = imois - IF( imois == 0 ) THEN - imois = iman - imois13 = 13 ! rec=13 -> december of former year !lb - END IF - - ! - ! Calculation for 6-hourly data - ! we need the fraction of day, measured in hours, for the date of forcings. - ! This is the time step before the date we are calculating, zadatrj - ! "adatrj" (real time in days (noninteger)) - zadatrjb = adatrj - rdt/rday - ihour = int( (zadatrjb -int(zadatrjb)) * 24 ) - - ! A.1 first call kt=nit000 - ! --------------------------- - ! - ! Which file for CORE - ! ******************* - ! - ! in 'daymod' : - ! - ! nyear !: current year - ! nmonth !: current month - ! nday !: current day of the month - ! nday_year !: curent day counted from jan 1st of the current year - ! ndastp !: time step date in year/month/day aammjj - ! - ! - !! - !! read namelist block namcore - IF ( kt == nit000 ) THEN - REWIND ( numnam ) - READ(numnam, namcore) - IF ( lwp) THEN - WRITE(numout,*) 'flx_core:' - WRITE(numout,*) '~~~~~~~~~' - WRITE(numout,*) ' Read in namelist namcore:' - WRITE(numout,*) ' ln_2m = ', ln_2m - WRITE(numout,*) ' ln_kata = ', ln_kata - WRITE(numout,*) ' alpha_precip = ', alpha_precip - ENDIF - ENDIF - - !! First time step of the new starting year : - IF ( (MOD(kt - 1 , ndtpd*int(raajj)) == 0) .OR. (kt == nit000) ) THEN !lb - !! - IF(lwp) THEN - PRINT *, '***********************************' - PRINT *, ' FLX_CORE : ' - PRINT *, 'kt =', kt - PRINT *, 'ndtpd =', ndtpd - PRINT *, 'Year =', nyear - PRINT *, 'nmonth =', nmonth - PRINT *, 'nday =', nday - PRINT *, 'nday_year =', nday_year - PRINT *, 'ndastp =', ndastp - PRINT *, '***********************************' - END IF - !! - !! Giving file names for current year 'ntrue_year' - WRITE(clname(1), '("precip_core_",i4,"_14.nc")' ) nyear - clname(1)='precip14_forcing.nc' - freqh(1) =-12. ; clvarname(1) = 'precip' ! month 14 records!!! - IF (lwp) PRINT *, 'Current file for precip = ', clname(1) - !! - WRITE(clname(2), '("u10_core_",i4,".nc")' ) nyear - clname(2)='u10_forcing.nc' - freqh(2) = 6. ; clvarname(2) = 'u10' ! 6 h - IF (lwp) PRINT *, 'Current file for u10 = ', clname(2) - !! - WRITE(clname(3), '("v10_core_",i4,".nc")' ) nyear - clname(3)='v10_forcing.nc' - freqh(3) = 6. ; clvarname(3) = 'v10' ! 6 h - IF (lwp) PRINT *, 'Current file for v10 = ', clname(3) - !! -! IF ( ln_2m ) THEN - WRITE(clname(4), '("q2_core_",i4,".nc")' ) nyear - clname(4)='q2_forcing.nc' - freqh(4) = 6. ; clvarname(4) = 'q2' ! 6 h - IF (lwp) PRINT *, 'Current file for q2 = ', clname(4) -! ELSE -! WRITE(clname(4), '(a, "/q10-6H-C/q10_ERA40-ORCA1_",i4,"_C.nc")' ) trim(cfil_turb_root), nyear -! freqh(4) = 6. ; clvarname(4) = 'q10' ! 6 h -! IF (lwp) PRINT *, 'Current file for q10 = ', clname(4) -! END IF - !! - WRITE(clname(5), '("qsw_core_",i4,".nc")' ) nyear - clname(5)='qsw_forcing.nc' - freqh(5) = 24. ; clvarname(5) = 'qsw' ! day - IF (lwp) PRINT *, 'Current file for radsw = ', clname(5) - !! - WRITE(clname(6), '("qlw_core_",i4,".nc")' ) nyear - clname(6)='qlw_forcing.nc' - freqh(6) = 24. ; clvarname(6) = 'qlw' ! day - IF (lwp) PRINT *, 'Current file for radlw = ', clname(6) - !! -! IF ( ln_2m ) THEN - WRITE(clname(7), '("t2_core_",i4,".nc")' ) nyear - clname(7)='t2_forcing.nc' - freqh(7) = 6. ; clvarname(7) = 't2' ! 6 h - IF (lwp) PRINT *, 'Current file for t2 = ', clname(7) -! ELSE -! WRITE(clname(7), '(a, "/t10-6H/t10_ERA40-ORCA1_",i4,".nc")' ) trim(cfil_turb_root), nyear -! freqh(7) = 6. ; clvarname(7) = 't10' ! 6 h -! IF (lwp) PRINT *, 'Current file for t10 = ', clname(7) -! END IF - !! - !! - WRITE(clname(8), '("snow_core_",i4,"_14.nc")' ) nyear - clname(8)='snow14_forcing.nc' - freqh(8) =-12. ; clvarname(8) = 'snow' ! month 14 records!!! - IF (lwp) PRINT *, 'Current file for snow = ', clname(8) - !! - IF (lwp) PRINT *, '' - !! - !! - qsr_oce (:,:) = 0.e0 - qsb_oce (:,:) = 0.e0 - qla_oce (:,:) = 0.e0 - qlw_oce (:,:) = 0.e0 - qnsr_oce(:,:) = 0.e0 - qsr_ice (:,:) = 0.e0 - qnsr_ice(:,:) = 0.e0 - qla_ice (:,:) = 0.e0 - qlw_ice (:,:) = 0.e0 - qsb_ice (:,:) = 0.e0 - !! - dqns_ice(:,:) = 0.e0 - dqla_ice(:,:) = 0.e0 - tprecip (:,:) = 0.e0 - sprecip (:,:) = 0.e0 - evap (:,:) = 0.e0 - flxnow(:,:,:) = 0.0 - !! - ! Non-zero value for flxdta initilization to avoid division by zero (T_vpot = 0 in some points) in MPI case. - flxdta(:,:,:,:) = 999999.0 - - nrecflx (:) = 0 !! switch for reading flux data for each file - nrecflx2(:) = 0 !! switch for reading flux data for each file - !! - IF(lwp) THEN - WRITE(numout,*) ' ' - WRITE(numout,*) ' routine flx_core.h90' - WRITE(numout,*) ' global CORE fields in NetCDF format' - WRITE(numout,*) ' ---------------------------------------------' - WRITE(numout,*) ' list of files and frequency (hour), or monthly (-12) ' - DO ji = 1, jpfile - WRITE(numout,*) trim(clname(ji)),' frequency:',freqh(ji) - END DO - ENDIF - - ! Open the files of the list - !! - ipi = jpiglo ; ipj = jpjglo ; ipk = jpk - !! - DO ji=1, jpfile - CALL iom_open( clname(ji), numflxall(ji) ) - !CALL flinopen(trim(clname(ji)),mig(1),nlci,mjg(1),nlcj,.FALSE.,ipi,ipj & - ! & ,ipk,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numflxall(ji)) - END DO - !! - !! - ENDIF ! if first time step of current year - !! - !! - !! - ! A. 2. now every time step read data if necessary - ! checks each file in turn - ! ---------------------------------------------- - DO ji = 1,jpfile - !! - ! Case of 6-hourly flux data - !--------------------------------------- - IF ( (freqh(ji) > 0).AND.(freqh(ji) < 24) ) THEN - - ! calculate current snapshot from hour of day : - isnap = ihour/int(freqh(ji)) + 1 - - ! reading is necessary when nrecflx(ji) differs from isnap - IF( nrecflx(ji) /= isnap ) THEN - !! - nrecflx(ji) = isnap - irecflx = (nday_year-1)*24/freqh(ji) + isnap - irectot = 365*24/freqh(ji) - !! - CALL iom_get(numflxall(ji), jpdom_data, clvarname(ji), flxdta(:,:,ji,1), irecflx) - !CALL flinget(numflxall(ji),trim(clvarname(ji)),jpidta,jpjdta,jpk, & - ! & irectot,irecflx,irecflx,mig(1),nlci,mjg(1),nlcj, & - ! & flxdta(1:nlci,1:nlcj,ji,1)) - !! - ENDIF - - ! Case of daily flux data - !------------------------------------- - ELSE IF ( freqh(ji) .EQ. 24 ) THEN - !! - !! reading is necessary when nrecflx(ji) differs from nday - IF( nrecflx(ji) /= nday ) THEN - !! - nrecflx(ji) = nday !! remember present read day of the month - irecflx = nday_year - irectot = 365 - !! - CALL iom_get( numflxall(ji), jpdom_data, clvarname(ji), flxdta(:,:,ji,1), irecflx ) - !CALL flinget(numflxall(ji),trim(clvarname(ji)),jpidta,jpjdta,jpk, & - ! & irectot,irecflx,irecflx,mig(1),nlci,mjg(1),nlcj, & - ! & flxdta(1:nlci,1:nlcj,ji,1)) - ENDIF - !! - !! Case monthly data from CORE: we read two months all the time - !! although we could only read one and swap the arrays - !! -------------------------------------------------------------- - ELSE IF ( freqh(ji) .EQ. -12 ) THEN - !! - IF( (MOD(kt - 1 , ndtpd*int(raajj)) == 0).OR. (nrecflx(ji) /= imois13) ) THEN - !! - ! calendar computation - ! nrecflx number of the first file record used in the simulation - ! nrecflx2 number of the last file record - ! - nrecflx(ji) = imois13 - nrecflx2(ji) = imois13 + 1 - IF (imois13 == 12) nrecflx2(ji) = 14 ! December y and January y+1 - IF (imois13 == 13) nrecflx2(ji) = 1 ! Yes !, December y-1 and January y - !! - irectot = 14 - !! - CALL iom_get(numflxall(ji), jpdom_data, clvarname(ji), flxdta(:,:,ji,1), & - & nrecflx(ji)) - !! - !CALL flinget(numflxall(ji),trim(clvarname(ji)),jpidta,jpjdta,jpk, & - ! & irectot,nrecflx(ji),nrecflx(ji),mig(1),nlci,mjg(1), & - ! & nlcj,flxdta(1:nlci,1:nlcj,ji,1)) - !! - CALL iom_get(numflxall(ji), jpdom_data, clvarname(ji), flxdta(:,:,ji,2), & - & nrecflx2(ji) ) - !! - !CALL flinget(numflxall(ji),trim(clvarname(ji)),jpidta,jpjdta,jpk, & - ! & irectot,nrecflx2(ji),nrecflx2(ji),mig(1),nlci,mjg(1), & - ! & nlcj,flxdta(1:nlci,1:nlcj,ji,2)) - !! - ENDIF - ENDIF - END DO - !! - - !! - ! A.3 ------------ - ! - IF ( MOD(kt - 1 , ndtpd*int(raajj)) == 0 .OR. kt == nit000 ) THEN - !! - IF(lwp) THEN - WRITE(numout,*) - WRITE(numout,*) ' read daily and monthly CORE fluxes: ok' - WRITE(numout,*) - ifpr = int(jpi/8); jfpr = int(jpj/10); - DO ji = 1, jpfile - WRITE(numout,*) trim(clvarname(ji)),' day: ',ndastp - CALL prihre(flxdta(1,1,ji,1),jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout) - WRITE(numout,*) - END DO - ENDIF - ENDIF - !! - ! --------------------------------------------------------- - ! A.4 : Interpolates fluxes in time. - ! - ! For now, only monthly values are interpolated, and they - ! are interpolated to the current day, not to the time step. - ! - DO ji=1, jpfile - IF ( freqh(ji) .EQ. -12 ) THEN - zxy = FLOAT(nday) / FLOAT(nobis(imois)) + 0.5 - i15 - flxnow(:,:,ji) = (( 1. - zxy)*flxdta(:,:,ji,1) + zxy * flxdta(:,:,ji,2)) - ELSE - flxnow(:,:,ji) = flxdta(:,:,ji,1) - ENDIF - ENDDO - !! - ! JMM : add vatm needed in tracer routines - vatm(:,:) = SQRT( flxnow(:,:,2)*flxnow(:,:,2) + flxnow(:,:,3)*flxnow(:,:,3) ) - - - !------------------------------------------------------------------ - ! PART B: BULK CALCULATION - ! for other forcing cases this is done in modules bulk.F90 - ! and flxblk - ! - !---------------------------------------------------------- - ! INITIALIZATION FOR BULKS - ! code part from bulk.F90 : - - IF( kt == nit000) THEN - ! computation of rdtbs2 - IF( nacc == 1 ) THEN - rdtbs2 = nfbulk * rdtmin * 0.5 - ELSE - rdtbs2 = nfbulk * rdt * 0.5 - ENDIF - IF ( .NOT.ln_rstart ) THEN - gsst(:,:) = ( nfbulk - 1 ) * ( tn(:,:,1) + rt0 ) - gsss(:,:) = ( nfbulk - 1 ) * tn_ice(:,:) - gu(:,:) = ( nfbulk - 1 ) * un(:,:,1) - gv(:,:) = ( nfbulk - 1 ) * vn(:,:,1) - ENDIF - ENDIF - - gsst(:,:) = gsst(:,:) + (tn(:,:,1) + rt0 ) - gsss(:,:) = gsss(:,:) + tn_ice(:,:) - gu(:,:) = gu(:,:) + un(:,:,1) - gv(:,:) = gv(:,:) + vn(:,:,1) - - - !! Time step to process flux, every nfbulk : - IF( MOD( kt - 1 , nfbulk ) == 0 ) THEN - - IF (levol.and.lwp) PRINT *, 'This time step we bulk!, kt =', kt - - zsst(:,:) = gsst(:,:) / REAL( nfbulk ) * tmask(:,:,1) ! mean sst in K - zsss(:,:) = gsss(:,:) / REAL( nfbulk ) * tmask(:,:,1) ! mean tn_ice in K - - where (zsst(:,:) .eq. 0) zsst(:,:) = rt0 !lb vilain !!??? - where (zsss(:,:) .eq. 0) zsss(:,:) = rt0 !lb // - - - - ! lb - ! Interpolation of surface current at T-point, zut and zvt : - DO ji=2, jpi - zut(ji,:) = 0.5*(gu(ji-1,:) + gu(ji,:)) / REAL( nfbulk ) - END DO - DO jj=2, jpj - zvt(:,jj) = 0.5*(gv(:,jj-1) + gv(:,jj)) / REAL( nfbulk ) - END DO - CALL lbc_lnk( zut, 'T', -1. ) - CALL lbc_lnk( zvt, 'T', -1. ) - - - ! ------------------------------------------------------------------- - ! I Radiative FLUXES - ! --------------------------------------------------------------------- - ! - alb_ice_os(:,:) = 0. ; alb_oce_os(:,:) = 0. - alb_ice_cs(:,:) = 0. ; alb_oce_cs(:,:) = 0. - ! - CALL flx_blk_albedo (alb_ice_os, alb_oce_os, alb_ice_cs, alb_oce_cs) - ! - ! - ! I.1) Radiative fluxes over ocean - ! -------------------------------- - ! - ! Solar : - qsr_oce(:,:) = (1. - 0.066)*flxnow(:,:,5) ! right sign - ! - ! Infra-red : - qlw_oce(:,:) = flxnow(:,:,6) & - & - Stef*zsst(:,:)*zsst(:,:)*zsst(:,:)*zsst(:,:) ! right sign - ! - ! - ! I.2) Radiative fluxes over ice - ! ------------------------------- - ! - ! Solar : - qsr_ice(:,:) = (1. - alb_ice_cs(:,:))*flxnow(:,:,5) ! right sign - ! - ! Infra-red : - qlw_ice(:,:) = 0.95*(flxnow(:,:,6) & - & - Stef*zsss(:,:)*zsss(:,:)*zsss(:,:)*zsss(:,:)) ! right sign - ! - !---------------------------------------------------------------------- - ! - ! - ! -------------------------------------------------------------------- - ! II Turbulent FLUXES - ! -------------------------------------------------------------------- - ! - ! scalar wind ( = | U10m - SSU | ) - ! It is important to take into account the sea surface courant - ! lb - ! Now, wind components are provided on T-points within the netcdf input file. - ! Thus, the wind module is computded at T-points taking into account the sea - ! surface currents. - dUnormt(:,:) = sqrt( (flxnow(:,:,2) - zut(:,:))*(flxnow(:,:,2) - zut(:,:)) & - & + (flxnow(:,:,3) - zvt(:,:))*(flxnow(:,:,3) - zvt(:,:)) ) - ! lb - ! - - !! Air density according to temperature and specific humidity - rhoa(:,:) = Patm/(Rgas*flxnow(:,:,7)*(1. + 0.608*flxnow(:,:,4))) - !! - IF ( lwp ) THEN - PRINT *, ''; PRINT *, '!LB: kt, rhoa moyen =', kt - PRINT *, SUM(rhoa(:,:)*tmask(:,:,1))/SUM(tmask(:,:,1)); PRINT *, '' - END IF - !! - - ! specific humidity at temp SST over salt water : - qsatw(:,:) = 0.98*640380*exp(-5107.4/zsst(:,:))/rhoa - - ! specific humidity at temp tn_ice over ice : - qsat(:,:) = 11637800*exp(-5897.8/zsss(:,:))/rhoa - - - ! CORE iterartive algo for computation of Cd, Ch, Ce at T-point : - ! =============================================================== - IF ( ln_2m ) THEN - !! If air temp. and spec. hum. are given at different height (2m) than wind (10m) : - CALL TURB_CORE_2Z(2., 10., zsst(:,:), flxnow(:,:,7), qsatw(:,:), flxnow(:,:,4), & - & dUnormt(:,:), Cd(:,:), Ch(:,:), Ce(:,:), zt_zu(:,:), zq_zu(:,:)) - ELSE - IF(lwp) PRINT *, 'Calling TURB_CORE_1Z for bulk transfert coefficients' - !! If air temp. and spec. hum. are given at same height than wind (10m) : - CALL TURB_CORE_1Z(10., zsst(:,:), flxnow(:,:,7), qsatw(:,:), flxnow(:,:,4), & - & dUnormt(:,:), Cd(:,:), Ch(:,:), Ce(:,:) ) - END IF - - - !! - !! II.1) Momentum over ocean and ice - !! --------------------------------- - !! - !! Tau_x at T-point - tauxt(:,:) = rhoa*dUnormt(:,:)*( (1. - freeze(:,:))*Cd(:,:)* & - & (flxnow(:,:,2) - zut(:,:)) + freeze(:,:)*Cice*flxnow(:,:,2) ) - ! Tau_y at T-point - tauyt(:,:) = rhoa*dUnormt(:,:)*( (1. - freeze(:,:))*Cd(:,:)* & - & (flxnow(:,:,3) - zvt(:,:)) + freeze(:,:)*Cice*flxnow(:,:,3) ) - !! - CALL lbc_lnk( tauxt(:,:), 'T', -1. ) - CALL lbc_lnk( tauyt(:,:), 'T', -1. ) - !! - !! Tau_x at U-point - DO ji=1, jpi-1 - taux(ji,:) = 0.5*(tauxt(ji,:) + tauxt(ji+1,:)) - END DO - ! - ! Tau_y at V-point - DO jj=1, jpj-1 - tauy(:,jj) = 0.5*(tauyt(:,jj) + tauyt(:,jj+1)) - END DO - ! - ! lb : should we do this here? - tauxg(:,:) = taux(:,:) ! Save components in - tauyg(:,:) = tauy(:,:) ! geographical ref on U grid - ! - ! - - ! II.2) Turbulent fluxes over ocean - ! --------------------------------- - ! - IF ( ln_2m ) THEN - !! - !! Values of temp. and hum. adjusted to 10m must be used instead of 2m values - !! Sensible Heat : ! right sign for ocean - qsb_oce(:,:) = rhoa*cp*Ch(:,:)*(zt_zu(:,:) - zsst(:,:))*dUnormt(:,:) - !! - !! Latent Heat : ! wrong sign for ocean - evap(:,:) = rhoa*Ce(:,:)*(qsatw(:,:) - zq_zu(:,:))*dUnormt(:,:) - !! - ELSE - !! - !! Sensible Heat : ! right sign for ocean - qsb_oce(:,:) = rhoa*cp*Ch(:,:)*(flxnow(:,:,7) - zsst(:,:))*dUnormt(:,:) - !! - !! Latent Heat : ! wrong sign for ocean - evap(:,:) = rhoa*Ce(:,:)*(qsatw(:,:) - flxnow(:,:,4))*dUnormt(:,:) - !! - END IF - !! - !! Computing Latent heat flux from evaporation : - Lv(:,:) = (2.501 - 0.00237*(zsst(:,:) - rt0))*1.E6 ! SST in deg. C !LB - !! - IF ( lwp ) THEN - PRINT *, ''; PRINT *, '!LB: kt, Lv moyen =', kt - PRINT *, SUM(Lv(:,:)*tmask(:,:,1))/SUM(tmask(:,:,1)); PRINT *, '' - END IF - !! - qla_oce(:,:) = -Lv*evap(:,:) ! right sign for ocean - - - - ! II.3) Turbulent fluxes over ice - ! ------------------------------- - ! - ! Sensible Heat : - qsb_ice(:,:) = rhoa*cp*Cice*( flxnow(:,:,7) - zsss(:,:) )*dUnormt(:,:) - !lb use dUnormt??? or rather Unormt? - ! - ! Latent Heat : - qla_ice(:,:) = Ls*rhoa*Cice*( flxnow(:,:,4) - qsat(:,:) )*dUnormt(:,:) - ! !right sign for ocean - ! - !-------------------------------------------------------------------- - - - ! ------------------------------------------------------------------- - ! III Total FLUXES - ! ---------------------------------------------------------------------- - ! - ! III.1) Downward Non Solar flux over ocean - ! ----------------------------------------- - qnsr_oce(:,:) = qlw_oce(:,:) + qsb_oce(:,:) + qla_oce(:,:) - ! - ! III.1) Downward Non Solar flux over ice - ! --------------------------------------- - qnsr_ice(:,:) = qlw_ice(:,:) + qsb_ice(:,:) + qla_ice(:,:) - ! - !---------------------------------------------------------------------- - - - ! 6. TOTAL NON SOLAR SENSITIVITY - - dqlw_ice(:,:)= 4.0*0.95*Stef*zsss(:,:)*zsss(:,:)*zsss(:,:) - - ! d qla_ice/ d zsss -! dqla_ice(:,:) = -Ls*Cice*0.98*11637800/(rhoa*rhoa) & -! & * (-5897.8)/(zsss(:,:)*zsss(:,:)) & -! & * exp(-5897.8/zsss(:,:)) * dUnormt(:,:) -! -!!!LB - dqla_ice(:,:) = -Ls * Cice * 5897.8 * 11637800. / & - & (zsss(:,:)*zsss(:,:)) * exp(-5897.8/zsss(:,:)) * dUnormt(:,:) -!!!LB - - ! d qsb_ice/ d zsss - dqsb_ice(:,:) = rhoa * cp * Cice * dUnormt(:,:) - - dqns_ice(:,:) = - ( dqlw_ice(:,:) + dqsb_ice(:,:) + dqla_ice(:,:) ) - - - !-------------------------------------------------------------------- - ! FRACTION of net shortwave radiation which is not absorbed in the - ! thin surface layer and penetrates inside the ice cover - ! ( Maykut and Untersteiner, 1971 ; Elbert and Curry, 1993 ) - - !LB: Steve - catm1(:,:) = 1.0 - 0.3 - fr1_i0(:,:) = (0.18 * (1.0-catm1(:,:)) + 0.35 * catm1(:,:) ) - fr2_i0(:,:) = (0.82 * (1.0-catm1(:,:)) + 0.65 * catm1(:,:) ) - ! - ! - !catm1(:,:) = 1.0 - 0.3 ! flxnow(:,:,8) - !fr1_i0(:,:) = & - ! (0.18 * catm1(:,:) + 0.35 * flxnow(:,:,8)) - !fr2_i0(:,:) = & - ! (0.82 * catm1(:,:) + 0.65 * flxnow(:,:,8)) - ! - !! Precipitation (mm/s == kg/m2/s): (LB 04/2007) - !! =============================== - !! -> rename precipitation for freshwater budget calculations - !! -> applying alpha_precip only between -55N and 30N - DO ji = 1, jpi - DO jj = 1, jpj - IF( (gphit(ji,jj) > -55.).AND.(gphit(ji,jj) < 30.) ) THEN - tprecip(ji,jj) = alpha_precip*flxnow(ji,jj,1) - sprecip(ji,jj) = alpha_precip*flxnow(ji,jj,8) - ELSE - tprecip(ji,jj) = flxnow(ji,jj,1) - sprecip(ji,jj) = flxnow(ji,jj,8) - END IF - END DO - END DO - watm(:,:) = tprecip(:,:)*rday - !! - !!--------------------------------------------------------------------- - - - CALL lbc_lnk( taux (:,:) , 'U', -1. ) - CALL lbc_lnk( tauy (:,:) , 'V', -1. ) - CALL lbc_lnk( qsr_oce (:,:) , 'T', 1. ) - CALL lbc_lnk( qnsr_oce(:,:) , 'T', 1. ) - CALL lbc_lnk( qsr_ice (:,:) , 'T', 1. ) - CALL lbc_lnk( qnsr_ice(:,:) , 'T', 1. ) - CALL lbc_lnk( qla_ice (:,:) , 'T', 1. ) - CALL lbc_lnk( dqns_ice(:,:) , 'T', 1. ) - CALL lbc_lnk( dqla_ice(:,:) , 'T', 1. ) - CALL lbc_lnk( fr1_i0 (:,:) , 'T', 1. ) - CALL lbc_lnk( fr2_i0 (:,:) , 'T', 1. ) - CALL lbc_lnk( tprecip (:,:) , 'T', 1. ) - CALL lbc_lnk( sprecip (:,:) , 'T', 1. ) - CALL lbc_lnk( evap (:,:) , 'T', 1. ) - !! - !! - !! NEVER mask the windstress!! - qsr_oce (:,:) = qsr_oce (:,:)*tmask(:,:,1) - qnsr_oce(:,:) = qnsr_oce(:,:)*tmask(:,:,1) - qsr_ice (:,:) = qsr_ice (:,:)*tmask(:,:,1) - qnsr_ice(:,:) = qnsr_ice(:,:)*tmask(:,:,1) - qla_ice (:,:) = qla_ice (:,:)*tmask(:,:,1) - dqns_ice(:,:) = dqns_ice(:,:)*tmask(:,:,1) - dqla_ice(:,:) = dqla_ice(:,:)*tmask(:,:,1) - fr1_i0 (:,:) = fr1_i0 (:,:)*tmask(:,:,1) - fr2_i0 (:,:) = fr2_i0 (:,:)*tmask(:,:,1) - tprecip (:,:) = tprecip (:,:)*tmask(:,:,1) - sprecip (:,:) = sprecip (:,:)*tmask(:,:,1) - evap (:,:) = evap (:,:)*tmask(:,:,1) - gsst(:,:) = 0. - gsss(:,:) = 0. - gu(:,:) = 0. - gv(:,:) = 0. - - - ENDIF ! IF( MOD( kt - 1 , nfbulk ) == 0 ) THEN - - ! ------------------- ! - ! Last call kt=nitend ! - ! ------------------- ! - - ! Closing of the numflx file (required in mpp) - - IF( kt == nitend ) THEN - DO ji=1, jpfile - !CALL flinclo(numflxall(ji)) - CALL iom_close(numflxall(ji)) - ENDDO - ENDIF - !! - END SUBROUTINE flx - - -!!############################################################################################# - !! ====================== - !! | BULK SUBROUTINES: | - !! ====================== - SUBROUTINE TURB_CORE_2Z(zt, zu, sst, T_zt, q_sat, q_zt, dU, Cd, Ch, Ce, T_zu, q_zu) - !! - !! Author: Laurent Brodeau, 2006 / brodeau@gmail.com - !! - !!======================================================================= - !! - !! INPUT : - !! ------- - !! - zt = height for T_zt and q_zt [m] (scalar) - !! - zu = height for dU [m] (scalar) - !! - sst = sea surface temperature [Kelvin] (array 2D) - !! - T_zt = air temperature at zt [K] (array 2D) - !! - q_sat = spec. hum. at saturation at sst [kg/kg] (array 2D) - !! - q_zt = air spec. hum. at zt [kg/kg] (array 2D) - !! - dU = wind (mind sea currents !) at zu [m/s] (array 2D) - !! - !! - !! OUTPUT : - !! -------- - !! - Cd = momentum transfert coefficient at zu (array 2D) - !! - Ch = sensible heat transfert coefficient at zu (array 2D) - !! - Ce = evaporation transfert coefficient at zu (array 2D) - !! - T_zu = air temperature adjusted at zu [Kelvin] (array 2D) - !! - q_zu = air spec. hum. adjusted at z [kg/kg] (array 2D) - !! - !! - !!======================================================================== - !! - !! - !! Input variables : - !! ----------------- - REAL(wp), INTENT(in) :: & - & zt, & ! height for T_zt and q_zt [m] - & zu ! height for dU [m] - !! - REAL(wp), INTENT(in), DIMENSION(jpi,jpj) :: & - & sst, & ! sea surface temperature [Kelvin] - & T_zt, & ! potential air temperature [Kelvin] - & q_sat, & ! sea surface specific humidity [kg/kg] - & q_zt, & ! specific air humidity [kg/kg] - & dU ! wind module |U(zu)-U(0)| [m/s] - !! - !! OUTPUT : - !! -------- - REAL(wp), INTENT(out), DIMENSION(jpi,jpj) :: & - & Cd, Ch, Ce, & - & T_zu, & ! air temp. shifted at zu [K] - & q_zu ! spec. hum. shifted at zu [kg/kg] - !! - !! - !! LOCAL : - !! ------- - INTEGER, PARAMETER :: nb_itt = 3 ! number of itterations - !! - !! Some physical constants : - REAL(wp), PARAMETER :: & - & kappa = 0.4 ! von Karman's constant - !! - REAL(wp), DIMENSION(jpi,jpj) :: & - & dU10, & ! dU [m/s] - & dT, & ! air/sea temperature differeence [K] - & dq, & ! air/sea humidity difference [K] - & Cd_n10, & ! 10m neutral drag coefficient - & Ce_n10, & ! 10m neutral latent coefficient - & Ch_n10, & ! 10m neutral sensible coefficient - & sqrt_Cd_n10, & ! root square of Cd_n10 - & sqrt_Cd, & ! root square of Cd - & T_vpot_u, & ! virtual potential temperature [K] - & T_star, & ! turbulent scale of tem. fluct. - & q_star, & ! turbulent humidity of temp. fluct. - & U_star, & ! turb. scale of velocity fluct. - & L, & ! Monin-Obukov length [m] - & zeta_u, & ! stability parameter at height zu - & zeta_t, & ! stability parameter at height zt - & psi_m_u, psi_h_u, psi_h_t, & - & U_n10, & ! neutral wind velocity at 10m [m] - & xlogt, xct - !! - INTEGER :: j_itt - !! - !! Local integer arrays - INTEGER, DIMENSION(jpi,jpj) :: & - & stab ! 1st stability test integer - !! - !! - !! S T A R T - !! - !! Initial air/sea differences - dU10 = max(0.5, dU) ; dT = T_zt - sst ; dq = q_zt - q_sat - !! - !! Neutral Drag Coefficient : - stab = 0.5 + sign(0.5,dT) ! stab = 1 if dT > 0 -> STABLE - Cd_n10 = 1E-3*( 2.7/dU10 + 0.142 + dU10/13.09 ) - sqrt_Cd_n10 = sqrt(Cd_n10) - Ce_n10 = 1E-3*( 34.6 * sqrt_Cd_n10 ) - Ch_n10 = 1E-3*sqrt_Cd_n10*(18*stab + 32.7*(1 - stab)) - !! - !! Initializing transf. coeff. with their first guess neutral equivalents : - Cd = Cd_n10 ; Ce = Ce_n10 ; Ch = Ch_n10 ; sqrt_Cd = sqrt(Cd) - !! - !! Initializing z_u values with z_t values : - T_zu = T_zt ; q_zu = q_zt - !! - !! Now starting iteration loop - !! --------------------------- - DO j_itt=1, nb_itt - !! - !! Updating air/sea differences : - dT = T_zu - sst ; dq = q_zu - q_sat - !! - !! Updating virtual potential temperature at zu : - T_vpot_u = T_zu*(1. + 0.608*q_zu) - !! - !! Updating turbulent scales : (L & Y eq. (7)) - U_star = sqrt_Cd*dU10 ; T_star = Ch/sqrt_Cd*dT ; q_star = Ce/sqrt_Cd*dq - !! - !! Estimate the Monin-Obukov length at height zu : - L = (U_star*U_star) & - & / (kappa*grav/T_vpot_u*(T_star*(1.+0.608*q_zu) + 0.608*T_zu*q_star)) - !! - !! Stability parameters : - zeta_u = zu/L ; zeta_u = sign( min(abs(zeta_u),10.0), zeta_u ) - zeta_t = zt/L ; zeta_t = sign( min(abs(zeta_t),10.0), zeta_t ) - !! - psi_m_u = psi_m(zeta_u) ; psi_h_u = psi_h(zeta_u) - psi_h_t = psi_h(zeta_t) - !! - !! Shifting the wind speed to 10m and neutral stability : (L & Y eq.(9a)) - U_n10 = dU10/(1. + sqrt_Cd_n10/kappa*(log(zu/10.) - psi_m_u)) - !! - !! Shifting temperature and humidity at zu : (L & Y eq. (9b-9c)) - T_zu = T_zt - T_star/kappa*(log(zt/zu) + psi_h_u - psi_h_t) - q_zu = q_zt - q_star/kappa*(log(zt/zu) + psi_h_u - psi_h_t) - !! - !! q_zu cannot have a negative value : forcing 0 - stab = 0.5 + sign(0.5,q_zu) ; q_zu = stab*q_zu - !! - !! Updating the neutral 10m transfer coefficients : - Cd_n10 = 1E-3 * (2.7/U_n10 + 0.142 + U_n10/13.09) ! L & Y eq. (6a) - sqrt_Cd_n10 = sqrt(Cd_n10) - Ce_n10 = 1E-3 * (34.6 * sqrt_Cd_n10) ! L & Y eq. (6b) - stab = 0.5 + sign(0.5,zeta_u) - Ch_n10 = 1E-3*sqrt_Cd_n10*(18.*stab + 32.7*(1-stab)) ! L & Y eq. (6c-6d) - !! - !! - !! Shifting the neutral 10m transfer coefficients to (zu,zeta_u) : - xct = 1. + sqrt_Cd_n10/kappa*(log(zu/10.) - psi_m_u) - Cd = Cd_n10/(xct*xct) ; sqrt_Cd = sqrt(Cd) - !! - xlogt = log(zu/10.) - psi_h_u - !! - xct = 1. + Ch_n10*xlogt/kappa/sqrt_Cd_n10 - Ch = Ch_n10*sqrt_Cd/sqrt_Cd_n10/xct - !! - xct = 1. + Ce_n10*xlogt/kappa/sqrt_Cd_n10 - Ce = Ce_n10*sqrt_Cd/sqrt_Cd_n10/xct - !! - !! - END DO - !! - END SUBROUTINE TURB_CORE_2Z - - SUBROUTINE TURB_CORE_1Z(zu, sst, T_a, q_sat, q_a, dU, Cd, Ch, Ce) - !! - !! Author: Laurent Brodeau, 2006 / brodeau@gmail.com - !! - !!=================================================================================== - !! - !! Caution: this procedure should only be used when air temperature (T_air), - !! specific humidity (q_air) and wind (dU) are given at the same height 'zu' (10m)! - !! - !! - !! INPUT : - !! ------- - !! - zu = height for given wind module [m] (scalar) - !! - sst = sea surface temperature [Kelvin] (array 2D) - !! - T_a = potential air temperature at zu [Kelvin] (array 2D) - !! - q_sat = spec. hum. at saturation at sst [kg/kg] (array 2D) - !! - q_a = specific air humidity at zu [kg/kg] (array 2D) - !! - dU = wind (mind sea currents !) at zu [m/s] (array 2D) - !! - !! OUTPUT : - !! -------- - !! - Cd = momentum transfert coefficient (array 2D) - !! - Ch = sensible heat transfert coefficient (array 2D) - !! - Ce = evaporation transfert coefficient (array 2D) - !! - !! - !!===================================================================================== - !! - !! Input variables : - !! ----------------- - REAL(wp), INTENT(in) :: zu ! altitude of wind measurement [m] - REAL(wp), INTENT(in), DIMENSION(jpi,jpj) :: & - & sst, & ! sea surface temperature [Kelvin] - & T_a, & ! potential air temperature [Kelvin] - & q_sat, & ! sea surface specific humidity [kg/kg] - & q_a, & ! specific air humidity [kg/kg] - & dU ! wind module |U(zu)-U(0)| [m/s] - !! - !! Output variables : - !! ------------------ - REAL(wp), intent(out), DIMENSION(jpi,jpj) :: & - & Cd, & ! transfer coefficient for momentum (tau) - & Ch, & ! transfer coefficient for temperature (Q_sens) - & Ce ! tansfert coefficient for evaporation (Q_lat) - !! - !! - !! Local variables : - !! ----------------- - !! - INTEGER, PARAMETER :: nb_itt = 3 - !! - !! Some physical constants : - REAL(wp), PARAMETER :: & - & grav = 9.8, & ! gravity - & kappa = 0.4 ! von Karman s constant - !! - REAL(wp), DIMENSION(jpi,jpj) :: & - & dU10, & ! dU [m/s] - & dT, & ! air/sea temperature differeence [K] - & dq, & ! air/sea humidity difference [K] - & Cd_n10, & ! 10m neutral drag coefficient - & Ce_n10, & ! 10m neutral latent coefficient - & Ch_n10, & ! 10m neutral sensible coefficient - & sqrt_Cd_n10, & ! root square of Cd_n10 - & sqrt_Cd, & ! root square of Cd - & T_vpot, & ! virtual potential temperature [K] - & T_star, & ! turbulent scale of tem. fluct. - & q_star, & ! turbulent humidity of temp. fluct. - & U_star, & ! turb. scale of velocity fluct. - & L, & ! Monin-Obukov length [m] - & zeta, & ! stability parameter at height zu - & psi_m_u, & - & U_n10, & ! neutral wind velocity at 10m [m] - & xlogt, xct - !! - INTEGER :: j_itt - !! - !! Local integer arrays - INTEGER, DIMENSION(jpi,jpj) :: & - & stab ! 1st guess stability test integer - !! - !! - !! Air/sea differences - dU10 = max(0.5, dU) ; dT = T_a - sst ; dq = q_a - q_sat - !! - !! Virtual potential temperature - T_vpot = T_a*(1. + 0.608*q_a) - !! - !! Neutral Drag Coefficient - stab = 0.5 + sign(0.5,dT) ! stable : stab = 1 ; unstable : stab = 0 - Cd_n10 = 1E-3 * ( 2.7/dU10 + 0.142 + dU10/13.09 ) ! \\ L & Y eq. (6a) - sqrt_Cd_n10 = sqrt(Cd_n10) - Ce_n10 = 1E-3 * ( 34.6 * sqrt_Cd_n10 ) ! \\ L & Y eq. (6b) - Ch_n10 = 1E-3*sqrt_Cd_n10*(18*stab + 32.7*(1-stab)) ! \\ L & Y eq. (6c), (6d) - !! - !! Initializing transfert coefficients with their first guess neutral equivalents : - Cd = Cd_n10 ; Ce = Ce_n10 ; Ch = Ch_n10 ; sqrt_Cd = sqrt(Cd) - !! - !! - !! Now starting iteration loop - !! --------------------------- - DO j_itt=1, nb_itt - !! - !! Turbulent scales : - U_star = sqrt_Cd*dU10 ! \\ L & Y eq. (7a) - T_star = Ch/sqrt_Cd*dT ! \\ L & Y eq. (7b) - q_star = Ce/sqrt_Cd*dq ! \\ L & Y eq. (7c) - !! - !! Estimate the Monin-Obukov length : - L = (U_star**2)/( kappa*grav*(T_star/T_vpot + q_star/(q_a + 1./0.608)) ) - !! - !! Stability parameters : - zeta = zu/L ; zeta = sign( min(abs(zeta),10.0), zeta ) - !! - psi_m_u = psi_m(zeta) - - !! Shifting the wind speed to 10m and neutral stability : - U_n10 = dU10*1./(1. + sqrt_Cd_n10/kappa*(log(zu/10.) - psi_m_u)) ! \\ L & Y eq. (9a) - !! - !! Updating the neutral 10m transfer coefficients : - Cd_n10 = 1E-3 * (2.7/U_n10 + 0.142 + U_n10/13.09) ! \\ L & Y eq. (6a) - sqrt_Cd_n10 = sqrt(Cd_n10) - Ce_n10 = 1E-3 * (34.6 * sqrt_Cd_n10) ! \\ L & Y eq. (6b) - stab = 0.5 + sign(0.5,zeta) - Ch_n10 = 1E-3*sqrt_Cd_n10*(18.*stab + 32.7*(1-stab)) ! \\ L & Y eq. (6c), (6d) - !! - !! - !! Shifting the neutral 10m transfer coefficients to ( zu , zeta ) : - !! - xct = 1. + sqrt_Cd_n10/kappa*(log(zu/10) - psi_m_u) - Cd = Cd_n10/(xct*xct) ; sqrt_Cd = sqrt(Cd) - !! - xlogt = log(zu/10.) - psi_h(zeta) - !! - xct = 1. + Ch_n10*xlogt/kappa/sqrt_Cd_n10 - Ch = Ch_n10*sqrt_Cd/sqrt_Cd_n10/xct - !! - xct = 1. + Ce_n10*xlogt/kappa/sqrt_Cd_n10 - Ce = Ce_n10*sqrt_Cd/sqrt_Cd_n10/xct - !! - END DO - !! - END SUBROUTINE TURB_CORE_1Z - - FUNCTION psi_m(zta) !! Psis, L & Y eq. (8c), (8d), (8e) - REAL(wp), PARAMETER :: pi = 3.14159 - REAL(wp), DIMENSION(jpi,jpj) :: psi_m - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: zta - REAL(wp), DIMENSION(jpi,jpj) :: X2, X, stabit - X2 = sqrt(abs(1. - 16.*zta)) ; X2 = max(X2 , 1.0) ; X = sqrt(X2) - stabit = 0.5 + sign(0.5,zta) - psi_m = -5.*zta*stabit & ! Stable - & + (1. - stabit)*(2*log((1. + X)/2) + log((1. + X2)/2) - 2*atan(X) + pi/2) ! Unstable - END FUNCTION psi_m - - FUNCTION psi_h(zta) !! Psis, L & Y eq. (8c), (8d), (8e) - REAL(wp), DIMENSION(jpi,jpj) :: psi_h - REAL(wp), DIMENSION(jpi,jpj), INTENT(in) :: zta - REAL(wp), DIMENSION(jpi,jpj) :: X2, X, stabit - X2 = sqrt(abs(1. - 16.*zta)) ; X2 = max(X2 , 1.) ; X = sqrt(X2) - stabit = 0.5 + sign(0.5,zta) - psi_h = -5.*zta*stabit & ! Stable - & + (1. - stabit)*(2.*log( (1. + X2)/2. )) ! Unstable - END FUNCTION psi_h - - -!!################################################################################################# - - - - - SUBROUTINE flx_blk_albedo( palb , palcn , palbp , palcnp ) - !!---------------------------------------------------------------------- - !! *** ROUTINE flx_blk_albedo *** - !! - !! ** Purpose : Computation of the albedo of the snow/ice system - !! as well as the ocean one - !! - !! ** Method : - Computation of the albedo of snow or ice (choose the - !! right one by a large number of tests - !! - Computation of the albedo of the ocean - !! - !! References : - !! Shine and Hendersson-Sellers 1985, JGR, 90(D1), 2243-2250. - !! - !! History : - !! 8.0 ! 01-04 (LIM 1.0) - !! 8.5 ! 03-07 (C. Ethe, G. Madec) Optimization (old name:shine) - !!---------------------------------------------------------------------- - !! * Modules used - USE ice ! ??? - - !! * Arguments - REAL(wp), DIMENSION(jpi,jpj), INTENT(out) :: & - palb , & ! albedo of ice under overcast sky - palcn , & ! albedo of ocean under overcast sky - palbp , & ! albedo of ice under clear sky - palcnp ! albedo of ocean under clear sky - - !! * Local variables - INTEGER :: & - ji, jj ! dummy loop indices - REAL(wp) :: & - c1 = 0.05 , & ! constants values - c2 = 0.1 , & - albice = 0.50 , & ! albedo of melting ice in the arctic and antarctic (Shine & Hendersson-Sellers) - cgren = 0.06 , & ! correction of the snow or ice albedo to take into account - ! effects of cloudiness (Grenfell & Perovich, 1984) - alphd = 0.80 , & ! coefficients for linear interpolation used to compute - alphdi = 0.72 , & ! albedo between two extremes values (Pyane, 1972) - alphc = 0.65 , & - zmue = 0.4 , & ! cosine of local solar altitude - zzero = 0.0 , & - zone = 1.0 - - REAL(wp) :: & - zmue14 , & ! zmue**1.4 - zalbpsnm , & ! albedo of ice under clear sky when snow is melting - zalbpsnf , & ! albedo of ice under clear sky when snow is freezing - zalbpsn , & ! albedo of snow/ice system when ice is coverd by snow - zalbpic , & ! albedo of snow/ice system when ice is free of snow - zithsn , & ! = 1 for hsn >= 0 ( ice is cov. by snow ) ; = 0 otherwise (ice is free of snow) - zitmlsn , & ! = 1 freezinz snow (sist >=rt0_snow) ; = 0 melting snow (sist c1 - zihsc2 ! = 1 hsn >= c2 ; = 0 hsn < c2 - REAL(wp), DIMENSION(jpi,jpj) :: & - zalbfz , & ! ( = alphdi for freezing ice ; = albice for melting ice ) - zficeth ! function of ice thickness - LOGICAL , DIMENSION(jpi,jpj) :: & - llmask - !! to be included for without seaice - !! REAL(wp), DIMENSION(jpi,jpj) :: & !: - !! sist , & !: Sea-Ice Surface Temperature (Kelvin ) - !! hsnif , & !: Snow thickness - !! hicif !: Ice thickness - - !!--------------------------------------------------------------------- - - !------------------------- - ! Computation of zficeth - !-------------------------- - - llmask = (hsnif == 0.0) .AND. ( sist >= rt0_ice ) - WHERE ( llmask ) ! ice free of snow and melts - zalbfz = albice - ELSEWHERE - zalbfz = alphdi - END WHERE - - DO jj = 1, jpj - DO ji = 1, jpi - IF( hicif(ji,jj) > 1.5 ) THEN - zficeth(ji,jj) = zalbfz(ji,jj) - ELSEIF( hicif(ji,jj) > 1.0 .AND. hicif(ji,jj) <= 1.5 ) THEN - zficeth(ji,jj) = 0.472 + 2.0 * ( zalbfz(ji,jj) - 0.472 ) * ( hicif(ji,jj) - 1.0 ) - ELSEIF( hicif(ji,jj) > 0.05 .AND. hicif(ji,jj) <= 1.0 ) THEN - zficeth(ji,jj) = 0.2467 + 0.7049 * hicif(ji,jj) & - & - 0.8608 * hicif(ji,jj) * hicif(ji,jj) & - & + 0.3812 * hicif(ji,jj) * hicif(ji,jj) * hicif (ji,jj) - ELSE - zficeth(ji,jj) = 0.1 + 3.6 * hicif(ji,jj) - ENDIF - END DO - END DO - - !----------------------------------------------- - ! Computation of the snow/ice albedo system - !-------------------------- --------------------- - - ! Albedo of snow-ice for clear sky. - !----------------------------------------------- - DO jj = 1, jpj - DO ji = 1, jpi - ! Case of ice covered by snow. - ! melting snow - zihsc1 = 1.0 - MAX ( zzero , SIGN ( zone , - ( hsnif(ji,jj) - c1 ) ) ) - zalbpsnm = ( 1.0 - zihsc1 ) & - * ( zficeth(ji,jj) + hsnif(ji,jj) * ( alphd - zficeth(ji,jj) ) / c1 ) & - & + zihsc1 * alphd - ! freezing snow - zihsc2 = MAX ( zzero , SIGN ( zone , hsnif(ji,jj) - c2 ) ) - zalbpsnf = ( 1.0 - zihsc2 ) * & - ( albice + hsnif(ji,jj) * ( alphc - albice ) / c2 ) & - & + zihsc2 * alphc - - zitmlsn = MAX ( zzero , SIGN ( zone , sist(ji,jj) - rt0_snow ) ) - zalbpsn = zitmlsn * zalbpsnf + ( 1.0 - zitmlsn ) * zalbpsnm - - ! Case of ice free of snow. - zalbpic = zficeth(ji,jj) - - ! albedo of the system - zithsn = 1.0 - MAX ( zzero , SIGN ( zone , - hsnif(ji,jj) ) ) - palbp(ji,jj) = zithsn * zalbpsn + ( 1.0 - zithsn ) * zalbpic - END DO - END DO - - ! Albedo of snow-ice for overcast sky. - !---------------------------------------------- - palb(:,:) = palbp(:,:) + cgren - - !-------------------------------------------- - ! Computation of the albedo of the ocean - !-------------------------- ----------------- - - - ! Parameterization of Briegled and Ramanathan, 1982 - zmue14 = zmue**1.4 - palcnp(:,:) = 0.05 / ( 1.1 * zmue14 + 0.15 ) - - ! Parameterization of Kondratyev, 1969 and Payne, 1972 - palcn(:,:) = 0.06 - - END SUBROUTINE flx_blk_albedo - - diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/compilation.cmd b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/compilation.cmd deleted file mode 100755 index 47089a8227c1d947f4f5f2838f83f15a8b3b1302..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/compilation.cmd +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -# Modify jpni, jpnj and jpnij in the following code -# according to no. of proc to be used. -# vi ../../modeles/NEMO/OPA_SRC/par_oce.F90 - -# Modify compiler options in the following configuration -# file. -# vi ../../util/AA_make.gdef - -nemo_i=6 -nemo_j=6 - -while getopts i:j: option -do - case $option in - i) nemo_i=$OPTARG;; - j) nemo_j=$OPTARG;; - \?) exit 1;; - esac -done - -source /opt/modules/init/bash -module load intel/12.1 -module load openmpi/1.6-intel - -set -xuve -date - -sed -e "s/ABC/$nemo_i/" \ - -e "s/DEF/$nemo_j/" \ - -e "s/GHI/$((nemo_i*nemo_j))/" \ -../../modeles/NEMO/OPA_SRC/par_oce.F90.orig > ../../modeles/NEMO/OPA_SRC/tmp -mv ../../modeles/NEMO/OPA_SRC/tmp ../../modeles/NEMO/OPA_SRC/par_oce.F90 - -compile=platine - -# MODEL Compilation -# ================= -rm -rf ../../lib/* -set +e -gmake clean -cp scripts/BB_make.ldef_1st scripts/BB_make.ldef -../../util/ins_make -t $compile -cat Makefile -gmake -cp scripts/BB_make.ldef_2nd scripts/BB_make.ldef -../../util/ins_make -t $compile -cat Makefile -gmake -set -e - -# TOOLS Compilation -# ================ -cd ../../modeles/IOIPSL/tools -gmake clean -gmake - -date diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/cp.cmd b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/cp.cmd deleted file mode 100755 index 98de043d1c359584afd821ffad10125569545c7e..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/cp.cmd +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -set -xuve - -mkdir -p ../../../../bin -ls -lrt ../../../../bin - -cp -pf ../../bin/* ../../../../bin - -ls -lrt ../../../../bin diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/run_nemo-v3.2-orca1.cmd b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/run_nemo-v3.2-orca1.cmd deleted file mode 100755 index 8ee2468572c1c3676c226fd90a74cc4117fba6aa..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/run_nemo-v3.2-orca1.cmd +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/ksh -############################################################################### -# RUN NEMO -############################################################################### -# -#$ -N run_nemo-v3.2-orca1 -#$ -cwd -#$ -S /bin/ksh -#$ -V -#$ -pe orte 36 -# - -# General settings -source /opt/modules/init/ksh -module load intel/12.1 -module load openmpi/1.6-intel -# tell OpenMPI to only use infiniband -export OMPI_MCA_btl=sm,self,openib - -date -set -xuv - -NEMO=/scratch/cfu/models/nemo/v3.2 -TESTDATADIR=$NEMO/inidata -FORCED=DFS4.1 -FORCING=/share/data/cfu/common/nemo_forcing/$FORCED -WRITINGDIR=/scratch/cfu/$USER/test -RUN_dir=$WRITINGDIR/run_nemo-v3.2-orca1_$JOB_ID - -NPROCNEMO=36 -YEAR=1990 - -mkdir -p ${RUN_dir} || true -cd ${RUN_dir} - -cp ${NEMO}/bin/opa opa.xx -chmod 770 opa.xx - -cp ${NEMO}/setup/namelist.v3.2.default.${FORCED} namelist -cp ${NEMO}/setup/namelist_ice.v3.2.default namelist_ice - -cp ${TESTDATADIR}/EMPave_old.dat EMPave_old.dat -cp ${TESTDATADIR}/geothermal_heating.nc geothermal_heating.nc -cp ${TESTDATADIR}/coordinates_ukorca1.nc coordinates.nc -cp ${TESTDATADIR}/bathy_meter_050308_UKMO.nc bathy_meter.nc -cp ${TESTDATADIR}/basinmask_050308_UKMO.nc basinmasks.nc -cp ${TESTDATADIR}/runoff_1m_ORCA1.nc runoff_1m_nomask.nc -cp ${TESTDATADIR}/sst_1m_ORCA1.nc sst_1m.nc -cp ${TESTDATADIR}/sss_1m_ORCA1.nc sss_1m.nc -cp ${TESTDATADIR}/dust_1m_ORCA1.nc dust_1m.nc -cp ${TESTDATADIR}/ahmcoef ahmcoef - -cp ${TESTDATADIR}/bathy_level42_050308_UKMO.nc bathy_level.nc -cp ${TESTDATADIR}/potemp05_1m_z42_nomask.nc data_1m_potential_temperature_nomask.nc -cp ${TESTDATADIR}/salin05_1m_z42_nomask.nc data_1m_salinity_nomask.nc - -ln -s ${TESTDATADIR}/weights_grid02_bicubic_orca1.nc weights_grid02_bicubic_orca1.nc -ln -s ${TESTDATADIR}/weights_grid02_bilinear_orca1.nc weights_grid02_bilinear_orca1.nc -ln -s ${TESTDATADIR}/weights_grid03_bicubic_orca1.nc weights_grid03_bicubic_orca1.nc -ln -s ${TESTDATADIR}/weights_grid03_bilinear_orca1.nc weights_grid03_bilinear_orca1.nc - -case $FORCED in - DFS4.1) - ln -s ${FORCING}/${YEAR}_1d_${FORCED}_lwdn.nc qlw_core_y${YEAR}.nc - ln -s ${FORCING}/${YEAR}_1d_${FORCED}_swdn.nc qsw_core_y${YEAR}.nc - ln -s ${FORCING}/${YEAR}_6hr_${FORCED}_q2m.nc q2_core_y${YEAR}.nc - ln -s ${FORCING}/${YEAR}_6hr_${FORCED}_t2m.nc t2_core_y${YEAR}.nc - ln -s ${FORCING}/${YEAR}_6hr_${FORCED}_u10.nc u10_core_y${YEAR}.nc - ln -s ${FORCING}/${YEAR}_6hr_${FORCED}_v10.nc v10_core_y${YEAR}.nc - ln -s ${FORCING}/${YEAR}_1m_${FORCED}_precip.nc precip_core_y${YEAR}.nc - ln -s ${FORCING}/${YEAR}_1m_${FORCED}_snow.nc snow_core_y${YEAR}.nc - ;; - DFS4.3) - ln -s ${FORCING}/qlw_${FORCED}_${YEAR}.nc qlw_core_y${YEAR}.nc - ln -s ${FORCING}/qsw_${FORCED}_${YEAR}.nc qsw_core_y${YEAR}.nc - ln -s ${FORCING}/q2_${FORCED}_${YEAR}.nc q2_core_y${YEAR}.nc - ln -s ${FORCING}/t2_${FORCED}_${YEAR}.nc t2_core_y${YEAR}.nc - ln -s ${FORCING}/u10_${FORCED}_${YEAR}.nc u10_core_y${YEAR}.nc - ln -s ${FORCING}/v10_${FORCED}_${YEAR}.nc v10_core_y${YEAR}.nc - ln -s ${FORCING}/precip_${FORCED}_${YEAR}.nc precip_core_y${YEAR}.nc - ln -s ${FORCING}/snow_${FORCED}_${YEAR}.nc snow_core_y${YEAR}.nc - ;; - *) - echo "$FORCED is not available" - ;; -esac - -for ((l=0; l<$NPROCNEMO; l++)); do - ln -sf coordinates.nc coordinates_$(printf "%03d" $l).nc - ln -sf geothermal_heating.nc geothermal_heating_$(printf "%03d" $l).nc -done - -ls -alF - -ulimit -s unlimited - -time mpirun opa.xx - -date diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef.orig b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef.orig deleted file mode 100755 index e08d5da00dbdcf2a95fa935d3c832c165970ade9..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef.orig +++ /dev/null @@ -1,50 +0,0 @@ -#---------------------------------------------------------------------- -#- NEMO SYSTEM : Ocean model + Sea Ice Model (BB_make.ldef in scripts) -#---------------------------------------------------------------------- -SHELL = /bin/sh -#- -#-Q- t3e #--- Please use gmake instead of make -#-Q- fjvpp #--- Please use gmake instead of make - -#- -#- Define the libraries --- -LIBDIR = ../../../lib -MODDIR = $(LIBDIR) -MODEL_LIB = $(LIBDIR)/oce/libopa.a -IOIPSL_LIB = $(LIBDIR)/libioipsl.a -#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -AGRIF_LIB = $(LIBDIR)/libagrif.a -#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a -#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a -SXMODEL_LIB = $(MODEL_LIB) -#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -OASISMPI2_LIB = -LIBMPI = -LIBMP = -EXEC_BIN = ../../../bin/opa - -#- -#- Key options for OPA ocean model + LIM sea ice model : ORCA_R2 - FORCED (CLIO) -# Keys have to be written on one single line (does NOT accept "\") - -P_P = key_trabbl_dif key_vectopt_loop key_vectopt_memory key_orca_r2 key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_tradmp key_trabbc key_zdftke key_zdfddm key_diahth key_iomput - -#- -#- Prefix for preprocessing --- -#-Q- sx8mercure prefix = -D -#-Q- sx9mercure prefix = -D -#-Q- sx8brodie prefix = -D -#-Q- es2 prefix = -D -#-Q- sxdkrz prefix = -D -#-Q- linux prefix = -D -#-Q- lxiv7 prefix = -D -#-Q- lxiv8 prefix = -D -#-Q- g95 prefix = -D -#-Q- gfortran prefix = -D -#-Q- aix prefix = -WF,-D -#-Q- aix6 prefix = -WF,-D -#-Q- babel prefix = -WF,-D -#-Q- osxxlf prefix = -WF,-D -#-Q- platine prefix= -Wp,-D diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_1st b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_1st deleted file mode 100755 index e04fc95ea6290b1e62c4422625725d68b4e46b43..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_1st +++ /dev/null @@ -1,50 +0,0 @@ -#---------------------------------------------------------------------- -#- NEMO SYSTEM : Ocean model + Sea Ice Model (BB_make.ldef in scripts) -#---------------------------------------------------------------------- -SHELL = /bin/sh -#- -#-Q- t3e #--- Please use gmake instead of make -#-Q- fjvpp #--- Please use gmake instead of make - -#- -#- Define the libraries --- -LIBDIR = ../../../lib -MODDIR = $(LIBDIR) -MODEL_LIB = $(LIBDIR)/oce/libopa.a -IOIPSL_LIB = $(LIBDIR)/libioipsl.a -#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -AGRIF_LIB = $(LIBDIR)/libagrif.a -#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a -#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a -SXMODEL_LIB = $(MODEL_LIB) -#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -OASISMPI2_LIB = -LIBMPI = -LIBMP = -EXEC_BIN = ../../../bin/opa - -#- -#- Key options for OPA ocean model + LIM sea ice model : ORCA_R2 - FORCED (CLIO) -# Keys have to be written on one single line (does NOT accept "\") - -P_P = key_trabbl_dif key_vectopt_loop key_vectopt_memory key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_tradmp key_trabbc key_zdftke key_zdfddm key_mpp_mpi - -#- -#- Prefix for preprocessing --- -#-Q- sx8mercure prefix = -D -#-Q- sx9mercure prefix = -D -#-Q- sx8brodie prefix = -D -#-Q- es2 prefix = -D -#-Q- sxdkrz prefix = -D -#-Q- linux prefix = -D -#-Q- lxiv7 prefix = -D -#-Q- lxiv8 prefix = -D -#-Q- g95 prefix = -D -#-Q- gfortran prefix = -D -#-Q- aix prefix = -WF,-D -#-Q- aix6 prefix = -WF,-D -#-Q- babel prefix = -WF,-D -#-Q- osxxlf prefix = -WF,-D -#-Q- platine prefix= -Wp,-D diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_2nd b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_2nd deleted file mode 100755 index 1aa899904d78cc68c37381cfc1b19c6fa2eee41d..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/scripts/BB_make.ldef_2nd +++ /dev/null @@ -1,50 +0,0 @@ -#---------------------------------------------------------------------- -#- NEMO SYSTEM : Ocean model + Sea Ice Model (BB_make.ldef in scripts) -#---------------------------------------------------------------------- -SHELL = /bin/sh -#- -#-Q- t3e #--- Please use gmake instead of make -#-Q- fjvpp #--- Please use gmake instead of make - -#- -#- Define the libraries --- -LIBDIR = ../../../lib -MODDIR = $(LIBDIR) -MODEL_LIB = $(LIBDIR)/oce/libopa.a -IOIPSL_LIB = $(LIBDIR)/libioipsl.a -#-Q- sxdkrz IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -#-Q- es2 IOIPSL_LIB = $(LIBDIR)/libsxioipsl.a -AGRIF_LIB = $(LIBDIR)/libagrif.a -#-Q- sxdkrz AGRIF_LIB = $(LIBDIR)/libsxagrif.a -#-Q- es2 AGRIF_LIB = $(LIBDIR)/libsxagrif.a -SXMODEL_LIB = $(MODEL_LIB) -#-Q- sxdkrz SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -#-Q- es2 SXMODEL_LIB = $(LIBDIR)/oce/libsxopa.a -OASISMPI2_LIB = -LIBMPI = -LIBMP = -EXEC_BIN = ../../../bin/opa - -#- -#- Key options for OPA ocean model + LIM sea ice model : ORCA_R2 - FORCED (CLIO) -# Keys have to be written on one single line (does NOT accept "\") - -P_P = key_trabbl_dif key_vectopt_loop key_vectopt_memory key_orca_r1 key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_dtatem key_dtasal key_tradmp key_trabbc key_zdftke key_zdfddm key_mpp_mpi - -#- -#- Prefix for preprocessing --- -#-Q- sx8mercure prefix = -D -#-Q- sx9mercure prefix = -D -#-Q- sx8brodie prefix = -D -#-Q- es2 prefix = -D -#-Q- sxdkrz prefix = -D -#-Q- linux prefix = -D -#-Q- lxiv7 prefix = -D -#-Q- lxiv8 prefix = -D -#-Q- g95 prefix = -D -#-Q- gfortran prefix = -D -#-Q- aix prefix = -WF,-D -#-Q- aix6 prefix = -WF,-D -#-Q- babel prefix = -WF,-D -#-Q- osxxlf prefix = -WF,-D -#-Q- platine prefix= -Wp,-D diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default.DFS4.1 b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default.DFS4.1 deleted file mode 100755 index 03a6d0570629d0e7c2d52daa98e2163659728c9d..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default.DFS4.1 +++ /dev/null @@ -1,762 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namqsr, namsbc_rnf, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namtrd, namgap, namspr, namflo, namptr) -!! 9 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! CAUTION: some scripts does not support CAPITALs for logical use .true./.false., not .TRUE./.FALSE. - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== - -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "ORCA1" ! experience name - nn_it000 = 1 ! first time step - nn_itend = 1416 ! last time step (std 5475) - nn_date0 = 19900101 ! initial calendar date yymmdd (used if nrstdt=1) - nn_leapy = 0 ! Leap year calendar (1) or not (0) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 1416 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nit000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (working only with iom_nf90 routines) - ln_rstart = .fasle. ! start from rest (F) or from a restart file (T) - nn_rstctl = 2 ! restart control = 0 nit000 is not compared to the restart file value - ! = 1 use ndate0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart" ! suffix of ocean restart name (output) -/ -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== - -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (0 5760 - nn_baro = 60 ! number of barotropic time step (for the split explicit algorithm) ("key_dynspg_ts") - rn_atfp = 0.1 ! asselin time filter parameter - nn_acc = 0 ! acceleration of convergence : =1 used, rdt < rdttra(k) - ! =0, not used, rdt = rdttra - rn_rdtmin = 3600. ! minimum time step on tracers (used if nacc=1) - rn_rdtmax = 3600. ! maximum time step on tracers (used if nacc=1) - rn_rdth = 800. ! depth variation of tracer time step (used if nacc=1) -/ -!!====================================================================== -!! *** Surface Boundary Condition namelists *** -!!====================================================================== -!! namsbc surface boundary condition -!! namsbc_ana analytical formulation -!! namsbc_flx flux formulation -!! namsbc_clio CLIO bulk formulea formulation -!! namsbc_core CORE bulk formulea formulation -!! namsbc_cpl CouPLed formulation ("key_coupled") -!! namtra_qsr penetrative solar radiation -!! namsbc_rnf river runoffs -!! namsbc_ssr sea surface restoring term (for T and/or S) -!! namsbc_alb albedo parameters -!!====================================================================== - -!----------------------------------------------------------------------- -&namsbc ! Surface Boundary Condition (surface module) -!----------------------------------------------------------------------- - nn_fsbc = 2 ! frequency of surface boundary condition computation - ! (= the frequency of sea-ice model call) - ln_ana = .false. ! analytical formulation (T => fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - nn_ico_cpl = 0 ! ice-ocean coupling : =0 each nn_fsbc - ! =1 stresses recomputed each ocean time step ("key_lim3" only) - ! =2 combination of 0 and 1 cases ("key_lim3" only) - ln_dm2dc = .true. ! daily mean to diurnal cycle short wave (qsr) - ln_rnf = .true. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .true. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked , - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.e0 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24. , 'utau' , .false. , .false. , 'yearly' , '' , '' - sn_vtau = 'vtau' , 24. , 'vtau' , .false. , .false. , 'yearly' , '' , '' - sn_qtot = 'qtot' , 24. , 'qtot' , .false. , .false. , 'yearly' , '' , '' - sn_qsr = 'qsr' , 24. , 'qsr' , .false. , .false. , 'yearly' , '' , '' - sn_emp = 'emp' , 24. , 'emp' , .false. , .false. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1. , 'sozotaux' , .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1. , 'sometauy' , .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1. , 'socliowi' , .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1. , 'socliot2' , .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1. , 'socliohu' , .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1. , 'socliocl' , .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1. , 'socliopl' , .false. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u10_core' , 6 , 'u10', .false., .false. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Ume' - sn_wndj = 'v10_core' , 6 , 'v10', .false., .false. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Vme' - sn_qsr = 'qsw_core' , 24 , 'swdn', .false., .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_qlw = 'qlw_core' , 24 , 'lwdn', .false., .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_tair = 't2_core' , 6 , 't2', .false., .false. , 'yearly' , 'weights_grid02_bilinear_orca1.nc', '' - sn_humi = 'q2_core' , 6 , 'q2', .false., .false. , 'yearly' , 'weights_grid02_bilinear_orca1.nc', '' - sn_prec = 'precip_core', -1 , 'precip', .true. , .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_snow = 'snow_core', -1 , 'snow', .true. , .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' -! - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -! katabatic winds -! ln_kata = .true. ! enhanced katabatic winds (T) or no (F). -! ! file name ! frequency (hours) ! variable ! time intepolation ! clim ! 'yearly' or ! weights ! vector -! ! ! (if <0 months) ! name ! (logical) ! (logical) ! 'monthly' ! filename ! identifier -! sn_kati = 'katamask' , 0. , 'katamaskx', .false. , .true. , 'yearly' , ' ' , ' ' -! sn_katj = 'katamask' , 0. , 'katamasky', .false. , .true. , 'yearly' , ' ' , ' ' -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- - ! send -cn_snd_temperature= 'weighted oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'weighted ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'none' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' - ! receive -cn_rcv_w10m = 'coupled' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce only' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'cartesian' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'U,V' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- -cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' -cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl = 'chlorophyll' , -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction - rn_si2 = 62.0 ! 3 bands: longest depth of extinction (for blue waveband & 0.01 mg/m2 Chl) -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask.nc' , -1 , 'sorunoff' , .true. , .true. , 'yearly' , ' ' , ' ' - sn_cnf = 'runoff_1m_nomask.nc' , -1 , 'socoeff' , .false. , .true. , 'yearly' , ' ' , ' ' -! - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-4 ! value of the additional vertical mixing coef. [m2/s] -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_1m.nc' , -1 , 'votemper', .false. , .false., 'yearly' , ' ' , ' ' - sn_sss = 'sss_1m.nc' , -1 , 'vosaline', .true. , .true. , 'yearly' , ' ' , ' ' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 2 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=1) or not (=0) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -150.0 ! magnitude of the damping on salinity [mm/day/psu] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=1) or not (=0) -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== - -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim= .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [s] -/ -!----------------------------------------------------------------------- -! nam_tide tide parameters (#ifdef key_tide) -!----------------------------------------------------------------------- -! ln_tide_obcramp= linearly apply tidal forcing on open boundaries (sea rdtideramp) -! ln_tide_pot = use tidal potential forcing -! ln_read_tide_elev = read tidal elevations (tide_elev.nc) as obc data -! ln_read_tide_trans = read tidal barotropic velocities (tide_ubar.nc/tide_vbar.nc) as obc data -! ln_compute_tide_trans = compute barotropic velocities from linear equations and elevation as obc data -! ln_read_pot_charge = read charge potential -! rdtideramp = Ramp length in days if ln_tide_obcramp=.true. -! nb_harmo = number of constituents used -! name(1) = 'M2', 'K1', etc name of constituent - -&nam_tide - ln_tide_obcramp = .false. - ln_tide_pot = .true. - ln_read_tide_elev = .false. - ln_read_tide_trans = .false. - ln_compute_tide_trans = .false. - ln_read_pot_charge = .false. - rdtideramp = 2. - nb_harmo = 1 - clname(1) = 'M2' -! nb_harmo = 11 -! clname(1) = 'M2' -! clname(2) = 'S2' -! clname(3) = 'N2' -! clname(4) = 'K1' -! clname(5) = 'O1' -! clname(6) = 'Q1' -! clname(7) = 'M4' -! clname(8) = 'K2' -! clname(9) = 'P1' -! clname(10) = 'Mf' -! clname(11) = 'Mm' -/ -&nam_diaharm -!----------------------------------------------------------------------- -! nam_diaharm online tidal analysis (#ifdef key_diaharm) -!----------------------------------------------------------------------- -! nit000_han = first step used for analysis -! nitend_han = last step used for analysis -! nstep_han = frequency in steps to perform analysis -! nb_ana = number of analysed frequencies -! tname = 'M2', 'K1', etc. Name of tidal constituent - nit000_han = 28801 - nitend_han = 30240 -! nit000_han = 1 -! nitend_han = 10 - nstep_han = 1 - nb_ana = 1 - tname(1) = 'M2' -! tname(2) = 'K1' -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - filbdy_mask = '' ! name of mask file (if ln_bdy_mask=.TRUE.) - filbdy_data_T = 'bdydata_grid_T.nc' ! name of data file (T-points) - filbdy_data_U = 'bdydata_grid_U.nc' ! name of data file (U-points) - filbdy_data_V = 'bdydata_grid_V.nc' ! name of data file (V-points) - ln_bdy_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_bdy_vol = .true. ! total volume correction (see volbdy parameter) - ln_bdy_mask = .false. ! boundary mask from filbdy_mask (T) or boundaries are on edges of domain (F) - ln_bdy_tides = .true. ! Apply tidal harmonic forcing with Flather condition - ln_bdy_dyn_fla = .true. ! Apply Flather condition to velocities - ln_bdy_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_bdy_dyn_frs = .false. ! Apply FRS condition to velocities - nbdy_dta = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nb_rimwidth = 9 ! width of the relaxation zone - volbdy = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date = .false. ! adjust tidal harmonics for start date of run -/ -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition ("key_trabbc") -!! nambbl bottom boundary layer scheme ("key_trabbl_dif","key_trabbl_adv") -!!====================================================================== - -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : no slip, = 2 : nonlinear friction - ! = 3 : free slip, = 1 : linear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m^2/s^2) - rn_bfeb2 = 0.0 ! bottom turbulent kinetic energy background (m^2/s^2) - ! Drakkar enhancement -! ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D file ) -! ln_bfr2d = .true. ! horizontal variation of the bottom friction coef (read a 2D file ) -! rn_bfrien = 50. ! multiplying factor of bfr -! rn_bfrien = 50. ! multiplying factor of bfr -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- -! ! diffusive bbl ("key_trabbl") -! ! advective bbl ("key_trabbl_adv") - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] -/ -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== - -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 1.67e-4 ! thermal expension coefficient (neos= 1 or 2) - rn_beta = 7.8e-4 ! saline expension coefficient (neos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = .false. ! 2nd order centered scheme - ln_traadv_tvd = .true. ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ! Coefficient - rn_aht_0 = 1000. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1000. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 0 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== - -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) - nn_dynhpg_rst = 1 ! =1 dynhpg restartable restart or not (=0) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! Coefficient - rn_ahm_0 = 10000. ! horizontal eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] -/ -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric" ) -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke" ) -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp" ) -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm" ) -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx" ) -!!====================================================================== - -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.2e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 1 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 100. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative algorithm (T) or not (F) - nn_npc = 0 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! coef. of the surface input of tke - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - rn_bshear = 1.e-20 ! background shear (>0) - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 same criteria as case 2 but applied in a different way - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .false. ! mixing length scale surface value as function of wind stress (T) or not (F) - rn_lmin = 0.001 ! interior buoyancy lenght scale minimum value - rn_lmin0 = 0.01 ! surface buoyancy lenght scale minimum value - nn_etau = 1 ! exponentially deceasing penetration of tke due to internal & intertial waves - ! = 0 no penetration ( O(2 km) resolution) - ! = 1 additional tke source - ! = 2 additional tke source applied only at the base of the mixed layer - nn_htau = 1 ! type of exponential decrease of tke penetration - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m at high latitudes - rn_efr = 0.05 ! fraction of surface tke value which penetrates inside the ocean - ln_lc = .true. ! Langmuir cell parameterisation - rn_lc = 0.15 ! coef. associated to Langmuir cells -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionnally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .FALSE. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ -!!====================================================================== -!! *** Miscelaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi) -!! nammpp_dyndist Massively Parallel domain decomposition ("key_agrif" && "key_mpp_dyndist") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== - -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 2000 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'I' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 0 ! size in bytes of exported buffer ('B' case), 0 no exportation -/ -!----------------------------------------------------------------------- -&nammpp_dyndist ! Massively Parallel Distribution for AGRIF zoom ("key_agrif" && "key_mpp_dyndist") -!----------------------------------------------------------------------- - jpni = 6 ! jpni number of processors following i - jpnj = 6 ! jpnj number of processors following j - jpnij = 36 ! jpnij number of local domains -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 6 ! number of processors in i-direction - nn_jsplt = 6 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) - nn_bit_cmp = 0 ! bit comparison mode (1/0): CAUTION use zero except for test - ! of comparison between single and multiple processor runs -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namgap level mean model-data gap ("key_diagap") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!!====================================================================== - -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ('key_trdmld' or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namgap ! level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- - nn_gap = 15 ! time-step frequency of model-data gap computation - nn_prg = 10 ! time-step frequency of gap print in model output -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl= 75 ! frequency of writing in float output file - nn_stockfl= 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .true. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - nf_ptr = 1 ! Frequency of ptr computation [time step] - nf_ptr_wri = -1 ! Frequency of ptr outputs -/ diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default.DFS4.3 b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default.DFS4.3 deleted file mode 100755 index b34eff4a3b0554085afb55d8dc0e51e0269bdee5..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist.v3.2.default.DFS4.3 +++ /dev/null @@ -1,762 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namqsr, namsbc_rnf, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namtrd, namgap, namspr, namflo, namptr) -!! 9 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -! CAUTION: some scripts does not support CAPITALs for logical use .true./.false., not .TRUE./.FALSE. - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== - -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "ORCA1" ! experience name - nn_it000 = 1 ! first time step - nn_itend = 1416 ! last time step (std 5475) - nn_date0 = 19680101 ! initial calendar date yymmdd (used if nrstdt=1) - nn_leapy = 0 ! Leap year calendar (1) or not (0) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 1416 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nit000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (working only with iom_nf90 routines) - ln_rstart = .fasle. ! start from rest (F) or from a restart file (T) - nn_rstctl = 2 ! restart control = 0 nit000 is not compared to the restart file value - ! = 1 use ndate0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart" ! suffix of ocean restart name (output) -/ -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== - -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (0 5760 - nn_baro = 60 ! number of barotropic time step (for the split explicit algorithm) ("key_dynspg_ts") - rn_atfp = 0.1 ! asselin time filter parameter - nn_acc = 0 ! acceleration of convergence : =1 used, rdt < rdttra(k) - ! =0, not used, rdt = rdttra - rn_rdtmin = 3600. ! minimum time step on tracers (used if nacc=1) - rn_rdtmax = 3600. ! maximum time step on tracers (used if nacc=1) - rn_rdth = 800. ! depth variation of tracer time step (used if nacc=1) -/ -!!====================================================================== -!! *** Surface Boundary Condition namelists *** -!!====================================================================== -!! namsbc surface boundary condition -!! namsbc_ana analytical formulation -!! namsbc_flx flux formulation -!! namsbc_clio CLIO bulk formulea formulation -!! namsbc_core CORE bulk formulea formulation -!! namsbc_cpl CouPLed formulation ("key_coupled") -!! namtra_qsr penetrative solar radiation -!! namsbc_rnf river runoffs -!! namsbc_ssr sea surface restoring term (for T and/or S) -!! namsbc_alb albedo parameters -!!====================================================================== - -!----------------------------------------------------------------------- -&namsbc ! Surface Boundary Condition (surface module) -!----------------------------------------------------------------------- - nn_fsbc = 2 ! frequency of surface boundary condition computation - ! (= the frequency of sea-ice model call) - ln_ana = .false. ! analytical formulation (T => fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - nn_ico_cpl = 0 ! ice-ocean coupling : =0 each nn_fsbc - ! =1 stresses recomputed each ocean time step ("key_lim3" only) - ! =2 combination of 0 and 1 cases ("key_lim3" only) - ln_dm2dc = .true. ! daily mean to diurnal cycle short wave (qsr) - ln_rnf = .true. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .true. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked , - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.e0 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24. , 'utau' , .false. , .false. , 'yearly' , '' , '' - sn_vtau = 'vtau' , 24. , 'vtau' , .false. , .false. , 'yearly' , '' , '' - sn_qtot = 'qtot' , 24. , 'qtot' , .false. , .false. , 'yearly' , '' , '' - sn_qsr = 'qsr' , 24. , 'qsr' , .false. , .false. , 'yearly' , '' , '' - sn_emp = 'emp' , 24. , 'emp' , .false. , .false. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1. , 'sozotaux' , .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1. , 'sometauy' , .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1. , 'socliowi' , .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1. , 'socliot2' , .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1. , 'socliohu' , .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1. , 'socliocl' , .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1. , 'socliopl' , .false. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u10_core' , 6 , 'u10', .false., .false. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Ume' - sn_wndj = 'v10_core' , 6 , 'v10', .false., .false. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Vme' - sn_qsr = 'qsw_core' , 24 , 'qsw', .false., .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_qlw = 'qlw_core' , 24 , 'qlw', .false., .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_tair = 't2_core' , 6 , 't2', .false., .false. , 'yearly' , 'weights_grid02_bilinear_orca1.nc', '' - sn_humi = 'q2_core' , 6 , 'q2', .false., .false. , 'yearly' , 'weights_grid02_bilinear_orca1.nc', '' - sn_prec = 'precip_core', -1 , 'precip', .true. , .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' - sn_snow = 'snow_core', -1 , 'snow', .true. , .false. , 'yearly' , 'weights_grid03_bilinear_orca1.nc', '' -! - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) -! katabatic winds -! ln_kata = .true. ! enhanced katabatic winds (T) or no (F). -! ! file name ! frequency (hours) ! variable ! time intepolation ! clim ! 'yearly' or ! weights ! vector -! ! ! (if <0 months) ! name ! (logical) ! (logical) ! 'monthly' ! filename ! identifier -! sn_kati = 'katamask' , 0. , 'katamaskx', .false. , .true. , 'yearly' , ' ' , ' ' -! sn_katj = 'katamask' , 0. , 'katamasky', .false. , .true. , 'yearly' , ' ' , ' ' -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- - ! send -cn_snd_temperature= 'weighted oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'weighted ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'none' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' - ! receive -cn_rcv_w10m = 'coupled' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce only' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'cartesian' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'U,V' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- -cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' -cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl = 'chlorophyll' , -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction - rn_si2 = 62.0 ! 3 bands: longest depth of extinction (for blue waveband & 0.01 mg/m2 Chl) -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask.nc' , -1 , 'sorunoff' , .true. , .true. , 'yearly' , ' ' , ' ' - sn_cnf = 'runoff_1m_nomask.nc' , -1 , 'socoeff' , .false. , .true. , 'yearly' , ' ' , ' ' -! - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-4 ! value of the additional vertical mixing coef. [m2/s] -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_1m.nc' , -1 , 'votemper', .false. , .false., 'yearly' , ' ' , ' ' - sn_sss = 'sss_1m.nc' , -1 , 'vosaline', .true. , .true. , 'yearly' , ' ' , ' ' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 2 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=1) or not (=0) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -150.0 ! magnitude of the damping on salinity [mm/day/psu] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] - nn_sssr = 0 ! add a damping term in the surface freshwater flux (=1) or not (=0) -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== - -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim= .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [s] -/ -!----------------------------------------------------------------------- -! nam_tide tide parameters (#ifdef key_tide) -!----------------------------------------------------------------------- -! ln_tide_obcramp= linearly apply tidal forcing on open boundaries (sea rdtideramp) -! ln_tide_pot = use tidal potential forcing -! ln_read_tide_elev = read tidal elevations (tide_elev.nc) as obc data -! ln_read_tide_trans = read tidal barotropic velocities (tide_ubar.nc/tide_vbar.nc) as obc data -! ln_compute_tide_trans = compute barotropic velocities from linear equations and elevation as obc data -! ln_read_pot_charge = read charge potential -! rdtideramp = Ramp length in days if ln_tide_obcramp=.true. -! nb_harmo = number of constituents used -! name(1) = 'M2', 'K1', etc name of constituent - -&nam_tide - ln_tide_obcramp = .false. - ln_tide_pot = .true. - ln_read_tide_elev = .false. - ln_read_tide_trans = .false. - ln_compute_tide_trans = .false. - ln_read_pot_charge = .false. - rdtideramp = 2. - nb_harmo = 1 - clname(1) = 'M2' -! nb_harmo = 11 -! clname(1) = 'M2' -! clname(2) = 'S2' -! clname(3) = 'N2' -! clname(4) = 'K1' -! clname(5) = 'O1' -! clname(6) = 'Q1' -! clname(7) = 'M4' -! clname(8) = 'K2' -! clname(9) = 'P1' -! clname(10) = 'Mf' -! clname(11) = 'Mm' -/ -&nam_diaharm -!----------------------------------------------------------------------- -! nam_diaharm online tidal analysis (#ifdef key_diaharm) -!----------------------------------------------------------------------- -! nit000_han = first step used for analysis -! nitend_han = last step used for analysis -! nstep_han = frequency in steps to perform analysis -! nb_ana = number of analysed frequencies -! tname = 'M2', 'K1', etc. Name of tidal constituent - nit000_han = 28801 - nitend_han = 30240 -! nit000_han = 1 -! nitend_han = 10 - nstep_han = 1 - nb_ana = 1 - tname(1) = 'M2' -! tname(2) = 'K1' -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - filbdy_mask = '' ! name of mask file (if ln_bdy_mask=.TRUE.) - filbdy_data_T = 'bdydata_grid_T.nc' ! name of data file (T-points) - filbdy_data_U = 'bdydata_grid_U.nc' ! name of data file (U-points) - filbdy_data_V = 'bdydata_grid_V.nc' ! name of data file (V-points) - ln_bdy_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_bdy_vol = .true. ! total volume correction (see volbdy parameter) - ln_bdy_mask = .false. ! boundary mask from filbdy_mask (T) or boundaries are on edges of domain (F) - ln_bdy_tides = .true. ! Apply tidal harmonic forcing with Flather condition - ln_bdy_dyn_fla = .true. ! Apply Flather condition to velocities - ln_bdy_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_bdy_dyn_frs = .false. ! Apply FRS condition to velocities - nbdy_dta = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nb_rimwidth = 9 ! width of the relaxation zone - volbdy = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date = .false. ! adjust tidal harmonics for start date of run -/ -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition ("key_trabbc") -!! nambbl bottom boundary layer scheme ("key_trabbl_dif","key_trabbl_adv") -!!====================================================================== - -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : no slip, = 2 : nonlinear friction - ! = 3 : free slip, = 1 : linear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m^2/s^2) - rn_bfeb2 = 0.0 ! bottom turbulent kinetic energy background (m^2/s^2) - ! Drakkar enhancement -! ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D file ) -! ln_bfr2d = .true. ! horizontal variation of the bottom friction coef (read a 2D file ) -! rn_bfrien = 50. ! multiplying factor of bfr -! rn_bfrien = 50. ! multiplying factor of bfr -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- -! ! diffusive bbl ("key_trabbl") -! ! advective bbl ("key_trabbl_adv") - rn_ahtbbl = 1000. ! lateral mixing coefficient in the bbl [m2/s] -/ -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== - -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 1.67e-4 ! thermal expension coefficient (neos= 1 or 2) - rn_beta = 7.8e-4 ! saline expension coefficient (neos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = .false. ! 2nd order centered scheme - ln_traadv_tvd = .true. ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ! Coefficient - rn_aht_0 = 1000. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1000. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 0 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== - -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .false. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .true. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .true. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) - nn_dynhpg_rst = 1 ! =1 dynhpg restartable restart or not (=0) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! Coefficient - rn_ahm_0 = 10000. ! horizontal eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] -/ -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric" ) -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke" ) -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp" ) -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm" ) -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx" ) -!!====================================================================== - -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.2e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 1 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 100. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative algorithm (T) or not (F) - nn_npc = 0 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! coef. of the surface input of tke - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - rn_bshear = 1.e-20 ! background shear (>0) - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 same criteria as case 2 but applied in a different way - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .false. ! mixing length scale surface value as function of wind stress (T) or not (F) - rn_lmin = 0.001 ! interior buoyancy lenght scale minimum value - rn_lmin0 = 0.01 ! surface buoyancy lenght scale minimum value - nn_etau = 1 ! exponentially deceasing penetration of tke due to internal & intertial waves - ! = 0 no penetration ( O(2 km) resolution) - ! = 1 additional tke source - ! = 2 additional tke source applied only at the base of the mixed layer - nn_htau = 1 ! type of exponential decrease of tke penetration - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m at high latitudes - rn_efr = 0.05 ! fraction of surface tke value which penetrates inside the ocean - ln_lc = .true. ! Langmuir cell parameterisation - rn_lc = 0.15 ! coef. associated to Langmuir cells -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionnally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .FALSE. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ -!!====================================================================== -!! *** Miscelaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi) -!! nammpp_dyndist Massively Parallel domain decomposition ("key_agrif" && "key_mpp_dyndist") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== - -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 2000 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'I' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 0 ! size in bytes of exported buffer ('B' case), 0 no exportation -/ -!----------------------------------------------------------------------- -&nammpp_dyndist ! Massively Parallel Distribution for AGRIF zoom ("key_agrif" && "key_mpp_dyndist") -!----------------------------------------------------------------------- - jpni = 6 ! jpni number of processors following i - jpnj = 6 ! jpnj number of processors following j - jpnij = 36 ! jpnij number of local domains -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 6 ! number of processors in i-direction - nn_jsplt = 6 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) - nn_bit_cmp = 0 ! bit comparison mode (1/0): CAUTION use zero except for test - ! of comparison between single and multiple processor runs -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namgap level mean model-data gap ("key_diagap") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!!====================================================================== - -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ('key_trdmld' or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namgap ! level mean model-data gap ('key_diagap') -!----------------------------------------------------------------------- - nn_gap = 15 ! time-step frequency of model-data gap computation - nn_prg = 10 ! time-step frequency of gap print in model output -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl= 75 ! frequency of writing in float output file - nn_stockfl= 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .true. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - nf_ptr = 1 ! Frequency of ptr computation [time step] - nf_ptr_wri = -1 ! Frequency of ptr outputs -/ diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist_ice.v3.2.default b/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist_ice.v3.2.default deleted file mode 100755 index ae6409267ad7d1d5e0903a965a6b6b306079f9e5..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/config/ORCA2_LIM/setup/namelist_ice.v3.2.default +++ /dev/null @@ -1,134 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 5 - ice advection (namicetrp) -!! 6 - thermodynamic (namicethd) -!! 7 - ice salinity (namicesal) -!! 8 - mechanical redistribution of ice (namiceitdme) -!! 3 - ice diagnostics (namicedia) -!! 9 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T) or not (F) - acrit = 2.0e-06 , 5.0e-06 ! minimum fraction for leads in the Northern (Southern) Hemisphere - hsndif = 0.0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the ice initial state in the file 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 2.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 2.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 250.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0. ! boundary conditions (=0.0 no-slip, =1.0 free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- -! hmelt : maximum melting at the bottom -! hiccrit(1/2): ice thickness for lateral accretion in the Northern (Southern) Hemisphere -! caution 1.0, 1.0 best value to be used!!! (gilles G.) -! hicmin : ice thickness corr. to max. energy stored in brine pocket -! hiclim : minimum ice thickness -! amax : maximum lead fraction -! swiqst : energy stored in brine pocket (=1) or not (=0) -! sbeta : numerical caracteritic of the scheme for diffusion in ice -! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) -! parlat : percentage of energy used for lateral ablation -! hakspl : slope of distr. for Hakkinen-Mellor's lateral melting -! hibspl : slope of distribution for Hibler's lateral melting -! exld : exponent for leads-closure rate -! hakdif : coefficient for diffusions of ice and snow -! thth : threshold thickness for comp. of eq. thermal conductivity -! hnzst : thickness of the surf. layer in temp. computation -! parsub : switch for snow sublimation or not -! alphs : coefficient for snow density when snow ice formation -! - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.6 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf ='1PE13.5 ' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, - noumef = 19 ! number of fields -! -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -/ diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/modeles/IOIPSL/src/calendar.f90 b/deploy/patches/ithaca/nemo/v3.2/modipsl/modeles/IOIPSL/src/calendar.f90 deleted file mode 100755 index b600b437f90979651b8e79d93914347620d48067..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/modeles/IOIPSL/src/calendar.f90 +++ /dev/null @@ -1,996 +0,0 @@ -MODULE calendar -!- -!$Id: calendar.f90 1011 2010-05-07 13:05:34Z bellier $ -!- -! This software is governed by the CeCILL license -! See IOIPSL/IOIPSL_License_CeCILL.txt -!--------------------------------------------------------------------- -!- This is the calendar which going to be used to do all -!- calculations on time. Three types of calendars are possible : -!- -!- - gregorian : -!- The normal calendar. The time origin for the -!- julian day in this case is 24 Nov -4713 -!- (other names : 'standard','proleptic_gregorian') -!- - noleap : -!- A 365 day year without leap years. -!- The origin for the julian days is in this case 1 Jan 0 -!- (other names : '365_day','365d') -!- - all_leap : -!- A 366 day year with leap years. -!- The origin for the julian days is in this case ???? -!- (other names : '366_day','366d' -!- - julian : -!- same as gregorian, but with all leap century years -!- - xxxd : -!- Year of xxx days with month of equal length. -!- The origin for the julian days is then also 1 Jan 0 -!- -!- As one can see it is difficult to go from one calendar to the other. -!- All operations involving julian days will be wrong. -!- This calendar will lock as soon as possible -!- the length of the year and forbid any further modification. -!- -!- For the non leap-year calendar the method is still brute force. -!- We need to find an Integer series which takes care of the length -!- of the various month. (Jan) -!- -!- one_day : one day in seconds -!- one_year : one year in days -!--------------------------------------------------------------------- - USE stringop,ONLY : strlowercase - USE errioipsl,ONLY : ipslerr -!- - PRIVATE - PUBLIC :: ymds2ju,ju2ymds,tlen2itau,isittime,ioconf_calendar, & - & ioget_calendar,ioget_mon_len,ioget_year_len,itau2date, & - & ioget_timestamp,ioconf_startdate,itau2ymds, & - & time_diff,time_add,lock_calendar -!- - INTERFACE ioget_calendar - MODULE PROCEDURE & - & ioget_calendar_real1,ioget_calendar_real2,ioget_calendar_str - END INTERFACE -!- - INTERFACE ioconf_startdate - MODULE PROCEDURE & - & ioconf_startdate_simple,ioconf_startdate_internal, & - & ioconf_startdate_ymds - END INTERFACE -!- - REAL,PARAMETER :: one_day = 86400.0 - LOGICAL,SAVE :: lock_startdate = .FALSE. -!- - CHARACTER(LEN=30),SAVE :: time_stamp='XXXXXXXXXXXXXXXX' -!- -!- Description of calendar -!- - CHARACTER(LEN=20),SAVE :: calendar_used="gregorian" - LOGICAL,SAVE :: lock_one_year = .FALSE. - REAL,SAVE :: one_year = 365.2425 - INTEGER,SAVE :: mon_len(12)=(/31,28,31,30,31,30,31,31,30,31,30,31/) -!- - CHARACTER(LEN=3),PARAMETER :: & - & cal(12) = (/'JAN','FEB','MAR','APR','MAY','JUN', & - & 'JUL','AUG','SEP','OCT','NOV','DEC'/) -!- - REAL,SAVE :: start_day,start_sec -!- -CONTAINS -!- -!=== -!- -SUBROUTINE lock_calendar (new_status,old_status) -!!-------------------------------------------------------------------- -!! The "lock_calendar" routine -!! allows to lock or unlock the calendar, -!! and to know the current status of the calendar. -!! Be careful ! -!! -!! SUBROUTINE lock_calendar (new_status,old_status) -!! -!! Optional INPUT argument -!! -!! (L) new_status : new status of the calendar -!! -!! Optional OUTPUT argument -!! -!! (L) old_status : current status of the calendar -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - LOGICAL,OPTIONAL,INTENT(IN) :: new_status - LOGICAL,OPTIONAL,INTENT(OUT) :: old_status -!--------------------------------------------------------------------- - IF (PRESENT(old_status)) THEN - old_status = lock_one_year - ENDIF - IF (PRESENT(new_status)) THEN - lock_one_year = new_status - ENDIF -!--------------------------- -END SUBROUTINE lock_calendar -!- -!=== -!- -SUBROUTINE ymds2ju (year,month,day,sec,julian) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - REAL,INTENT(OUT) :: julian -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!- - julian = julian_day+julian_sec/one_day -!--------------------- -END SUBROUTINE ymds2ju -!- -!=== -!- -SUBROUTINE ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!--------------------------------------------------------------------- -!- Converts year, month, day and seconds into a julian day -!- -!- In 1968 in a letter to the editor of Communications of the ACM -!- (CACM, volume 11, number 10, October 1968, p.657) Henry F. Fliegel -!- and Thomas C. Van Flandern presented such an algorithm. -!- -!- See also : http://www.magnet.ch/serendipity/hermetic/cal_stud/jdn.htm -!- -!- In the case of the Gregorian calendar we have chosen to use -!- the Lilian day numbers. This is the day counter which starts -!- on the 15th October 1582. -!- This is the day at which Pope Gregory XIII introduced the -!- Gregorian calendar. -!- Compared to the true Julian calendar, which starts some -!- 7980 years ago, the Lilian days are smaler and are dealt with -!- easily on 32 bit machines. With the true Julian days you can only -!- the fraction of the day in the real part to a precision of -!- a 1/4 of a day with 32 bits. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - INTEGER,INTENT(OUT) :: julian_day - REAL,INTENT(OUT) :: julian_sec -!- - INTEGER :: jd,m,y,d,ml -!--------------------------------------------------------------------- - lock_one_year = .TRUE. -!- - m = month - y = year - d = day -!- -!- We deduce the calendar from the length of the year as it -!- is faster than an INDEX on the calendar variable. -!- - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!-- "Gregorian" - jd = (1461*(y+4800+INT((m-14)/12)))/4 & - & +(367*(m-2-12*(INT((m-14)/12))))/12 & - & -(3*((y+4900+INT((m-14)/12))/100))/4 & - & +d-32075 - jd = jd-2299160 - ELSE IF ( (ABS(one_year-365.0) <= EPSILON(one_year)) & - & .OR.(ABS(one_year-366.0) <= EPSILON(one_year)) ) THEN -!-- "No leap" or "All leap" - ml = SUM(mon_len(1:m-1)) - jd = y*NINT(one_year)+ml+(d-1) - ELSE -!-- Calendar with regular month - ml = NINT(one_year/12.) - jd = y*NINT(one_year)+(m-1)*ml+(d-1) - ENDIF -!- - julian_day = jd - julian_sec = sec -!------------------------------ -END SUBROUTINE ymds2ju_internal -!- -!=== -!- -SUBROUTINE ju2ymds (julian,year,month,day,sec) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(IN) :: julian -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - julian_day = INT(julian) - julian_sec = (julian-julian_day)*one_day -!- - CALL ju2ymds_internal(julian_day,julian_sec,year,month,day,sec) -!--------------------- -END SUBROUTINE ju2ymds -!- -!=== -!- -SUBROUTINE ju2ymds_internal (julian_day,julian_sec,year,month,day,sec) -!--------------------------------------------------------------------- -!- This subroutine computes from the julian day the year, -!- month, day and seconds -!- -!- In 1968 in a letter to the editor of Communications of the ACM -!- (CACM, volume 11, number 10, October 1968, p.657) Henry F. Fliegel -!- and Thomas C. Van Flandern presented such an algorithm. -!- -!- See also : http://www.magnet.ch/serendipity/hermetic/cal_stud/jdn.htm -!- -!- In the case of the Gregorian calendar we have chosen to use -!- the Lilian day numbers. This is the day counter which starts -!- on the 15th October 1582. This is the day at which Pope -!- Gregory XIII introduced the Gregorian calendar. -!- Compared to the true Julian calendar, which starts some 7980 -!- years ago, the Lilian days are smaler and are dealt with easily -!- on 32 bit machines. With the true Julian days you can only the -!- fraction of the day in the real part to a precision of a 1/4 of -!- a day with 32 bits. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: julian_day - REAL,INTENT(IN) :: julian_sec -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: l,n,i,jd,j,d,m,y,ml - INTEGER :: add_day - REAL :: eps_day -!--------------------------------------------------------------------- - eps_day = SPACING(one_day) - lock_one_year = .TRUE. -!- - jd = julian_day - sec = julian_sec - IF (sec > (one_day-eps_day)) THEN - add_day = INT(sec/one_day) - sec = sec-add_day*one_day - jd = jd+add_day - ENDIF - IF (sec < -eps_day) THEN - sec = sec+one_day - jd = jd-1 - ENDIF -!- - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!-- Gregorian - jd = jd+2299160 -!- - l = jd+68569 - n = (4*l)/146097 - l = l-(146097*n+3)/4 - i = (4000*(l+1))/1461001 - l = l-(1461*i)/4+31 - j = (80*l)/2447 - d = l-(2447*j)/80 - l = j/11 - m = j+2-(12*l) - y = 100*(n-49)+i+l - ELSE IF ( (ABS(one_year-365.0) <= EPSILON(one_year)) & - & .OR.(ABS(one_year-366.0) <= EPSILON(one_year)) ) THEN -!-- No leap or All leap - y = jd/NINT(one_year) - l = jd-y*NINT(one_year) - m = 1 - ml = 0 - DO WHILE (ml+mon_len(m) <= l) - ml = ml+mon_len(m) - m = m+1 - ENDDO - d = l-ml+1 - ELSE -!-- others - ml = NINT(one_year/12.) - y = jd/NINT(one_year) - l = jd-y*NINT(one_year) - m = (l/ml)+1 - d = l-(m-1)*ml+1 - ENDIF -!- - day = d - month = m - year = y -!------------------------------ -END SUBROUTINE ju2ymds_internal -!- -!=== -!- -SUBROUTINE tlen2itau (input_str,dt,date,itau) -!--------------------------------------------------------------------- -!- This subroutine transforms a string containing a time length -!- into a number of time steps. -!- To do this operation the date (in julian days is needed as the -!- length of the month varies. -!- The following convention is used : -!- n : n time steps -!- nS : n seconds is transformed into itaus -!- nH : n hours -!- nD : n days -!- nM : n month -!- nY : n years -!- Combinations are also possible -!- nYmD : nyears plus m days ! -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(IN) :: input_str - REAL,INTENT(IN) :: dt,date -!- - INTEGER,INTENT(OUT) :: itau -!- - INTEGER :: y_pos,m_pos,d_pos,h_pos,s_pos - INTEGER :: read_time - CHARACTER(LEN=13) :: fmt - CHARACTER(LEN=80) :: tmp_str -!- - INTEGER :: year,month,day - REAL :: sec,date_new,dd,ss -!--------------------------------------------------------------------- - itau = 0 - CALL ju2ymds (date,year,month,day,sec) -!- - y_pos = MAX(INDEX(input_str,'y'),INDEX(input_str,'Y')) - m_pos = MAX(INDEX(input_str,'m'),INDEX(input_str,'M')) - d_pos = MAX(INDEX(input_str,'d'),INDEX(input_str,'D')) - h_pos = MAX(INDEX(input_str,'h'),INDEX(input_str,'H')) - s_pos = MAX(INDEX(input_str,'s'),INDEX(input_str,'S')) -!- - IF (MAX(y_pos,m_pos,d_pos,s_pos) > 0) THEN - tmp_str = input_str - DO WHILE ( MAX(y_pos,m_pos,d_pos,s_pos) > 0) -!---- WRITE(*,*) tmp_str -!---- WRITE(*,*) y_pos,m_pos,d_pos,s_pos - IF (y_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') y_pos-1 - READ(tmp_str(1:y_pos-1),fmt) read_time - CALL ymds2ju (year+read_time,month,day,sec,date_new) - dd = date_new-date - ss = INT(dd)*one_day+dd-INT(dd) - itau = itau+NINT(ss/dt) - tmp_str = tmp_str(y_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (m_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') m_pos-1 - READ(tmp_str(1:m_pos-1),fmt) read_time - CALL ymds2ju (year,month+read_time,day,sec,date_new) - dd = date_new-date - ss = INT(dd)*one_day+dd-INT(dd) - itau = itau+NINT(ss/dt) - tmp_str = tmp_str(m_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (d_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') d_pos-1 - READ(tmp_str(1:d_pos-1),fmt) read_time - itau = itau+NINT(read_time*one_day/dt) - tmp_str = tmp_str(d_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (h_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') h_pos-1 - READ(tmp_str(1:h_pos-1),fmt) read_time - itau = itau+NINT(read_time*60.*60./dt) - tmp_str = tmp_str(d_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (s_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') s_pos-1 - READ(tmp_str(1:s_pos-1),fmt) read_time - itau = itau+NINT(read_time/dt) - tmp_str = tmp_str(s_pos+1:LEN_TRIM(tmp_str)) - ENDIF -!- - y_pos = MAX(INDEX(tmp_str,'y'),INDEX(tmp_str,'Y')) - m_pos = MAX(INDEX(tmp_str,'m'),INDEX(tmp_str,'M')) - d_pos = MAX(INDEX(tmp_str,'d'),INDEX(tmp_str,'D')) - h_pos = MAX(INDEX(tmp_str,'h'),INDEX(tmp_str,'H')) - s_pos = MAX(INDEX(tmp_str,'s'),INDEX(tmp_str,'S')) - ENDDO - ELSE - WRITE(fmt,'("(I",I10.10,")")') LEN_TRIM(input_str) - READ(input_str(1:LEN_TRIM(input_str)),fmt) itau - ENDIF -!----------------------- -END SUBROUTINE tlen2itau -!- -!=== -!- -REAL FUNCTION itau2date (itau,date0,deltat) -!--------------------------------------------------------------------- -!- This function transforms itau into a date. The date with which -!- the time axis is going to be labeled -!- -!- INPUT -!- itau : current time step -!- date0 : Date at which itau was equal to 0 -!- deltat : time step between itau s -!- -!- OUTPUT -!- itau2date : Date for the given itau -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER :: itau - REAL :: date0,deltat -!--------------------------------------------------------------------- - itau2date = REAL(itau)*deltat/one_day+date0 -!--------------------- -END FUNCTION itau2date -!- -!=== -!- -SUBROUTINE itau2ymds (itau,deltat,year,month,day,sec) -!--------------------------------------------------------------------- -!- This subroutine transforms itau into a date. The date with which -!- the time axis is going to be labeled -!- -!- INPUT -!- itau : current time step -!- deltat : time step between itau s -!- -!- OUTPUT -!- year : year -!- month : month -!- day : day -!- sec : seconds since midnight -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: deltat -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - IF (.NOT.lock_startdate) THEN - CALL ipslerr (2,'itau2ymds', & - & 'You try to call this function, itau2ymds, but you didn''t', & - & ' call ioconf_startdate to initialize date0 in calendar.', & - & ' Please call ioconf_startdate before itau2ymds.') - ENDIF - julian_day = start_day - julian_sec = start_sec+REAL(itau)*deltat - CALL ju2ymds_internal (julian_day,julian_sec,year,month,day,sec) -!----------------------- -END SUBROUTINE itau2ymds -!- -!=== -!- -REAL FUNCTION dtchdate (itau,date0,old_dt,new_dt) -!--------------------------------------------------------------------- -!- This function changes the date so that the simulation can -!- continue with the same itau but a different dt. -!- -!- INPUT -!- itau : current time step -!- date0 : Date at which itau was equal to 0 -!- old_dt : Old time step between itaus -!- new_dt : New time step between itaus -!- -!- OUTPUT -!- dtchdate : Date for the given itau -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: date0,old_dt,new_dt -!- - REAL :: rtime -!--------------------------------------------------------------------- - rtime = itau2date (itau,date0,old_dt) - dtchdate = rtime-REAL(itau)*new_dt/one_day -!-------------------- -END FUNCTION dtchdate -!- -!=== -!- -SUBROUTINE isittime & - & (itau,date0,dt,freq,last_action,last_check,do_action) -!--------------------------------------------------------------------- -!- This subroutine checks the time as come for a given action. -!- This is computed from the current time-step(itau). -!- Thus we need to have the time delta (dt), the frequency -!- of the action (freq) and the last time it was done -!- (last_action in units of itau). -!- In order to extrapolate when will be the next check we need -!- the time step of the last call (last_check). -!- -!- The test is done on the following condition : -!- the distance from the current time to the time for the next -!- action is smaller than the one from the next expected -!- check to the next action. -!- When the test is done on the time steps simplifications make -!- it more difficult to read in the code. -!- For the real time case it is easier to understand ! -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: dt,freq - INTEGER,INTENT(IN) :: last_action,last_check - REAL,INTENT(IN) :: date0 -!- - LOGICAL,INTENT(OUT) :: do_action -!- - REAL :: dt_action,dt_check - REAL :: date_last_act,date_next_check,date_next_act, & - & date_now,date_mp1,date_mpf - INTEGER :: year,month,monthp1,day,next_check_itau,next_act_itau - INTEGER :: yearp,dayp - REAL :: sec,secp - LOGICAL :: check = .FALSE. -!--------------------------------------------------------------------- - IF (check) THEN - WRITE(*,*) & - & "isittime 1.0 ",itau,date0,dt,freq,last_action,last_check - ENDIF -!- - IF (last_check >= 0) THEN - dt_action = (itau-last_action)*dt - dt_check = (itau-last_check)*dt - next_check_itau = itau+(itau-last_check) -!- -!-- We are dealing with frequencies in seconds and thus operation -!-- can be done on the time steps. -!- - IF (freq > 0) THEN - IF (ABS(dt_action-freq) <= ABS(dt_action+dt_check-freq)) THEN - do_action = .TRUE. - ELSE - do_action = .FALSE. - ENDIF -!- -!---- Here we deal with frequencies in month and work on julian days. -!- - ELSE - date_now = itau2date (itau,date0,dt) -!KW! blow out part of the code, replace with a quick and dirty fix -!KW! that checks if month of next timestep is equal to current month -!KW! if this isn't true, then doaction=true - CALL ju2ymds (date_now,year,month,day,sec) - date_mp1 = itau2date (itau+1,date0,dt) - CALL ju2ymds (date_mp1,year,monthp1,day,sec) - IF (month /= monthp1) THEN - do_action = .TRUE. -!KW! end of changes - ELSE - do_action = .FALSE. - ENDIF - ENDIF -!- - IF (check) THEN - WRITE(*,*) "isittime 2.0 ", & - & date_next_check,date_next_act,ABS(dt_action-freq), & - & ABS(dt_action+dt_check-freq),dt_action,dt_check, & - & next_check_itau,do_action - ENDIF - ELSE - do_action=.FALSE. - ENDIF -!---------------------- -END SUBROUTINE isittime -!- -!=== -!- -SUBROUTINE ioconf_calendar (str) -!--------------------------------------------------------------------- -!- This routine allows to configure the calendar to be used. -!- This operation is only allowed once and the first call to -!- ymds2ju or ju2ymsd will lock the current configuration. -!- the argument to ioconf_calendar can be any of the following : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(IN) :: str -!- - INTEGER :: leng,ipos - CHARACTER(LEN=20) :: str_w -!--------------------------------------------------------------------- -!- -! Clean up the string ! -!- - str_w = str - CALL strlowercase (str_w) -!- - IF (.NOT.lock_one_year) THEN -!--- - lock_one_year=.TRUE. -!--- - SELECT CASE(TRIM(str_w)) - CASE('gregorian','standard','proleptic_gregorian') - calendar_used = 'gregorian' - one_year = 365.2425 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE('noleap','365_day','365d') - calendar_used = 'noleap' - one_year = 365.0 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE('all_leap','366_day','366d') - calendar_used = 'all_leap' - one_year = 366.0 - mon_len(:)=(/31,29,31,30,31,30,31,31,30,31,30,31/) - CASE('360_day','360d') - calendar_used = '360d' - one_year = 360.0 - mon_len(:)=(/30,30,30,30,30,30,30,30,30,30,30,30/) - CASE('julian') - calendar_used = 'julian' - one_year = 365.25 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE DEFAULT - ipos = INDEX(str_w,'d') - IF (ipos == 4) THEN - READ(str_w(1:3),'(I3)') leng - IF ( (MOD(leng,12) == 0).AND.(leng > 1) ) THEN - calendar_used = str_w - one_year = leng - mon_len(:) = leng/12 - ELSE - CALL ipslerr (3,'ioconf_calendar', & - & 'The length of the year as to be a modulo of 12', & - & 'so that it can be divided into 12 month of equal length', & - & TRIM(str_w)) - ENDIF - ELSE - CALL ipslerr (3,'ioconf_calendar', & - & 'Unrecognized input, please check the man pages.', & - & TRIM(str_w),' ') - ENDIF - END SELECT - ELSE IF (TRIM(str_w) /= TRIM(calendar_used)) THEN - WRITE(str_w,'(f10.4)') one_year - CALL ipslerr (2,'ioconf_calendar', & - & 'The calendar was already used or configured to : '// & - & TRIM(calendar_used)//'.', & - & 'You are not allowed to change it to : '//TRIM(str)//'.', & - & 'The following length of year is used : '//TRIM(ADJUSTL(str_w))) - ENDIF -!----------------------------- -END SUBROUTINE ioconf_calendar -!- -!=== -!- -SUBROUTINE ioconf_startdate_simple (julian) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(IN) :: julian -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - julian_day = INT(julian) - julian_sec = (julian-julian_day)*one_day -!- - CALL ioconf_startdate_internal (julian_day,julian_sec) -!------------------------------------- -END SUBROUTINE ioconf_startdate_simple -!- -!=== -!- -SUBROUTINE ioconf_startdate_ymds (year,month,day,sec) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!- - CALL ioconf_startdate_internal (julian_day,julian_sec) -!----------------------------------- -END SUBROUTINE ioconf_startdate_ymds -!- -!=== -!- -SUBROUTINE ioconf_startdate_internal (julian_day,julian_sec) -!--------------------------------------------------------------------- -! This subroutine allows to set the startdate for later -! use. It allows the applications to access the date directly from -! the timestep. In order to avoid any problems the start date will -! be locked and can not be changed once set. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: julian_day - REAL,INTENT(IN) :: julian_sec -!- - CHARACTER(len=70) :: str70a,str70b -!--------------------------------------------------------------------- - IF (.NOT.lock_startdate) THEN - start_day = julian_day - start_sec = julian_sec - lock_startdate = .TRUE. - ELSE - WRITE(str70a,'("The date you tried to set : ",f10.4)') & - & julian_day,julian_sec/one_day - WRITE(str70b, & - & '("The date which was already set in the calendar : ",f10.4)') & - & start_day+start_sec/one_day - CALL ipslerr (2,'ioconf_startdate', & - & 'The start date has already been set and you tried to change it', & - & str70a,str70b) - ENDIF -!--------------------------------------- -END SUBROUTINE ioconf_startdate_internal -!- -!=== -!- -SUBROUTINE ioget_calendar_str (str) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(OUT) :: str -!--------------------------------------------------------------------- - lock_one_year = .TRUE. -!- - str = calendar_used -!-------------------------------- -END SUBROUTINE ioget_calendar_str -!- -!=== -!- -SUBROUTINE ioget_calendar_real1 (long_year) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(OUT) :: long_year -!--------------------------------------------------------------------- - long_year = one_year - lock_one_year = .TRUE. -!---------------------------------- -END SUBROUTINE ioget_calendar_real1 -!- -!=== -!- -SUBROUTINE ioget_calendar_real2 (long_year,long_day) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(OUT) :: long_year,long_day -!--------------------------------------------------------------------- - long_year = one_year - long_day = one_day - lock_one_year = .TRUE. -!---------------------------------- -END SUBROUTINE ioget_calendar_real2 -!- -!=== -!- -INTEGER FUNCTION ioget_mon_len (year,month) -!!-------------------------------------------------------------------- -!! The "ioget_mon_len" function returns -!! the number of days in a "month" of a "year", -!! in the current calendar. -!! -!! INTEGER FUNCTION ioget_mon_len (year,month) -!! -!! INPUT -!! -!! (I) year : year -!! (I) month : month in the year (1 --> 12) -!! -!! OUTPUT -!! -!! (I) ioget_mon_len : number of days in the month -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month -!- - INTEGER :: ml -!--------------------------------------------------------------------- - IF ( (month >= 1).AND.(month <= 12) ) THEN - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!---- "Gregorian" or "Julian" - ml = mon_len(month) - IF (month == 2) THEN - IF (ABS(one_year-365.2425) <= EPSILON(one_year) ) THEN -!-------- "Gregorian" - IF ( ((MOD(year,4) == 0).AND.(MOD(year,100) /= 0)) & - .OR.(MOD(year,400) == 0) ) THEN - ml = ml+1 - ENDIF - ELSE -!-------- "Julian" - IF (MOD(year,4) == 0) THEN - ml = ml+1 - ENDIF - ENDIF - ENDIF - ioget_mon_len = ml - ELSE -!---- "No leap" or "All leap" or "Calendar with regular month" - ioget_mon_len = mon_len(month) - ENDIF - ELSE - CALL ipslerr (3,'ioget_mon_len', & - & 'The number of the month','must be between','1 and 12') - ENDIF -!------------------------- -END FUNCTION ioget_mon_len -!- -!=== -!- -INTEGER FUNCTION ioget_year_len (year) -!!-------------------------------------------------------------------- -!! The "ioget_year_len" function returns -!! the number of days in "year", in the current calendar. -!! -!! INTEGER FUNCTION ioget_year_len (year) -!! -!! INPUT -!! -!! (I) year : year -!! -!! OUTPUT -!! -!! (I) ioget_year_len : number of days in the year -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year -!- - INTEGER :: yl -!--------------------------------------------------------------------- - SELECT CASE(TRIM(calendar_used)) - CASE('gregorian') - yl = 365 - IF ( ((MOD(year,4) == 0).AND.(MOD(year,100) /= 0)) & - .OR.(MOD(year,400) == 0) ) THEN - yl = yl+1 - ENDIF - CASE('julian') - yl = 365 - IF (MOD(year,4) == 0) THEN - yl = yl+1 - ENDIF - CASE DEFAULT - yl = NINT(one_year) - END SELECT - ioget_year_len = yl -!-------------------------- -END FUNCTION ioget_year_len -!- -!=== -!- -SUBROUTINE ioget_timestamp (string) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=30),INTENT(OUT) :: string -!- - INTEGER :: date_time(8) - CHARACTER(LEN=10) :: bigben(3) -!--------------------------------------------------------------------- - IF (INDEX(time_stamp,'XXXXXX') > 0) THEN - CALL DATE_AND_TIME (bigben(1),bigben(2),bigben(3),date_time) -!--- - WRITE(time_stamp, & - & "(I4.4,'-',A3,'-',I2.2,' ',I2.2,':',I2.2,':',I2.2,' GMT',a5)") & - & date_time(1),cal(date_time(2)),date_time(3),date_time(5), & - & date_time(6),date_time(7),bigben(3) - ENDIF -!- - string = time_stamp -!----------------------------- -END SUBROUTINE ioget_timestamp -!- -!=== -!- -SUBROUTINE time_add & - & (year_s,month_s,day_s,sec_s,sec_increment, & - & year_e,month_e,day_e,sec_e) -!--------------------------------------------------------------------- -!- This subroutine allows to increment a date by a number of seconds. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year_s,month_s,day_s - REAL,INTENT(IN) :: sec_s -!- -! Time in seconds to be added to the date -!- - REAL,INTENT(IN) :: sec_increment -!- - INTEGER,INTENT(OUT) :: year_e,month_e,day_e - REAL,INTENT(OUT) :: sec_e -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal & - & (year_s,month_s,day_s,sec_s,julian_day,julian_sec) -!- - julian_sec = julian_sec+sec_increment -!- - CALL ju2ymds_internal & - & (julian_day,julian_sec,year_e,month_e,day_e,sec_e) -!---------------------- -END SUBROUTINE time_add -!- -!=== -!- -SUBROUTINE time_diff & - & (year_s,month_s,day_s,sec_s,year_e,month_e,day_e,sec_e,sec_diff) -!--------------------------------------------------------------------- -!- This subroutine allows to determine the number of seconds -!- between two dates. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year_s,month_s,day_s - REAL,INTENT(IN) :: sec_s - INTEGER,INTENT(IN) :: year_e,month_e,day_e - REAL,INTENT(IN) :: sec_e -!- -! Time in seconds between the two dates -!- - REAL,INTENT(OUT) :: sec_diff -!- - INTEGER :: julian_day_s,julian_day_e,day_diff - REAL :: julian_sec_s,julian_sec_e -!--------------------------------------------------------------------- - CALL ymds2ju_internal & - & (year_s,month_s,day_s,sec_s,julian_day_s,julian_sec_s) - CALL ymds2ju_internal & - & (year_e,month_e,day_e,sec_e,julian_day_e,julian_sec_e) -!- - day_diff = julian_day_e-julian_day_s - sec_diff = julian_sec_e-julian_sec_s -!- - sec_diff = sec_diff+day_diff*one_day -!----------------------- -END SUBROUTINE time_diff -!- -!=== -!- -END MODULE calendar diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90.orig b/deploy/patches/ithaca/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90.orig deleted file mode 100755 index a150e85caa4c11d0e5a7d6f14cc7497ce5d4f68d..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/modeles/NEMO/OPA_SRC/par_oce.F90.orig +++ /dev/null @@ -1,230 +0,0 @@ -MODULE par_oce - !!====================================================================== - !! *** par_oce *** - !! Ocean : set the ocean parameters - !!====================================================================== - !! History : - !! 4.0 ! 91 (Imbard, Levy, Madec) Original code - !! 9.0 ! 04-01 (G. Madec, J.-M. Molines) Free form and module - !! " ! 05-11 (V. Garnier) Surface pressure gradient organization - !!---------------------------------------------------------------------- - !! OPA 9.0 , LOCEAN-IPSL (2005) - !! $Id: par_oce.F90 1647 2009-10-07 15:15:07Z rblod $ - !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt - !!---------------------------------------------------------------------- - !! * Modules used - USE par_kind ! kind parameters - - IMPLICIT NONE - PUBLIC - - !!---------------------------------------------------------------------- - !! Domain decomposition - !!---------------------------------------------------------------------- - !! * if we dont use massively parallel computer (parameters jpni=jpnj=1) - !! so jpiglo=jpi and jpjglo=jpj - -#if ! defined key_mpp_dyndist - INTEGER, PUBLIC, PARAMETER :: & !: - jpni = ABC, & !: number of processors following i - jpnj = DEF, & !: number of processors following j - jpnij = GHI !: nb of local domain = nb of processors - ! ! ( <= jpni x jpnj ) -#else - INTEGER, PUBLIC :: & ! - jpni , & !: number of processors following i - jpnj , & !: number of processors following j - jpnij !: nb of local domain = nb of processors - ! ! ( <= jpni x jpnj ) -#endif - - INTEGER, PUBLIC, PARAMETER :: & !: - jpr2di = 0, & !: number of columns for extra outer halo - jpr2dj = 0, & !: number of rows for extra outer halo - jpreci = 1, & !: number of columns for overlap - jprecj = 1 !: number of rows for overlap - - !! Ocean Domain sizes - !! ------------------ - !! data domain (jpidta,jpjdta) - !! global or zoom domain (jpiglo,jpjglo) - !! local domain ( jpi , jpj ) - -#if defined key_orca_r4 - !!--------------------------------------------------------------------- - !! 'key_orca_r4' : global ocean : ORCA R4 - !!--------------------------------------------------------------------- -# include "par_ORCA_R4.h90" -#elif defined key_orca_r2 - !!--------------------------------------------------------------------- - !! 'key_orca_r2' : global ocean : ORCA R2 - !!--------------------------------------------------------------------- -# include "par_ORCA_R2.h90" -#elif defined key_orca_r1 - !!--------------------------------------------------------------------- - !! 'key_orca_r1' : global ocean : ORCA R1 - !!--------------------------------------------------------------------- -# include "par_ORCA_R1.h90" -#elif defined key_orca_r05 - !!--------------------------------------------------------------------- - !! 'key_orca_r05' : global ocean : ORCA R05 - !!--------------------------------------------------------------------- -# include "par_ORCA_R05.h90" -#elif defined key_orca_r025 - !!--------------------------------------------------------------------- - !! 'key_orca_r025' : global ocean : ORCA R025 - !!--------------------------------------------------------------------- -# include "par_ORCA_R025.h90" -#elif defined key_eel_r2 - !!--------------------------------------------------------------------- - !! 'key_eel_r2' : channel : EEL R2 - !!--------------------------------------------------------------------- -# include "par_EEL_R2.h90" -#elif defined key_eel_r5 - !!--------------------------------------------------------------------- - !! 'key_eel_r5' : channel : EEL R5 - !!--------------------------------------------------------------------- -# include "par_EEL_R5.h90" -#elif defined key_eel_r6 - !!--------------------------------------------------------------------- - !! 'key_eel_r6' : channel : EEL R6 - !!--------------------------------------------------------------------- -# include "par_EEL_R6.h90" -#elif defined key_gyre - !!--------------------------------------------------------------------- - !! 'key_gyre' : mid-latitude basin : GYRE - !!--------------------------------------------------------------------- -# include "par_GYRE.h90" -#elif defined key_pomme_r025 - !!--------------------------------------------------------------------- - !! 'key_pomme_r025': regional basin : POMME025 - !!--------------------------------------------------------------------- -# include "par_POMME_R025.h90" -#else - !!--------------------------------------------------------------------- - !! default option : small closed basin - !!--------------------------------------------------------------------- - CHARACTER(len=16), PUBLIC, PARAMETER :: & !: - cp_cfg = "default" !: name of the configuration - INTEGER, PARAMETER :: & !: - jp_cfg = 0 , & !: resolution of the configuration - - ! data size !!! * size of all input files * - jpidta = 10, & !: 1st lateral dimension ( >= jpi ) - jpjdta = 12, & !: 2nd " " ( >= jpj ) - jpkdta = 31, & !: number of levels ( >= jpk ) - - ! global or zoom domain size !!! * computational domain * - jpiglo = jpidta, & !: 1st dimension of global domain --> i - jpjglo = jpjdta, & !: 2nd " " --> j - jpk = jpkdta, & !: number of vertical levels - ! zoom starting position - jpizoom = 1 , & !: left bottom (i,j) indices of the zoom - jpjzoom = 1 , & !: in data domain indices - - ! Domain characteristics - jperio = 0 !: lateral cond. type (between 0 and 6) - ! ! = 0 closed - ! ! = 1 cyclic East-West - ! ! = 2 equatorial symmetric - ! ! = 3 North fold T-point pivot - ! ! = 4 cyclic East-West AND North fold T-point pivot - ! ! = 5 North fold F-point pivot - ! ! = 6 cyclic East-West AND North fold F-point pivot - - !! Values set to pp_not_used indicates that this parameter is not used in THIS config. - !! Values set to pp_to_be_computed indicates that variables will be computed in domzgr - REAL(wp), PARAMETER :: & !: - pp_not_used = 999999._wp , & !: - pp_to_be_computed = 999999._wp !: - - - !! Horizontal grid parameters for domhgr - !! ===================================== - - INTEGER, PUBLIC, PARAMETER :: & !: - jphgr_msh = 0 !: type of horizontal mesh - ! ! = 0 curvilinear coordinate on the sphere - ! ! read in coordinate.nc file - ! ! = 1 geographical mesh on the sphere - ! ! with regular grid-spacing - ! ! = 2 f-plane with regular grid-spacing - ! ! = 3 beta-plane with regular grid-spacing - ! ! = 4 Mercator grid with T/U point at the equator with - ! ! isotropic resolution (e1_deg) - - REAL(wp) , PUBLIC, PARAMETER :: & !: - ppglam0 = 0.0_wp, & !: longitude of first raw and column T-point (jphgr_msh = 1) - ppgphi0 = -35.0_wp, & !: latitude of first raw and column T-point (jphgr_msh = 1) - ! ! latitude for the Coriolis or Beta parameter (jphgr_msh = 2 or 3) - ppe1_deg = 1.0_wp, & !: zonal grid-spacing (degrees) - ppe2_deg = 0.5_wp, & !: meridional grid-spacing (degrees) - ppe1_m = 5000.0_wp, & !: zonal grid-spacing (degrees) - ppe2_m = 5000.0_wp !: meridional grid-spacing (degrees) - - !! Vertical grid parameter for domzgr - !! ================================== - - REAL(wp), PUBLIC, PARAMETER :: & !: - & ppsur = -4762.96143546300_wp , & !: ORCA r4, r2 and r05 coefficients - & ppa0 = 255.58049070440_wp , & !: (default coefficients) - & ppa1 = 245.58132232490_wp , & !: - & ppkth = 21.43336197938_wp , & !: - & ppacr = 3.00000000000_wp !: - - !! If both ppa0 ppa1 and ppsur are specified to 0, then - !! they are computed from ppdzmin, pphmax , ppkth, ppacr in dom_zgr - - REAL(wp), PUBLIC, PARAMETER :: & !: - & ppdzmin = 10._wp , & !: Minimum vertical spacing - & pphmax = 5000._wp !: Maximum depth - - !!--------------------------------------------------------------------- -#endif - - !!--------------------------------------------------------------------- - !! Domain Matrix size - !!--------------------------------------------------------------------- - INTEGER & !: -#if !defined key_agrif - ,PARAMETER & -#endif - :: & - jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci , & !: first dimension - jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj , & !: second dimension - jpim1 = jpi-1, & !: inner domain indices - jpjm1 = jpj-1, & !: " " - jpkm1 = jpk-1, & !: " " - jpij = jpi*jpj !: jpi x jpj - -#if defined key_agrif - !!--------------------------------------------------------------------- - !! Agrif variables - !!--------------------------------------------------------------------- - INTEGER, PUBLIC, PARAMETER :: nbghostcells = 1 - INTEGER, PUBLIC :: nbcellsx = jpiglo - 2 - 2*nbghostcells - INTEGER, PUBLIC :: nbcellsy = jpjglo - 2 - 2*nbghostcells -#endif - !!--------------------------------------------------------------------- - !! Optimization/control flags - !!--------------------------------------------------------------------- -#if defined key_esopa - LOGICAL, PUBLIC, PARAMETER :: lk_esopa = .TRUE. !: flag to activate the all options -#else - LOGICAL, PUBLIC, PARAMETER :: lk_esopa = .FALSE. !: flag to activate the all options -#endif - -#if defined key_vectopt_memory - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_mem = .TRUE. !: vector optimization flag -#else - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_mem = .FALSE. !: vector optimization flag -#endif - -#if defined key_vectopt_loop - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_loop = .TRUE. !: vector optimization flag -#else - LOGICAL, PUBLIC, PARAMETER :: lk_vopt_loop = .FALSE. !: vector optimization flag -#endif - - !!====================================================================== -END MODULE par_oce diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/util/AA_make.gdef b/deploy/patches/ithaca/nemo/v3.2/modipsl/util/AA_make.gdef deleted file mode 100755 index cba98cd362f7231e58655dde061e45833156a895..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/util/AA_make.gdef +++ /dev/null @@ -1,925 +0,0 @@ -#- -#- $Id: AA_make.gdef 1031 2010-05-21 09:25:35Z mafoipsl $ -#- -#- Validate the correlation between the target and the environment -#- -UTIL_DIR = '??' -WW_h_t = $(shell cat $(UTIL_DIR)/.host_target) -WW_h_w = $(shell $(UTIL_DIR)/w_i_h) -WW_t_e = $(shell $(UTIL_DIR)/w_i_e $(WW_h_t) $(WW_h_w)) -ifeq "$(WW_t_e)" "NO" - $(error ) -endif -#- -#-Q- Darwin #- Global definitions for Mac OSX, gfortran -#-Q- Darwin M_K = make -#-Q- Darwin P_C = cpp -#-Q- Darwin P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- Darwin F_C = gfortran -c -#-Q- Darwin #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan -#-Q- Darwin #-D- MN F_D = -#-Q- Darwin #-P- I4R4 F_P = -#-Q- Darwin #-P- I4R8 F_P = -fdefault-real-8 -#-Q- Darwin #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- Darwin w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- Darwin F_O = $(w_w) -J$(MODDIR) -#-Q- Darwin F_L = gfortran -#-Q- Darwin M_M = 0 -#-Q- Darwin L_X = 0 -#-Q- Darwin L_O = -#-Q- Darwin A_C = ar -rs -#-Q- Darwin A_G = ar -x -#-Q- Darwin C_C = cc -c -#-Q- Darwin C_O = -#-Q- Darwin C_L = cc -#-Q- Darwin #- -#-Q- Darwin NCDF_INC = /usr/install/include -#-Q- Darwin NCDF_LIB = -L/usr/install/lib -lnetcdf -#-Q- Darwin #- -#-Q- Darwin_g95 #- Global definitions for Mac OSX, g95 -#-Q- Darwin_g95 M_K = make -#-Q- Darwin_g95 P_C = cpp -#-Q- Darwin_g95 P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- Darwin_g95 F_C = g95 -c -#-Q- Darwin_g95 #-D- MD F_D = -g -Wall -fbounds-check -#-Q- Darwin_g95 #-D- MN F_D = -#-Q- Darwin_g95 #-P- I4R4 F_P = -i4 -#-Q- Darwin_g95 #-P- I4R8 F_P = -i4 -r8 -#-Q- Darwin_g95 #-P- I8R8 F_P = -i8 -r8 -#-Q- Darwin_g95 w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- Darwin_g95 F_O = $(w_w) -fmod=$(MODDIR) -#-Q- Darwin_g95 F_L = g95 -#-Q- Darwin_g95 M_M = 0 -#-Q- Darwin_g95 L_X = 0 -#-Q- Darwin_g95 L_O = -#-Q- Darwin_g95 A_C = ar -rs -#-Q- Darwin_g95 A_G = ar -x -#-Q- Darwin_g95 C_C = cc -c -#-Q- Darwin_g95 C_O = -#-Q- Darwin_g95 C_L = cc -#-Q- Darwin_g95 #- -#-Q- Darwin_g95 NCDF_INC = /usr/install/include -#-Q- Darwin_g95 NCDF_LIB = -L/usr/install/lib -lnetcdf -#-Q- Darwin_g95 #- -#-Q- aix #- Global definitions for IBM AIX (MPP) -#-Q- aix LIB_MPI = MPI1 -#-Q- aix LIB_MPI_BIS = MPI1 -#-Q- aix PRISM_ARCH = AIX -#-Q- aix PRISM_NAME = zahir -#-Q- aix FCM_ARCH = AIX_ZAHIR -#-Q- aix M_K = gmake -#-Q- aix P_C = /usr/lib/cpp -#-Q- aix P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- aix F_C = mpxlf90_r -c -#-Q- aix #-D- MD F_D = -#-Q- aix #-D- MN F_D = -#-Q- aix #-P- I4R4 F_P = -qrealsize=4 -#-Q- aix #-P- I4R8 F_P = -qrealsize=8 -#-Q- aix #-P- I8R8 F_P = -#-Q- aix w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- aix F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- aix F_L = mpxlf90_r -#-Q- aix M_M = 0 -#-Q- aix L_X = 0 -#-Q- aix L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- aix A_C = ar -rs -X64 -#-Q- aix A_G = ar -x -X64 -#-Q- aix C_C = cc -c -#-Q- aix C_O = -O -#-Q- aix C_L = cc -#-Q- aix #- -#-Q- aix NCDF_INC = /usr/local/pub/include -#-Q- aix NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- aix #- -#-Q- aix6 #- Global definitions for IBM AIX Power6 (MPP) -#-Q- aix6 LIB_MPI = MPI1 -#-Q- aix6 LIB_MPI_BIS = MPI1 -#-Q- aix6 PRISM_ARCH = AIX6 -#-Q- aix6 PRISM_NAME = vargas -#-Q- aix6 FCM_ARCH = PW6_VARGAS -#-Q- aix6 M_K = gmake -#-Q- aix6 P_C = /usr/lib/cpp -#-Q- aix6 P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- aix6 F_C = mpxlf90_r -c -#-Q- aix6 #-D- MD F_D = -#-Q- aix6 #-D- MN F_D = -#-Q- aix6 #-P- I4R4 F_P = -qrealsize=4 -#-Q- aix6 #-P- I4R8 F_P = -qrealsize=8 -#-Q- aix6 #-P- I8R8 F_P = -#-Q- aix6 #w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- aix6 w_w = $(F_P) -O3 -qsuffix=cpp=f90 -qfree=f90 -#-Q- aix6 F_O = $(w_w) -WF,-DCPP_PARA -I$(MODDIR) -qmoddir=$(MODDIR) -qextname=flush -#-Q- aix6 F_L = mpxlf90_r -#-Q- aix6 M_M = 0 -#-Q- aix6 L_X = 0 -#-Q- aix6 L_O = $(F_P) -q64 -O3 -#-Q- aix6 A_C = ar -rs -X64 -#-Q- aix6 A_G = ar -x -X64 -#-Q- aix6 C_C = cc -c -#-Q- aix6 C_O = -O -#-Q- aix6 C_L = cc -#-Q- aix6 #- -#-Q- aix6 NCDF_INC = /usr/local/pub/NetCDF/3.6.3/include -#-Q- aix6 NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.3/lib -lnetcdf -#-Q- aix6 #- -#-Q- ax_mono #- Global definitions for IBM AIX (monoprocessing) -#-Q- ax_mono M_K = gmake -#-Q- ax_mono P_C = /usr/lib/cpp -#-Q- ax_mono P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- ax_mono F_C = xlf90_r -c -#-Q- ax_mono #-D- MD F_D = -#-Q- ax_mono #-D- MN F_D = -#-Q- ax_mono #-P- I4R4 F_P = -qrealsize=4 -#-Q- ax_mono #-P- I4R8 F_P = -qrealsize=8 -#-Q- ax_mono #-P- I8R8 F_P = -#-Q- ax_mono w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- ax_mono F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- ax_mono F_L = xlf90_r -#-Q- ax_mono M_M = 0 -#-Q- ax_mono L_X = 0 -#-Q- ax_mono L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- ax_mono A_C = ar -rs -X64 -#-Q- ax_mono A_G = ar -x -X64 -#-Q- ax_mono C_C = cc -c -#-Q- ax_mono C_O = -O -#-Q- ax_mono C_L = cc -#-Q- ax_mono #- -#-Q- ax_mono NCDF_INC = /usr/local/pub/include -#-Q- ax_mono NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- ax_mono #- -#-Q- ax6_mono #- Global definitions for IBM AIX Power6 (monoprocessing) -#-Q- ax6_mono M_K = gmake -#-Q- ax6_mono P_C = /usr/lib/cpp -#-Q- ax6_mono P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- ax6_mono F_C = xlf90_r -c -#-Q- ax6_mono #-D- MD F_D = -#-Q- ax6_mono #-D- MN F_D = -#-Q- ax6_mono #-P- I4R4 F_P = -qrealsize=4 -#-Q- ax6_mono #-P- I4R8 F_P = -qrealsize=8 -#-Q- ax6_mono #-P- I8R8 F_P = -#-Q- ax6_mono w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- ax6_mono F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- ax6_mono F_L = xlf90_r -#-Q- ax6_mono M_M = 0 -#-Q- ax6_mono L_X = 0 -#-Q- ax6_mono L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- ax6_mono A_C = ar -rs -X64 -#-Q- ax6_mono A_G = ar -x -X64 -#-Q- ax6_mono C_C = cc -c -#-Q- ax6_mono C_O = -O -#-Q- ax6_mono C_L = cc -#-Q- ax6_mono #- -#-Q- ax6_mono NCDF_INC = /usr/local/pub/NetCDF/3.6.2/include -#-Q- ax6_mono NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.2/lib -lnetcdf -#-Q- ax6_mono #- -#-Q- babel #- Global definitions for IBM Blue Gene -#-Q- babel M_K = gmake -#-Q- babel P_C = /usr/bin/cpp -#-Q- babel P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- babel F_C = mpixlf90_r -c -#-Q- babel #-D- MD F_D = -#-Q- babel #-D- MN F_D = -#-Q- babel #-P- I4R4 F_P = -qrealsize=4 -#-Q- babel #-P- I4R8 F_P = -qrealsize=8 -#-Q- babel #-P- I8R8 F_P = -#-Q- babel w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- babel F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- babel F_L = mpixlf90_r -#-Q- babel M_M = 0 -#-Q- babel L_X = 0 -#-Q- babel L_O = $(F_P) -O3 -#-Q- babel A_C = ar -rs -#-Q- babel A_G = ar -x -#-Q- babel C_C = cc -c -#-Q- babel C_O = -O -#-Q- babel C_L = cc -#-Q- babel #- -#-Q- babel NCDF_INC = /bglocal/prod/tools_ibm/netcdf-3.6.1/include -#-Q- babel NCDF_LIB = -L/bglocal/prod/tools_ibm/netcdf-3.6.1/lib -lnetcdf -#-Q- babel #- -#-Q- bgfe #- Global definitions for IBM Blue Gene Front End -#-Q- bgfe M_K = gmake -#-Q- bgfe P_C = /usr/bin/cpp -#-Q- bgfe P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- bgfe F_C = xlf90_r -c -#-Q- bgfe #-D- MD F_D = -#-Q- bgfe #-D- MN F_D = -#-Q- bgfe #-P- I4R4 F_P = -qrealsize=4 -#-Q- bgfe #-P- I4R8 F_P = -qrealsize=8 -#-Q- bgfe #-P- I8R8 F_P = -#-Q- bgfe w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- bgfe F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- bgfe F_L = xlf90_r -#-Q- bgfe M_M = 0 -#-Q- bgfe L_X = 0 -#-Q- bgfe L_O = $(F_P) -O3 -#-Q- bgfe A_C = ar -rs -#-Q- bgfe A_G = ar -x -#-Q- bgfe C_C = cc -c -#-Q- bgfe C_O = -O -#-Q- bgfe C_L = cc -#-Q- bgfe #- -#-Q- bgfe NCDF_INC = /local/pub/netcdf/netcdf-3.6.2/include -#-Q- bgfe NCDF_LIB = -L/local/pub/netcdf/netcdf-3.6.2/lib -lnetcdf -#-Q- bgfe #- -#-Q- cesium #- Global definitions for Cesium at CCRT -#-Q- cesium M_K = gmake -#-Q- cesium P_C = cpp -#-Q- cesium P_O = -P -C $(P_P) -#-Q- cesium F_C = ifort -c -#-Q- cesium #-D- MD F_D = -g -#-Q- cesium #-D- MN F_D = -#-Q- cesium #-P- I4R4 F_P = -i4 -#-Q- cesium #-P- I4R8 F_P = -i4 -r8 -#-Q- cesium #-P- I8R8 F_P = -i8 -r8 -#-Q- cesium F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- cesium F_L = ifort -#-Q- cesium M_M = 0 -#-Q- cesium L_X = 0 -#-Q- cesium L_O = -Vaxlib -#-Q- cesium A_C = ar -r -#-Q- cesium A_G = ar -x -#-Q- cesium C_C = cc -c -#-Q- cesium C_O = -#-Q- cesium C_L = cc -#-Q- cesium #- -#-Q- cesium NCDF_INC = /applications/netcdf-3.6.3/include -#-Q- cesium NCDF_LIB = -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf -#-Q- cesium #- -#-Q- cray #- Obsolete definitions for CRAY -#-Q- cray M_K = make -#-Q- cray P_C = cpp -#-Q- cray P_O = -P -C $(P_P) -#-Q- cray F_C = f90 -c -#-Q- cray #-D- MD F_D = -#-Q- cray #-D- MN F_D = -#-Q- cray #-P- I4R4 F_P = -#-Q- cray #-P- I4R8 F_P = -#-Q- cray #-P- I8R8 F_P = -#-Q- cray F_O = $(F_D) $(F_P) -v -p $(MODEL_LIB) -#-Q- cray F_L = f90 -#-Q- cray M_M = 0 -#-Q- cray L_X = 0 -#-Q- cray L_O = -#-Q- cray A_C = bld -r -#-Q- cray A_G = bld -x -#-Q- cray C_C = cc -c -#-Q- cray C_O = -Wall -#-Q- cray C_L = cc -#-Q- cray #- -#-Q- cray NCDF_INC = /usr/local/pub/include -#-Q- cray NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- cray #- -#-Q- eshpux #- Global definitions for hpux used as Earth Simulator front-end (moon) -#-Q- eshpux LIB_MPI = MPI1 -#-Q- eshpux LIB_MPI_BIS = MPI1 -#-Q- eshpux PRISM_ARCH = ES -#-Q- eshpux PRISM_NAME = moon -#-Q- eshpux FCM_ARCH = ES_MOON -#-Q- eshpux M_K = gmake -#-Q- eshpux P_C = escpp -#-Q- eshpux # FTRACE used for profiling -#-Q- eshpux FTRACE = -ftrace -#-Q- eshpux # FTRACE = -#-Q- eshpux P_O = -P -C $(P_P) -#-Q- eshpux F_C = esmpif90 -c -#-Q- eshpux #-D- MD F_D = -#-Q- eshpux #-D- MN F_D = -#-Q- eshpux #-P- I4R4 F_P = -dW -#-Q- eshpux #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- eshpux #-P- I8R8 F_P = -ew -#-Q- eshpux F_O = $(F_D) $(F_P) $(FTRACE) -Ep -DCPP_PARA -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- eshpux F_L = esmpif90 -#-Q- eshpux M_M = 1 -#-Q- eshpux L_X = 1 -#-Q- eshpux L_O = $(F_P) $(FTRACE) -#-Q- eshpux A_C = ar -rv -#-Q- eshpux A_G = ar -x -#-Q- eshpux A_X = esar -rv -#-Q- eshpux C_C = esmpicc -c -#-Q- eshpux C_O = -#-Q- eshpux C_L = esmpicc -#-Q- eshpux FC_C = cc -c -#-Q- eshpux FC_O = -#-Q- eshpux FC_L = cc -#-Q- eshpux #- -#-Q- eshpux NCDF_INC = /S/home010/c0010/ES/include -#-Q- eshpux NCDF_LIB = -L/S/home010/c0010/ES/lib -lnetcdf -#-Q- eshpux #- -#-Q- fjvpp #- Obsolete definitions for FUJITSU VPP -#-Q- fjvpp M_K = gmake -#-Q- fjvpp P_C = cpp -#-Q- fjvpp P_O = -P -C $(P_P) -#-Q- fjvpp F_C = frt -c -#-Q- fjvpp #-D- MD F_D = -#-Q- fjvpp #-D- MN F_D = -#-Q- fjvpp #-P- I4R4 F_P = -AD -#-Q- fjvpp #-P- I4R8 F_P = -Ad -#-Q- fjvpp #-P- I8R8 F_P = -Ad -#-Q- fjvpp w_w = -X9 -Oe -Sw $(F_D) $(F_P) -Am -M$(MODDIR) -#-Q- fjvpp F_O = $(w_w) -Of -Wv,-Of,-ilfunc,-preload -#-Q- fjvpp F_L = frt -#-Q- fjvpp M_M = 0 -#-Q- fjvpp L_X = 0 -#-Q- fjvpp L_O = -Wg,-c -Wl,-J,-t,-dy -#-Q- fjvpp A_C = ar -r -#-Q- fjvpp A_G = ar -x -#-Q- fjvpp C_C = cc -c -#-Q- fjvpp C_O = -#-Q- fjvpp C_L = cc -#-Q- fjvpp #- -#-Q- fjvpp NCDF_INC = /usr/local/include/netcdf -#-Q- fjvpp NCDF_LIB = /usr/local/lib/netcdf/libnetcdf.a -#-Q- fjvpp #- -#-Q- g95 #- Global definitions for gnu g95 compiler -#-Q- g95 M_K = gmake -#-Q- g95 P_C = cpp -#-Q- g95 P_O = -P -C -traditional $(P_P) -#-Q- g95 F_C = g95 -c -#-Q- g95 #-D- MD F_D = -#-Q- g95 #-D- MN F_D = -#-Q- g95 #-P- I4R4 F_P = -i4 -#-Q- g95 #-P- I4R8 F_P = -i4 -r8 -#-Q- g95 #-P- I8R8 F_P = -i8 -r8 -#-Q- g95 w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- g95 F_O = $(w_w) -fmod=$(MODDIR) -fno-second-underscore -#-Q- g95 F_L = g95 -#-Q- g95 M_M = 0 -#-Q- g95 L_X = 0 -#-Q- g95 L_O = -#-Q- g95 A_C = ar -r -#-Q- g95 A_G = ar -x -#-Q- g95 C_C = cc -c -#-Q- g95 C_O = -#-Q- g95 C_L = cc -#-Q- g95 #- -#-Q- g95 NCDF_INC = /usr/local/include -#-Q- g95 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- g95 #- -#-Q- gfortran #- Global definitions for gfortran, generic system -#-Q- gfortran M_K = make -#-Q- gfortran P_C = cpp -#-Q- gfortran P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- gfortran F_C = gfortran -c -#-Q- gfortran #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan -#-Q- gfortran #-D- MN F_D = -#-Q- gfortran #-P- I4R4 F_P = -#-Q- gfortran #-P- I4R8 F_P = -fdefault-real-8 -#-Q- gfortran #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- gfortran w_w = -O3 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- gfortran F_O = $(w_w) -J$(MODDIR) -#-Q- gfortran F_L = gfortran -#-Q- gfortran M_M = 0 -#-Q- gfortran L_X = 0 -#-Q- gfortran L_O = -#-Q- gfortran A_C = ar -rs -#-Q- gfortran A_G = ar -x -#-Q- gfortran C_C = cc -c -#-Q- gfortran C_O = -#-Q- gfortran C_L = cc -#-Q- gfortran #- -#-Q- gfortran NCDF_INC = /usr/local/include -#-Q- gfortran NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- gfortran #- -#-Q- idris_tx7 #- Global definitions for NEC TX7 front-end (Brodie) at Idris, gfortran -#-Q- idris_tx7 M_K = gmake -#-Q- idris_tx7 P_C = cpp -#-Q- idris_tx7 P_O = -P -C $(P_P) -#-Q- idris_tx7 F_C = gfortran -c -#-Q- idris_tx7 #-D- MD F_D = -g -#-Q- idris_tx7 #-D- MN F_D = -#-Q- idris_tx7 #-P- I4R4 F_P = -#-Q- idris_tx7 #-P- I4R8 F_P = -fdefault-real-8 -#-Q- idris_tx7 #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- idris_tx7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -J$(MODDIR) -#-Q- idris_tx7 F_L = gfortran -#-Q- idris_tx7 M_M = 0 -#-Q- idris_tx7 L_X = 0 -#-Q- idris_tx7 L_O = -#-Q- idris_tx7 A_C = ar -r -#-Q- idris_tx7 A_G = ar -x -#-Q- idris_tx7 C_C = gcc -c -#-Q- idris_tx7 C_O = -#-Q- idris_tx7 C_L = gcc -#-Q- idris_tx7 #- -#-Q- idris_tx7 NCDF_INC = /TXlocal/pub/netcdf/netcdf-3.6.2/include -#-Q- idris_tx7 NCDF_LIB = -L/TXlocal/pub/netcdf/netcdf-3.6.2/lib -lnetcdf -#-Q- idris_tx7 #- -#-Q- linux #- Global definitions for Linux, pgf90 -#-Q- linux M_K = make -#-Q- linux P_C = /lib/cpp -#-Q- linux P_O = -P -C -traditional $(P_P) -#-Q- linux F_C = pgf90 -c -#-Q- linux #-D- MD F_D = -#-Q- linux #-D- MN F_D = -#-Q- linux #-P- I4R4 F_P = -i4 -#-Q- linux #-P- I4R8 F_P = -i4 -r8 -#-Q- linux #-P- I8R8 F_P = -i8 -r8 -#-Q- linux F_O = $(F_D) $(F_P) -Mfree -module $(MODDIR) -#-Q- linux F_L = pgf90 -#-Q- linux M_M = 0 -#-Q- linux L_X = 0 -#-Q- linux L_O = -Wl,-Bstatic -Mbounds -#-Q- linux A_C = ar -r -#-Q- linux A_G = ar -x -#-Q- linux C_C = gcc -c -#-Q- linux C_O = -Wall -#-Q- linux C_L = gcc -#-Q- linux #- -#-Q- linux NCDF_INC = /distrib/local/netcdf/pgf/include/ -#-Q- linux NCDF_LIB = -L/distrib/local/netcdf/pgf/lib/ -lnetcdf -#-Q- linux #- -#-Q- lxiv7 #- Global definitions for Linux, ifc -#-Q- lxiv7 M_K = gmake -#-Q- lxiv7 P_C = cpp -#-Q- lxiv7 P_O = -P -C $(P_P) -#-Q- lxiv7 F_C = ifc -c -#-Q- lxiv7 #-D- MD F_D = -g -#-Q- lxiv7 #-D- MN F_D = -#-Q- lxiv7 #-P- I4R4 F_P = -i4 -#-Q- lxiv7 #-P- I4R8 F_P = -i4 -r8 -#-Q- lxiv7 #-P- I8R8 F_P = -i8 -r8 -#-Q- lxiv7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- lxiv7 F_L = ifc -#-Q- lxiv7 M_M = 0 -#-Q- lxiv7 L_X = 0 -#-Q- lxiv7 L_O = -Vaxlib -#-Q- lxiv7 A_C = ar -r -#-Q- lxiv7 A_G = ar -x -#-Q- lxiv7 C_C = cc -c -#-Q- lxiv7 C_O = -#-Q- lxiv7 C_L = cc -#-Q- lxiv7 #- -#-Q- lxiv7 NCDF_INC = /usr/local/include -#-Q- lxiv7 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- lxiv7 #- -#-Q- lxiv8 #- Global definitions for Intel compiler (ifort) at LSCE -#-Q- lxiv8 M_K = gmake -#-Q- lxiv8 P_C = cpp -#-Q- lxiv8 P_O = -P -C $(P_P) -#-Q- lxiv8 F_C = ifort -c -cpp -#-Q- lxiv8 #-D- MD F_D = -g -#-Q- lxiv8 #-D- MN F_D = -#-Q- lxiv8 #-P- I4R4 F_P = -i4 -#-Q- lxiv8 #-P- I4R8 F_P = -i4 -r8 -#-Q- lxiv8 #-P- I8R8 F_P = -i8 -r8 -#-Q- lxiv8 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- lxiv8 F_L = ifort -#-Q- lxiv8 M_M = 0 -#-Q- lxiv8 L_X = 0 -#-Q- lxiv8 L_O = -Vaxlib -#-Q- lxiv8 A_C = ar -r -#-Q- lxiv8 A_G = ar -x -#-Q- lxiv8 C_C = cc -c -#-Q- lxiv8 C_O = -#-Q- lxiv8 C_L = cc -#-Q- lxiv8 #- -#-Q- lxiv8 NCDF_INC = /usr/local/include -#-Q- lxiv8 NCDF_LIB = -L/usr/local/lib -lnetcdff -lnetcdf -#-Q- lxiv8 #- -#-Q- osf1 #- Obsolete definitions for DEC OSF1 -#-Q- osf1 M_K = gmake -#-Q- osf1 P_C = cpp -#-Q- osf1 P_O = -P -C $(P_P) -#-Q- osf1 F_C = f90 -c -#-Q- osf1 #-D- MD F_D = -g -#-Q- osf1 #-D- MN F_D = -#-Q- osf1 #-P- I4R4 F_P = -#-Q- osf1 #-P- I4R8 F_P = -r8 -#-Q- osf1 #-P- I8R8 F_P = -i8 -r8 -#-Q- osf1 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- osf1 F_L = f90 -#-Q- osf1 M_M = 0 -#-Q- osf1 L_X = 0 -#-Q- osf1 L_O = -#-Q- osf1 A_C = ar -r -#-Q- osf1 A_G = ar -x -#-Q- osf1 C_C = cc -c -#-Q- osf1 C_O = -#-Q- osf1 C_L = cc -#-Q- osf1 #- -#-Q- osf1 NCDF_INC = /usr/local/include -#-Q- osf1 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- osf1 #- -#-Q- osxxlf #- Global definitions for Mac OS X and IBM xlf compiler -#-Q- osxxlf M_K = make -#-Q- osxxlf P_C = /usr/bin/cpp -#-Q- osxxlf P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- osxxlf F_C = xlf90 -c -#-Q- osxxlf #-D- MD F_D = -g -C -#-Q- osxxlf #-D- MN F_D = -#-Q- osxxlf #-P- I4R4 F_P = -qintsize=4 -qrealsize=4 -#-Q- osxxlf #-P- I4R8 F_P = -qintsize=4 -qrealsize=8 -#-Q- osxxlf #-P- I8R8 F_P = -qintsize=8 -qrealsize=8 -#-Q- osxxlf w_w = $(F_P) -O2 $(F_D) -qsuffix=f=f90 -#-Q- osxxlf F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- osxxlf F_L = xlf90 -#-Q- osxxlf M_M = 0 -#-Q- osxxlf L_X = 0 -#-Q- osxxlf L_O = $(F_P) -O2 -#-Q- osxxlf A_C = ar -rs -#-Q- osxxlf A_G = ar -x -#-Q- osxxlf C_C = cc -c -#-Q- osxxlf C_O = -#-Q- osxxlf C_L = cc -#-Q- osxxlf #- -#-Q- osxxlf NCDF_INC = /usr/local/install/netcdf-3.6.0-p1/include -#-Q- osxxlf NCDF_LIB = -L/usr/local/install/netcdf-3.6.0-p1/lib -lnetcdf -#-Q- osxxlf #- -#-Q- platine #- Global definitions for Bull (Itanium) at CCRT -#-Q- platine #LIB_MPI = MPI1 -#-Q- platine #LIB_MPI_BIS = MPI1 -#-Q- platine #PRISM_ARCH = IA64 -#-Q- platine #PRISM_NAME = platine -#-Q- platine #FCM_ARCH = IA64_PLATINE -#-Q- platine M_K = gmake -#-Q- platine P_C = cpp -#-Q- platine P_O = -P -C $(P_P) -#-Q- platine F_C = mpif90 -c -cpp -#-Q- platine #-D- MD F_D = -g -#-Q- platine #-D- MN F_D = -#-Q- platine #-P- I4R4 F_P = -i4 -#-Q- platine #-P- I4R8 F_P = -i4 -r8 -#-Q- platine #-P- I8R8 F_P = -i8 -r8 -#-Q- platine F_O = -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- platine F_L = mpif90 -#-Q- platine M_M = 0 -#-Q- platine L_X = 0 -#-Q- platine L_O = -#-Q- platine A_C = ar -r -#-Q- platine A_G = ar -x -#-Q- platine C_C = cc -c -#-Q- platine C_O = -#-Q- platine C_L = cc -#-Q- platine #- -#-Q- platine NCDF_INC = /scratch/cfu/opt/netcdf-3.6.3/intel12/include -#-Q- platine NCDF_LIB = -L/scratch/cfu/opt/netcdf-3.6.3/intel12/lib -lnetcdf -#-Q- sgi6 #- Global definitions for IRIX64 (sgi6) -#-Q- sgi6 M_K = gmake -#-Q- sgi6 P_C = cpp -#-Q- sgi6 P_O = -P -C $(P_P) -#-Q- sgi6 F_C = f90 -c -#-Q- sgi6 #-D- MD F_D = -#-Q- sgi6 #-D- MN F_D = -#-Q- sgi6 #-P- I4R4 F_P = -i4 -r4 -#-Q- sgi6 #-P- I4R8 F_P = -i4 -r8 -#-Q- sgi6 #-P- I8R8 F_P = -i8 -r8 -#-Q- sgi6 F_O = $(F_D) $(F_P) -I $(MODDIR) -#-Q- sgi6 F_L = f90 -#-Q- sgi6 M_M = 0 -#-Q- sgi6 L_X = 0 -#-Q- sgi6 L_O = -#-Q- sgi6 A_C = ar -r -#-Q- sgi6 A_G = ar -x -#-Q- sgi6 C_C = cc -c -#-Q- sgi6 C_O = -#-Q- sgi6 C_L = cc -#-Q- sgi6 #- -#-Q- sgi6 NCDF_INC = /usr/local/pub/include -#-Q- sgi6 NCDF_LIB = -L/usr/local/pub/lib64 -lnetcdf -#-Q- sgi6 #- -#-Q- solaris #- Global definitions for SOLARIS -#-Q- solaris M_K = make -#-Q- solaris P_C = cpp -#-Q- solaris P_O = -P -C $(P_P) -#-Q- solaris F_C = f90 -c -#-Q- solaris #-D- MD F_D = -#-Q- solaris #-D- MN F_D = -#-Q- solaris #-P- I4R4 F_P = -#-Q- solaris #-P- I4R8 F_P = -r8const -#-Q- solaris #-P- I8R8 F_P = -i8const -r8const -#-Q- solaris F_O = $(F_D) $(F_P) -M$(MODDIR) -fast -#-Q- solaris F_L = f90 -#-Q- solaris M_M = 1 -#-Q- solaris L_X = 0 -#-Q- solaris L_O = -#-Q- solaris A_C = ar -r -#-Q- solaris A_G = ar -x -#-Q- solaris C_C = cc -c -#-Q- solaris C_O = -#-Q- solaris C_L = cc -#-Q- solaris #- -#-Q- solaris NCDF_INC = /distrib/local/include -#-Q- solaris NCDF_LIB = -L/distrib/local/lib -lnetcdf -#-Q- solaris #- -#-Q- sx6nec #- Global definitions for NEC SX8 at CCRT (alias) -#-Q- sx6nec LIB_MPI = MPI1 -#-Q- sx6nec LIB_MPI_BIS = MPI1 -#-Q- sx6nec PRISM_ARCH = SX -#-Q- sx6nec PRISM_NAME = mercure -#-Q- sx6nec FCM_ARCH = SX8_MERCURE -#-Q- sx6nec M_K = sxgmake -#-Q- sx6nec P_C = cpp -#-Q- sx6nec P_O = -P -C $(P_P) -#-Q- sx6nec F_C = sxmpif90 -c -#-Q- sx6nec #-D- MD F_D = -#-Q- sx6nec #-D- MN F_D = -#-Q- sx6nec #-P- I4R4 F_P = -dW -#-Q- sx6nec #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx6nec #-P- I8R8 F_P = -ew -#-Q- sx6nec F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx6nec F_L = sxmpif90 -#-Q- sx6nec M_M = 1 -#-Q- sx6nec L_X = 0 -#-Q- sx6nec L_O = -size_t64 $(F_P) -#-Q- sx6nec A_C = sxar -rv -#-Q- sx6nec A_G = sxar -x -#-Q- sx6nec A_X = sxar -rv -#-Q- sx6nec C_C = sxcc -size_t64 -c -#-Q- sx6nec C_O = -#-Q- sx6nec C_L = sxcc -size_t64 -#-Q- sx6nec FC_C = gcc -c -#-Q- sx6nec FC_O = -#-Q- sx6nec FC_L = gcc -#-Q- sx6nec #- -#-Q- sx6nec NCDF_INC = /usr/local/SX8/soft/netcdf/include -#-Q- sx6nec NCDF_LIB = -L/usr/local/SX8/soft/netcdf/lib -lnetcdf -#-Q- sx6nec #- -#-Q- sx8brodie #- Global definitions for NEC SX8 at Idris -#-Q- sx8brodie LIB_MPI = MPI1 -#-Q- sx8brodie LIB_MPI_BIS = MPI1 -#-Q- sx8brodie PRISM_ARCH = SX -#-Q- sx8brodie PRISM_NAME = brodie -#-Q- sx8brodie FCM_ARCH = SX8_BRODIE -#-Q- sx8brodie M_K = sxgmake -#-Q- sx8brodie P_C = sxcpp -#-Q- sx8brodie P_O = -P -C $(P_P) -#-Q- sx8brodie F_C = sxmpif90 -c -#-Q- sx8brodie #-D- MD F_D = -#-Q- sx8brodie #-D- MN F_D = -#-Q- sx8brodie #-P- I4R4 F_P = -dW -#-Q- sx8brodie #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx8brodie #-P- I8R8 F_P = -ew -#-Q- sx8brodie F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -I $(MODDIR) -#-Q- sx8brodie F_L = sxmpif90 -#-Q- sx8brodie M_M = 1 -#-Q- sx8brodie L_X = 0 -#-Q- sx8brodie L_O = $(F_P) -#-Q- sx8brodie A_C = sxar -rv -#-Q- sx8brodie A_G = sxar -x -#-Q- sx8brodie A_X = sxar -rv -#-Q- sx8brodie C_C = sxcc -c -#-Q- sx8brodie C_O = -#-Q- sx8brodie C_L = sxcc -#-Q- sx8brodie FC_C = gcc -c -#-Q- sx8brodie FC_O = -#-Q- sx8brodie FC_L = gcc -#-Q- sx8brodie #- -#-Q- sx8brodie NCDF_INC = /SXlocal/pub/netCDF/netCDF-3.6.1/include -#-Q- sx8brodie NCDF_LIB = -L/SXlocal/pub/netCDF/netCDF-3.6.1/lib -lnetcdf -#-Q- sx8brodie #- -#-Q- sx8mercure #- Global definitions for NEC SX8 at CCRT -#-Q- sx8mercure LIB_MPI = MPI1 -#-Q- sx8mercure LIB_MPI_BIS = MPI1 -#-Q- sx8mercure PRISM_ARCH = SX -#-Q- sx8mercure PRISM_NAME = mercure -#-Q- sx8mercure FCM_ARCH = SX8_MERCURE -#-Q- sx8mercure M_K = sxgmake -#-Q- sx8mercure P_C = cpp -#-Q- sx8mercure P_O = -P -C $(P_P) -#-Q- sx8mercure F_C = sxmpif90 -c -#-Q- sx8mercure #-D- MD F_D = -#-Q- sx8mercure #-D- MN F_D = -#-Q- sx8mercure #-P- I4R4 F_P = -dW -#-Q- sx8mercure #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx8mercure #-P- I8R8 F_P = -ew -#-Q- sx8mercure F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx8mercure F_L = sxmpif90 -#-Q- sx8mercure M_M = 1 -#-Q- sx8mercure L_X = 0 -#-Q- sx8mercure L_O = -size_t64 $(F_P) -#-Q- sx8mercure A_C = sxar -rv -#-Q- sx8mercure A_G = sxar -x -#-Q- sx8mercure A_X = sxar -rv -#-Q- sx8mercure C_C = sxcc -size_t64 -c -#-Q- sx8mercure C_O = -#-Q- sx8mercure C_L = sxcc -size_t64 -#-Q- sx8mercure FC_C = gcc -c -#-Q- sx8mercure FC_O = -#-Q- sx8mercure FC_L = gcc -#-Q- sx8mercure #- -#-Q- sx8mercure NETCDF_SX_INCLUDEDIR ?= /usr/local/SX8/soft/netcdf/include -#-Q- sx8mercure NETCDF_SX_LIBDIR ?= /usr/local/SX8/soft/netcdf/lib -#-Q- sx8mercure NCDF_INC = ${NETCDF_SX_INCLUDEDIR} -#-Q- sx8mercure NCDF_LIB = -L${NETCDF_SX_LIBDIR} -lnetcdf -#-Q- sx8mercure #- -#-Q- sx9mercure #- Global definitions for NEC SX9 at CCRT -#-Q- sx9mercure LIB_MPI = MPI1 -#-Q- sx9mercure LIB_MPI_BIS = MPI1 -#-Q- sx9mercure PRISM_ARCH = SX -#-Q- sx9mercure PRISM_NAME = mercure -#-Q- sx9mercure FCM_ARCH = SX9_MERCURE -#-Q- sx9mercure M_K = sxgmake -#-Q- sx9mercure P_C = cpp -#-Q- sx9mercure P_O = -P -C $(P_P) -#-Q- sx9mercure F_C = sxmpif90 -c -#-Q- sx9mercure #-D- MD F_D = -#-Q- sx9mercure #-D- MN F_D = -#-Q- sx9mercure #-P- I4R4 F_P = -dW -#-Q- sx9mercure #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx9mercure #-P- I8R8 F_P = -ew -#-Q- sx9mercure F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx9mercure F_L = sxmpif90 -#-Q- sx9mercure M_M = 1 -#-Q- sx9mercure L_X = 0 -#-Q- sx9mercure L_O = -size_t64 $(F_P) -#-Q- sx9mercure A_C = sxar -rv -#-Q- sx9mercure A_G = sxar -x -#-Q- sx9mercure A_X = sxar -rv -#-Q- sx9mercure C_C = sxcc -size_t64 -c -#-Q- sx9mercure C_O = -#-Q- sx9mercure C_L = sxcc -size_t64 -#-Q- sx9mercure FC_C = gcc -c -#-Q- sx9mercure FC_O = -#-Q- sx9mercure FC_L = gcc -#-Q- sx9mercure #- -#-Q- sx9mercure NETCDF_SX_INCLUDEDIR ?= /ccc/applications/sx9/netcdf-3.6.1/include -#-Q- sx9mercure NETCDF_SX_LIBDIR ?= /ccc/applications/sx9/netcdf-3.6.1/lib -#-Q- sx9mercure NCDF_INC = ${NETCDF_SX_INCLUDEDIR} -#-Q- sx9mercure NCDF_LIB = -L${NETCDF_SX_LIBDIR} -lnetcdf -#-Q- sx9mercure #- -#-Q- sxdkrz #- Global definitions for NEC SX8 at DKRZ -#-Q- sxdkrz LIB_MPI = MPI1 -#-Q- sxdkrz LIB_MPI_BIS = MPI1 -#-Q- sxdkrz PRISM_ARCH = SX -#-Q- sxdkrz PRISM_NAME = ds -#-Q- sxdkrz M_K = sxgmake -#-Q- sxdkrz P_C = cpp -#-Q- sxdkrz P_O = -P -C $(P_P) -#-Q- sxdkrz F_C = sxmpif90 -c -#-Q- sxdkrz #-D- MD F_D = -#-Q- sxdkrz #-D- MN F_D = -#-Q- sxdkrz #-P- I4R4 F_P = -dw -#-Q- sxdkrz #-P- I4R8 F_P = -dw -Wf\"-A idbl4\" -#-Q- sxdkrz #-P- I8R8 F_P = -ew -#-Q- sxdkrz F_O = $(F_D) $(F_P) -I $(MODDIR) -#-Q- sxdkrz F_L = sxmpif90 -#-Q- sxdkrz M_M = 1 -#-Q- sxdkrz L_X = 0 -#-Q- sxdkrz L_O = $(F_P) -#-Q- sxdkrz A_C = ar -rv -#-Q- sxdkrz A_G = ar -x -#-Q- sxdkrz A_X = sxar -rv -#-Q- sxdkrz C_C = sxcc -c -#-Q- sxdkrz C_O = -#-Q- sxdkrz C_L = sxcc -#-Q- sxdkrz FC_C = cc -c -#-Q- sxdkrz FC_O = -#-Q- sxdkrz FC_L = cc -#-Q- sxdkrz #- -#-Q- sxdkrz NCDF_INC = /pool/SX-6/netcdf/netcdf-3.5.0/include -#-Q- sxdkrz NCDF_LIB = -L/pool/SX-6/netcdf/netcdf-3.5.0/lib -lnetcdf_A_idbl4 -#-Q- sxdkrz #- -#-Q- t3e #- Obsolete definitions for T3E -#-Q- t3e M_K = gmake -#-Q- t3e P_C = cpp -#-Q- t3e P_O = -P -C $(P_P) -#-Q- t3e F_C = f90 -c -#-Q- t3e #-D- MD F_D = -#-Q- t3e #-D- MN F_D = -#-Q- t3e #-P- I4R4 F_P = -#-Q- t3e #-P- I4R8 F_P = -#-Q- t3e #-P- I8R8 F_P = -#-Q- t3e w_w = $(F_D) $(F_P) -rm -O2 -Ounroll2 -Osplit2 -dp -#-Q- t3e F_O = $(w_w) -p $(MODEL_LIB) -#-Q- t3e F_L = f90 -#-Q- t3e M_M = 0 -#-Q- t3e L_X = 0 -#-Q- t3e L_O = -X 4 -#-Q- t3e A_C = ar -r -#-Q- t3e A_G = ar -x -#-Q- t3e C_C = cc -c -#-Q- t3e C_O = -Wall -#-Q- t3e C_L = cc -#-Q- t3e #- -#-Q- t3e NCDF_INC = /usr/local/pub/include -#-Q- t3e NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- t3e #- -#-Q- titane #- Global definitions for Bull (Xeon) at CCRT -#-Q- titane #LIB_MPI = MPI1 -#-Q- titane #LIB_MPI_BIS = MPI1 -#-Q- titane #PRISM_ARCH = X64 -#-Q- titane #PRISM_NAME = titane -#-Q- titane #FCM_ARCH = X64_TITANE -#-Q- titane M_K = gmake -#-Q- titane P_C = cpp -#-Q- titane P_O = -P -C $(P_P) -#-Q- titane F_C = mpif90 -c -cpp -#-Q- titane #-D- MD F_D = -g -#-Q- titane #-D- MN F_D = -#-Q- titane #-P- I4R4 F_P = -i4 -#-Q- titane #-P- I4R8 F_P = -i4 -r8 -#-Q- titane #-P- I8R8 F_P = -i8 -r8 -#-Q- titane F_O = -DCPP_PARA -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- titane F_L = mpif90 -#-Q- titane M_M = 0 -#-Q- titane L_X = 0 -#-Q- titane L_O = -#-Q- titane A_C = ar -r -#-Q- titane A_G = ar -x -#-Q- titane C_C = cc -c -#-Q- titane C_O = -#-Q- titane C_L = cc -#-Q- titane #- -#-Q- titane NCDF_INC = /share/apps/netcdf-3.6.3/intel11/include -#-Q- titane NCDF_LIB = -L/share/apps/netcdf-3.6.3/intel11/lib -lnetcdff -lnetcdf -#-Q- titane #- -#-Q- tx7 #- Global definitions for NEC TX7 front-end (Mercure) at CCRT, ifort -#-Q- tx7 M_K = gmake -#-Q- tx7 P_C = cpp -#-Q- tx7 P_O = -P -C $(P_P) -#-Q- tx7 F_C = ifort -c -#-Q- tx7 #-D- MD F_D = -g -#-Q- tx7 #-D- MN F_D = -#-Q- tx7 #-P- I4R4 F_P = -i4 -#-Q- tx7 #-P- I4R8 F_P = -i4 -r8 -#-Q- tx7 #-P- I8R8 F_P = -i8 -r8 -#-Q- tx7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- tx7 F_L = ifort -#-Q- tx7 M_M = 0 -#-Q- tx7 L_X = 0 -#-Q- tx7 L_O = -Vaxlib -#-Q- tx7 A_C = ar -r -#-Q- tx7 A_G = ar -x -#-Q- tx7 C_C = cc -c -#-Q- tx7 C_O = -#-Q- tx7 C_L = cc -#-Q- tx7 #- -#-Q- tx7 NCDF_INC = /usr/local/include -#-Q- tx7 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- tx7 #- -#-Q- ulam #- Global definitions for ulam at IDRIS -#-Q- ulam M_K = gmake -#-Q- ulam P_C = cpp -#-Q- ulam P_O = -P -C $(P_P) -#-Q- ulam F_C = ifort -c -cpp -#-Q- ulam #-D- MD F_D = -g -#-Q- ulam #-D- MN F_D = -#-Q- ulam #-P- I4R4 F_P = -i4 -#-Q- ulam #-P- I4R8 F_P = -i4 -r8 -#-Q- ulam #-P- I8R8 F_P = -i8 -r8 -#-Q- ulam F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- ulam F_L = ifort -#-Q- ulam M_M = 0 -#-Q- ulam L_X = 0 -#-Q- ulam L_O = -Vaxlib -#-Q- ulam A_C = ar -r -#-Q- ulam A_G = ar -x -#-Q- ulam C_C = cc -c -#-Q- ulam C_O = -#-Q- ulam C_L = cc -#-Q- ulam #- -#-Q- ulam NCDF_INC = /usr/local/pub/NetCDF/3.6.3/include -#-Q- ulam NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.3/lib -lnetcdf -#-Q- ulam #- -#-Q- unix #- Skeleton definitions for UNIX -#-Q- unix M_K = make -#-Q- unix P_C = cpp -#-Q- unix P_O = -P -C $(P_P) -#-Q- unix F_C = f90 -c -#-Q- unix #-D- MD F_D = -#-Q- unix #-D- MN F_D = -#-Q- unix #-P- I4R4 F_P = -#-Q- unix #-P- I4R8 F_P = -#-Q- unix #-P- I8R8 F_P = -#-Q- unix F_O = $(F_D) $(F_P) -M$(MODDIR) -#-Q- unix F_L = f90 -#-Q- unix M_M = 0 -#-Q- unix L_X = 0 -#-Q- unix L_O = -#-Q- unix A_C = ar -r -#-Q- unix A_G = ar -x -#-Q- unix C_C = cc -c -#-Q- unix C_O = -#-Q- unix C_L = cc -#-Q- unix #- -#-Q- unix NCDF_INC = /distrib/local/include -#-Q- unix NCDF_LIB = -L/distrib/local/lib -lnetcdf -#-Q- unix #- -#-Q- x86_64 #- Global definitions for new mercure front-end at CCRT (05/2010) -#-Q- x86_64 M_K = gmake -#-Q- x86_64 P_C = cpp -#-Q- x86_64 P_O = -P -C $(P_P) -#-Q- x86_64 F_C = ifort -c -#-Q- x86_64 #-D- MD F_D = -g -#-Q- x86_64 #-D- MN F_D = -#-Q- x86_64 #-P- I4R4 F_P = -i4 -#-Q- x86_64 #-P- I4R8 F_P = -i4 -r8 -#-Q- x86_64 #-P- I8R8 F_P = -i8 -r8 -#-Q- x86_64 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- x86_64 F_L = ifort -#-Q- x86_64 M_M = 0 -#-Q- x86_64 L_X = 0 -#-Q- x86_64 L_O = -Vaxlib -#-Q- x86_64 A_C = ar -r -#-Q- x86_64 A_G = ar -x -#-Q- x86_64 C_C = cc -c -#-Q- x86_64 C_O = -#-Q- x86_64 C_L = cc -#-Q- x86_64 #- -#-Q- x86_64 NCDF_INC = /applications/netcdf-3.6.3/include -#-Q- x86_64 NCDF_LIB = -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf -#-Q- x86_64 #- -RM = rm -f -STRIP = strip -SIZE = size diff --git a/deploy/patches/ithaca/nemo/v3.2/modipsl/util/AA_make.gdef_orig b/deploy/patches/ithaca/nemo/v3.2/modipsl/util/AA_make.gdef_orig deleted file mode 100755 index 3edfaf0eebf2b4c4b0b875d8677bfc539bd1e026..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.2/modipsl/util/AA_make.gdef_orig +++ /dev/null @@ -1,926 +0,0 @@ -#- -#- $Id: AA_make.gdef 1031 2010-05-21 09:25:35Z mafoipsl $ -#- -#- Validate the correlation between the target and the environment -#- -UTIL_DIR = '??' -WW_h_t = $(shell cat $(UTIL_DIR)/.host_target) -WW_h_w = $(shell $(UTIL_DIR)/w_i_h) -WW_t_e = $(shell $(UTIL_DIR)/w_i_e $(WW_h_t) $(WW_h_w)) -ifeq "$(WW_t_e)" "NO" - $(error ) -endif -#- -#-Q- Darwin #- Global definitions for Mac OSX, gfortran -#-Q- Darwin M_K = make -#-Q- Darwin P_C = cpp -#-Q- Darwin P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- Darwin F_C = gfortran -c -#-Q- Darwin #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan -#-Q- Darwin #-D- MN F_D = -#-Q- Darwin #-P- I4R4 F_P = -#-Q- Darwin #-P- I4R8 F_P = -fdefault-real-8 -#-Q- Darwin #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- Darwin w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- Darwin F_O = $(w_w) -J$(MODDIR) -#-Q- Darwin F_L = gfortran -#-Q- Darwin M_M = 0 -#-Q- Darwin L_X = 0 -#-Q- Darwin L_O = -#-Q- Darwin A_C = ar -rs -#-Q- Darwin A_G = ar -x -#-Q- Darwin C_C = cc -c -#-Q- Darwin C_O = -#-Q- Darwin C_L = cc -#-Q- Darwin #- -#-Q- Darwin NCDF_INC = /usr/install/include -#-Q- Darwin NCDF_LIB = -L/usr/install/lib -lnetcdf -#-Q- Darwin #- -#-Q- Darwin_g95 #- Global definitions for Mac OSX, g95 -#-Q- Darwin_g95 M_K = make -#-Q- Darwin_g95 P_C = cpp -#-Q- Darwin_g95 P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- Darwin_g95 F_C = g95 -c -#-Q- Darwin_g95 #-D- MD F_D = -g -Wall -fbounds-check -#-Q- Darwin_g95 #-D- MN F_D = -#-Q- Darwin_g95 #-P- I4R4 F_P = -i4 -#-Q- Darwin_g95 #-P- I4R8 F_P = -i4 -r8 -#-Q- Darwin_g95 #-P- I8R8 F_P = -i8 -r8 -#-Q- Darwin_g95 w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- Darwin_g95 F_O = $(w_w) -fmod=$(MODDIR) -#-Q- Darwin_g95 F_L = g95 -#-Q- Darwin_g95 M_M = 0 -#-Q- Darwin_g95 L_X = 0 -#-Q- Darwin_g95 L_O = -#-Q- Darwin_g95 A_C = ar -rs -#-Q- Darwin_g95 A_G = ar -x -#-Q- Darwin_g95 C_C = cc -c -#-Q- Darwin_g95 C_O = -#-Q- Darwin_g95 C_L = cc -#-Q- Darwin_g95 #- -#-Q- Darwin_g95 NCDF_INC = /usr/install/include -#-Q- Darwin_g95 NCDF_LIB = -L/usr/install/lib -lnetcdf -#-Q- Darwin_g95 #- -#-Q- aix #- Global definitions for IBM AIX (MPP) -#-Q- aix LIB_MPI = MPI1 -#-Q- aix LIB_MPI_BIS = MPI1 -#-Q- aix PRISM_ARCH = AIX -#-Q- aix PRISM_NAME = zahir -#-Q- aix FCM_ARCH = AIX_ZAHIR -#-Q- aix M_K = gmake -#-Q- aix P_C = /usr/lib/cpp -#-Q- aix P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- aix F_C = mpxlf90_r -c -#-Q- aix #-D- MD F_D = -#-Q- aix #-D- MN F_D = -#-Q- aix #-P- I4R4 F_P = -qrealsize=4 -#-Q- aix #-P- I4R8 F_P = -qrealsize=8 -#-Q- aix #-P- I8R8 F_P = -#-Q- aix w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- aix F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- aix F_L = mpxlf90_r -#-Q- aix M_M = 0 -#-Q- aix L_X = 0 -#-Q- aix L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- aix A_C = ar -rs -X64 -#-Q- aix A_G = ar -x -X64 -#-Q- aix C_C = cc -c -#-Q- aix C_O = -O -#-Q- aix C_L = cc -#-Q- aix #- -#-Q- aix NCDF_INC = /usr/local/pub/include -#-Q- aix NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- aix #- -#-Q- aix6 #- Global definitions for IBM AIX Power6 (MPP) -#-Q- aix6 LIB_MPI = MPI1 -#-Q- aix6 LIB_MPI_BIS = MPI1 -#-Q- aix6 PRISM_ARCH = AIX6 -#-Q- aix6 PRISM_NAME = vargas -#-Q- aix6 FCM_ARCH = PW6_VARGAS -#-Q- aix6 M_K = gmake -#-Q- aix6 P_C = /usr/lib/cpp -#-Q- aix6 P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- aix6 F_C = mpxlf90_r -c -#-Q- aix6 #-D- MD F_D = -#-Q- aix6 #-D- MN F_D = -#-Q- aix6 #-P- I4R4 F_P = -qrealsize=4 -#-Q- aix6 #-P- I4R8 F_P = -qrealsize=8 -#-Q- aix6 #-P- I8R8 F_P = -#-Q- aix6 #w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- aix6 w_w = $(F_P) -O3 -qsuffix=cpp=f90 -qfree=f90 -#-Q- aix6 F_O = $(w_w) -WF,-DCPP_PARA -I$(MODDIR) -qmoddir=$(MODDIR) -qextname=flush -#-Q- aix6 F_L = mpxlf90_r -#-Q- aix6 M_M = 0 -#-Q- aix6 L_X = 0 -#-Q- aix6 L_O = $(F_P) -q64 -O3 -#-Q- aix6 A_C = ar -rs -X64 -#-Q- aix6 A_G = ar -x -X64 -#-Q- aix6 C_C = cc -c -#-Q- aix6 C_O = -O -#-Q- aix6 C_L = cc -#-Q- aix6 #- -#-Q- aix6 NCDF_INC = /usr/local/pub/NetCDF/3.6.3/include -#-Q- aix6 NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.3/lib -lnetcdf -#-Q- aix6 #- -#-Q- ax_mono #- Global definitions for IBM AIX (monoprocessing) -#-Q- ax_mono M_K = gmake -#-Q- ax_mono P_C = /usr/lib/cpp -#-Q- ax_mono P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- ax_mono F_C = xlf90_r -c -#-Q- ax_mono #-D- MD F_D = -#-Q- ax_mono #-D- MN F_D = -#-Q- ax_mono #-P- I4R4 F_P = -qrealsize=4 -#-Q- ax_mono #-P- I4R8 F_P = -qrealsize=8 -#-Q- ax_mono #-P- I8R8 F_P = -#-Q- ax_mono w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- ax_mono F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- ax_mono F_L = xlf90_r -#-Q- ax_mono M_M = 0 -#-Q- ax_mono L_X = 0 -#-Q- ax_mono L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- ax_mono A_C = ar -rs -X64 -#-Q- ax_mono A_G = ar -x -X64 -#-Q- ax_mono C_C = cc -c -#-Q- ax_mono C_O = -O -#-Q- ax_mono C_L = cc -#-Q- ax_mono #- -#-Q- ax_mono NCDF_INC = /usr/local/pub/include -#-Q- ax_mono NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- ax_mono #- -#-Q- ax6_mono #- Global definitions for IBM AIX Power6 (monoprocessing) -#-Q- ax6_mono M_K = gmake -#-Q- ax6_mono P_C = /usr/lib/cpp -#-Q- ax6_mono P_O = -P -I/usr/lpp/ppe.poe/include/thread64 -C $(P_P:-WF,-D%=-D%) -#-Q- ax6_mono F_C = xlf90_r -c -#-Q- ax6_mono #-D- MD F_D = -#-Q- ax6_mono #-D- MN F_D = -#-Q- ax6_mono #-P- I4R4 F_P = -qrealsize=4 -#-Q- ax6_mono #-P- I4R8 F_P = -qrealsize=8 -#-Q- ax6_mono #-P- I8R8 F_P = -#-Q- ax6_mono w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- ax6_mono F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- ax6_mono F_L = xlf90_r -#-Q- ax6_mono M_M = 0 -#-Q- ax6_mono L_X = 0 -#-Q- ax6_mono L_O = $(F_P) -q64 -bmaxdata:2000000000 -O3 -#-Q- ax6_mono A_C = ar -rs -X64 -#-Q- ax6_mono A_G = ar -x -X64 -#-Q- ax6_mono C_C = cc -c -#-Q- ax6_mono C_O = -O -#-Q- ax6_mono C_L = cc -#-Q- ax6_mono #- -#-Q- ax6_mono NCDF_INC = /usr/local/pub/NetCDF/3.6.2/include -#-Q- ax6_mono NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.2/lib -lnetcdf -#-Q- ax6_mono #- -#-Q- babel #- Global definitions for IBM Blue Gene -#-Q- babel M_K = gmake -#-Q- babel P_C = /usr/bin/cpp -#-Q- babel P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- babel F_C = mpixlf90_r -c -#-Q- babel #-D- MD F_D = -#-Q- babel #-D- MN F_D = -#-Q- babel #-P- I4R4 F_P = -qrealsize=4 -#-Q- babel #-P- I4R8 F_P = -qrealsize=8 -#-Q- babel #-P- I8R8 F_P = -#-Q- babel w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- babel F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- babel F_L = mpixlf90_r -#-Q- babel M_M = 0 -#-Q- babel L_X = 0 -#-Q- babel L_O = $(F_P) -O3 -#-Q- babel A_C = ar -rs -#-Q- babel A_G = ar -x -#-Q- babel C_C = cc -c -#-Q- babel C_O = -O -#-Q- babel C_L = cc -#-Q- babel #- -#-Q- babel NCDF_INC = /bglocal/prod/tools_ibm/netcdf-3.6.1/include -#-Q- babel NCDF_LIB = -L/bglocal/prod/tools_ibm/netcdf-3.6.1/lib -lnetcdf -#-Q- babel #- -#-Q- bgfe #- Global definitions for IBM Blue Gene Front End -#-Q- bgfe M_K = gmake -#-Q- bgfe P_C = /usr/bin/cpp -#-Q- bgfe P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- bgfe F_C = xlf90_r -c -#-Q- bgfe #-D- MD F_D = -#-Q- bgfe #-D- MN F_D = -#-Q- bgfe #-P- I4R4 F_P = -qrealsize=4 -#-Q- bgfe #-P- I4R8 F_P = -qrealsize=8 -#-Q- bgfe #-P- I8R8 F_P = -#-Q- bgfe w_w = $(F_P) -O3 -qsuffix=f=f90 -#-Q- bgfe F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- bgfe F_L = xlf90_r -#-Q- bgfe M_M = 0 -#-Q- bgfe L_X = 0 -#-Q- bgfe L_O = $(F_P) -O3 -#-Q- bgfe A_C = ar -rs -#-Q- bgfe A_G = ar -x -#-Q- bgfe C_C = cc -c -#-Q- bgfe C_O = -O -#-Q- bgfe C_L = cc -#-Q- bgfe #- -#-Q- bgfe NCDF_INC = /local/pub/netcdf/netcdf-3.6.2/include -#-Q- bgfe NCDF_LIB = -L/local/pub/netcdf/netcdf-3.6.2/lib -lnetcdf -#-Q- bgfe #- -#-Q- cesium #- Global definitions for Cesium at CCRT -#-Q- cesium M_K = gmake -#-Q- cesium P_C = cpp -#-Q- cesium P_O = -P -C $(P_P) -#-Q- cesium F_C = ifort -c -#-Q- cesium #-D- MD F_D = -g -#-Q- cesium #-D- MN F_D = -#-Q- cesium #-P- I4R4 F_P = -i4 -#-Q- cesium #-P- I4R8 F_P = -i4 -r8 -#-Q- cesium #-P- I8R8 F_P = -i8 -r8 -#-Q- cesium F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- cesium F_L = ifort -#-Q- cesium M_M = 0 -#-Q- cesium L_X = 0 -#-Q- cesium L_O = -Vaxlib -#-Q- cesium A_C = ar -r -#-Q- cesium A_G = ar -x -#-Q- cesium C_C = cc -c -#-Q- cesium C_O = -#-Q- cesium C_L = cc -#-Q- cesium #- -#-Q- cesium NCDF_INC = /applications/netcdf-3.6.3/include -#-Q- cesium NCDF_LIB = -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf -#-Q- cesium #- -#-Q- cray #- Obsolete definitions for CRAY -#-Q- cray M_K = make -#-Q- cray P_C = cpp -#-Q- cray P_O = -P -C $(P_P) -#-Q- cray F_C = f90 -c -#-Q- cray #-D- MD F_D = -#-Q- cray #-D- MN F_D = -#-Q- cray #-P- I4R4 F_P = -#-Q- cray #-P- I4R8 F_P = -#-Q- cray #-P- I8R8 F_P = -#-Q- cray F_O = $(F_D) $(F_P) -v -p $(MODEL_LIB) -#-Q- cray F_L = f90 -#-Q- cray M_M = 0 -#-Q- cray L_X = 0 -#-Q- cray L_O = -#-Q- cray A_C = bld -r -#-Q- cray A_G = bld -x -#-Q- cray C_C = cc -c -#-Q- cray C_O = -Wall -#-Q- cray C_L = cc -#-Q- cray #- -#-Q- cray NCDF_INC = /usr/local/pub/include -#-Q- cray NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- cray #- -#-Q- eshpux #- Global definitions for hpux used as Earth Simulator front-end (moon) -#-Q- eshpux LIB_MPI = MPI1 -#-Q- eshpux LIB_MPI_BIS = MPI1 -#-Q- eshpux PRISM_ARCH = ES -#-Q- eshpux PRISM_NAME = moon -#-Q- eshpux FCM_ARCH = ES_MOON -#-Q- eshpux M_K = gmake -#-Q- eshpux P_C = escpp -#-Q- eshpux # FTRACE used for profiling -#-Q- eshpux FTRACE = -ftrace -#-Q- eshpux # FTRACE = -#-Q- eshpux P_O = -P -C $(P_P) -#-Q- eshpux F_C = esmpif90 -c -#-Q- eshpux #-D- MD F_D = -#-Q- eshpux #-D- MN F_D = -#-Q- eshpux #-P- I4R4 F_P = -dW -#-Q- eshpux #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- eshpux #-P- I8R8 F_P = -ew -#-Q- eshpux F_O = $(F_D) $(F_P) $(FTRACE) -Ep -DCPP_PARA -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- eshpux F_L = esmpif90 -#-Q- eshpux M_M = 1 -#-Q- eshpux L_X = 1 -#-Q- eshpux L_O = $(F_P) $(FTRACE) -#-Q- eshpux A_C = ar -rv -#-Q- eshpux A_G = ar -x -#-Q- eshpux A_X = esar -rv -#-Q- eshpux C_C = esmpicc -c -#-Q- eshpux C_O = -#-Q- eshpux C_L = esmpicc -#-Q- eshpux FC_C = cc -c -#-Q- eshpux FC_O = -#-Q- eshpux FC_L = cc -#-Q- eshpux #- -#-Q- eshpux NCDF_INC = /S/home010/c0010/ES/include -#-Q- eshpux NCDF_LIB = -L/S/home010/c0010/ES/lib -lnetcdf -#-Q- eshpux #- -#-Q- fjvpp #- Obsolete definitions for FUJITSU VPP -#-Q- fjvpp M_K = gmake -#-Q- fjvpp P_C = cpp -#-Q- fjvpp P_O = -P -C $(P_P) -#-Q- fjvpp F_C = frt -c -#-Q- fjvpp #-D- MD F_D = -#-Q- fjvpp #-D- MN F_D = -#-Q- fjvpp #-P- I4R4 F_P = -AD -#-Q- fjvpp #-P- I4R8 F_P = -Ad -#-Q- fjvpp #-P- I8R8 F_P = -Ad -#-Q- fjvpp w_w = -X9 -Oe -Sw $(F_D) $(F_P) -Am -M$(MODDIR) -#-Q- fjvpp F_O = $(w_w) -Of -Wv,-Of,-ilfunc,-preload -#-Q- fjvpp F_L = frt -#-Q- fjvpp M_M = 0 -#-Q- fjvpp L_X = 0 -#-Q- fjvpp L_O = -Wg,-c -Wl,-J,-t,-dy -#-Q- fjvpp A_C = ar -r -#-Q- fjvpp A_G = ar -x -#-Q- fjvpp C_C = cc -c -#-Q- fjvpp C_O = -#-Q- fjvpp C_L = cc -#-Q- fjvpp #- -#-Q- fjvpp NCDF_INC = /usr/local/include/netcdf -#-Q- fjvpp NCDF_LIB = /usr/local/lib/netcdf/libnetcdf.a -#-Q- fjvpp #- -#-Q- g95 #- Global definitions for gnu g95 compiler -#-Q- g95 M_K = gmake -#-Q- g95 P_C = cpp -#-Q- g95 P_O = -P -C -traditional $(P_P) -#-Q- g95 F_C = g95 -c -#-Q- g95 #-D- MD F_D = -#-Q- g95 #-D- MN F_D = -#-Q- g95 #-P- I4R4 F_P = -i4 -#-Q- g95 #-P- I4R8 F_P = -i4 -r8 -#-Q- g95 #-P- I8R8 F_P = -i8 -r8 -#-Q- g95 w_w = -O5 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- g95 F_O = $(w_w) -fmod=$(MODDIR) -fno-second-underscore -#-Q- g95 F_L = g95 -#-Q- g95 M_M = 0 -#-Q- g95 L_X = 0 -#-Q- g95 L_O = -#-Q- g95 A_C = ar -r -#-Q- g95 A_G = ar -x -#-Q- g95 C_C = cc -c -#-Q- g95 C_O = -#-Q- g95 C_L = cc -#-Q- g95 #- -#-Q- g95 NCDF_INC = /usr/local/include -#-Q- g95 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- g95 #- -#-Q- gfortran #- Global definitions for gfortran, generic system -#-Q- gfortran M_K = make -#-Q- gfortran P_C = cpp -#-Q- gfortran P_O = -fpreprocessed -P -C -traditional $(P_P) -#-Q- gfortran F_C = gfortran -c -#-Q- gfortran #-D- MD F_D = -g -Wall -fbounds-check -pedantic -finit-real=nan -#-Q- gfortran #-D- MN F_D = -#-Q- gfortran #-P- I4R4 F_P = -#-Q- gfortran #-P- I4R8 F_P = -fdefault-real-8 -#-Q- gfortran #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- gfortran w_w = -O3 -funroll-all-loops $(F_D) $(F_P) -I$(MODDIR) -#-Q- gfortran F_O = $(w_w) -J$(MODDIR) -#-Q- gfortran F_L = gfortran -#-Q- gfortran M_M = 0 -#-Q- gfortran L_X = 0 -#-Q- gfortran L_O = -#-Q- gfortran A_C = ar -rs -#-Q- gfortran A_G = ar -x -#-Q- gfortran C_C = cc -c -#-Q- gfortran C_O = -#-Q- gfortran C_L = cc -#-Q- gfortran #- -#-Q- gfortran NCDF_INC = /usr/local/include -#-Q- gfortran NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- gfortran #- -#-Q- idris_tx7 #- Global definitions for NEC TX7 front-end (Brodie) at Idris, gfortran -#-Q- idris_tx7 M_K = gmake -#-Q- idris_tx7 P_C = cpp -#-Q- idris_tx7 P_O = -P -C $(P_P) -#-Q- idris_tx7 F_C = gfortran -c -#-Q- idris_tx7 #-D- MD F_D = -g -#-Q- idris_tx7 #-D- MN F_D = -#-Q- idris_tx7 #-P- I4R4 F_P = -#-Q- idris_tx7 #-P- I4R8 F_P = -fdefault-real-8 -#-Q- idris_tx7 #-P- I8R8 F_P = -fdefault-integer-8 -fdefault-real-8 -#-Q- idris_tx7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -J$(MODDIR) -#-Q- idris_tx7 F_L = gfortran -#-Q- idris_tx7 M_M = 0 -#-Q- idris_tx7 L_X = 0 -#-Q- idris_tx7 L_O = -#-Q- idris_tx7 A_C = ar -r -#-Q- idris_tx7 A_G = ar -x -#-Q- idris_tx7 C_C = gcc -c -#-Q- idris_tx7 C_O = -#-Q- idris_tx7 C_L = gcc -#-Q- idris_tx7 #- -#-Q- idris_tx7 NCDF_INC = /TXlocal/pub/netcdf/netcdf-3.6.2/include -#-Q- idris_tx7 NCDF_LIB = -L/TXlocal/pub/netcdf/netcdf-3.6.2/lib -lnetcdf -#-Q- idris_tx7 #- -#-Q- linux #- Global definitions for Linux, pgf90 -#-Q- linux M_K = make -#-Q- linux P_C = /lib/cpp -#-Q- linux P_O = -P -C -traditional $(P_P) -#-Q- linux F_C = pgf90 -c -#-Q- linux #-D- MD F_D = -#-Q- linux #-D- MN F_D = -#-Q- linux #-P- I4R4 F_P = -i4 -#-Q- linux #-P- I4R8 F_P = -i4 -r8 -#-Q- linux #-P- I8R8 F_P = -i8 -r8 -#-Q- linux F_O = $(F_D) $(F_P) -Mfree -module $(MODDIR) -#-Q- linux F_L = pgf90 -#-Q- linux M_M = 0 -#-Q- linux L_X = 0 -#-Q- linux L_O = -Wl,-Bstatic -Mbounds -#-Q- linux A_C = ar -r -#-Q- linux A_G = ar -x -#-Q- linux C_C = gcc -c -#-Q- linux C_O = -Wall -#-Q- linux C_L = gcc -#-Q- linux #- -#-Q- linux NCDF_INC = /distrib/local/netcdf/pgf/include/ -#-Q- linux NCDF_LIB = -L/distrib/local/netcdf/pgf/lib/ -lnetcdf -#-Q- linux #- -#-Q- lxiv7 #- Global definitions for Linux, ifc -#-Q- lxiv7 M_K = gmake -#-Q- lxiv7 P_C = cpp -#-Q- lxiv7 P_O = -P -C $(P_P) -#-Q- lxiv7 F_C = ifc -c -#-Q- lxiv7 #-D- MD F_D = -g -#-Q- lxiv7 #-D- MN F_D = -#-Q- lxiv7 #-P- I4R4 F_P = -i4 -#-Q- lxiv7 #-P- I4R8 F_P = -i4 -r8 -#-Q- lxiv7 #-P- I8R8 F_P = -i8 -r8 -#-Q- lxiv7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- lxiv7 F_L = ifc -#-Q- lxiv7 M_M = 0 -#-Q- lxiv7 L_X = 0 -#-Q- lxiv7 L_O = -Vaxlib -#-Q- lxiv7 A_C = ar -r -#-Q- lxiv7 A_G = ar -x -#-Q- lxiv7 C_C = cc -c -#-Q- lxiv7 C_O = -#-Q- lxiv7 C_L = cc -#-Q- lxiv7 #- -#-Q- lxiv7 NCDF_INC = /usr/local/include -#-Q- lxiv7 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- lxiv7 #- -#-Q- lxiv8 #- Global definitions for Intel compiler (ifort) at LSCE -#-Q- lxiv8 M_K = gmake -#-Q- lxiv8 P_C = cpp -#-Q- lxiv8 P_O = -P -C $(P_P) -#-Q- lxiv8 F_C = ifort -c -cpp -#-Q- lxiv8 #-D- MD F_D = -g -#-Q- lxiv8 #-D- MN F_D = -#-Q- lxiv8 #-P- I4R4 F_P = -i4 -#-Q- lxiv8 #-P- I4R8 F_P = -i4 -r8 -#-Q- lxiv8 #-P- I8R8 F_P = -i8 -r8 -#-Q- lxiv8 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- lxiv8 F_L = ifort -#-Q- lxiv8 M_M = 0 -#-Q- lxiv8 L_X = 0 -#-Q- lxiv8 L_O = -Vaxlib -#-Q- lxiv8 A_C = ar -r -#-Q- lxiv8 A_G = ar -x -#-Q- lxiv8 C_C = cc -c -#-Q- lxiv8 C_O = -#-Q- lxiv8 C_L = cc -#-Q- lxiv8 #- -#-Q- lxiv8 NCDF_INC = /usr/local/include -#-Q- lxiv8 NCDF_LIB = -L/usr/local/lib -lnetcdff -lnetcdf -#-Q- lxiv8 #- -#-Q- osf1 #- Obsolete definitions for DEC OSF1 -#-Q- osf1 M_K = gmake -#-Q- osf1 P_C = cpp -#-Q- osf1 P_O = -P -C $(P_P) -#-Q- osf1 F_C = f90 -c -#-Q- osf1 #-D- MD F_D = -g -#-Q- osf1 #-D- MN F_D = -#-Q- osf1 #-P- I4R4 F_P = -#-Q- osf1 #-P- I4R8 F_P = -r8 -#-Q- osf1 #-P- I8R8 F_P = -i8 -r8 -#-Q- osf1 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- osf1 F_L = f90 -#-Q- osf1 M_M = 0 -#-Q- osf1 L_X = 0 -#-Q- osf1 L_O = -#-Q- osf1 A_C = ar -r -#-Q- osf1 A_G = ar -x -#-Q- osf1 C_C = cc -c -#-Q- osf1 C_O = -#-Q- osf1 C_L = cc -#-Q- osf1 #- -#-Q- osf1 NCDF_INC = /usr/local/include -#-Q- osf1 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- osf1 #- -#-Q- osxxlf #- Global definitions for Mac OS X and IBM xlf compiler -#-Q- osxxlf M_K = make -#-Q- osxxlf P_C = /usr/bin/cpp -#-Q- osxxlf P_O = -P -C $(P_P:-WF,-D%=-D%) -#-Q- osxxlf F_C = xlf90 -c -#-Q- osxxlf #-D- MD F_D = -g -C -#-Q- osxxlf #-D- MN F_D = -#-Q- osxxlf #-P- I4R4 F_P = -qintsize=4 -qrealsize=4 -#-Q- osxxlf #-P- I4R8 F_P = -qintsize=4 -qrealsize=8 -#-Q- osxxlf #-P- I8R8 F_P = -qintsize=8 -qrealsize=8 -#-Q- osxxlf w_w = $(F_P) -O2 $(F_D) -qsuffix=f=f90 -#-Q- osxxlf F_O = $(w_w) -I$(MODDIR) -qmoddir=$(MODDIR) -#-Q- osxxlf F_L = xlf90 -#-Q- osxxlf M_M = 0 -#-Q- osxxlf L_X = 0 -#-Q- osxxlf L_O = $(F_P) -O2 -#-Q- osxxlf A_C = ar -rs -#-Q- osxxlf A_G = ar -x -#-Q- osxxlf C_C = cc -c -#-Q- osxxlf C_O = -#-Q- osxxlf C_L = cc -#-Q- osxxlf #- -#-Q- osxxlf NCDF_INC = /usr/local/install/netcdf-3.6.0-p1/include -#-Q- osxxlf NCDF_LIB = -L/usr/local/install/netcdf-3.6.0-p1/lib -lnetcdf -#-Q- osxxlf #- -#-Q- platine #- Global definitions for Bull (Itanium) at CCRT -#-Q- platine LIB_MPI = MPI1 -#-Q- platine LIB_MPI_BIS = MPI1 -#-Q- platine PRISM_ARCH = IA64 -#-Q- platine PRISM_NAME = platine -#-Q- platine FCM_ARCH = IA64_PLATINE -#-Q- platine M_K = gmake -#-Q- platine P_C = cpp -#-Q- platine P_O = -P -C $(P_P) -#-Q- platine F_C = mpif90 -c -cpp -#-Q- platine #-D- MD F_D = -g -#-Q- platine #-D- MN F_D = -#-Q- platine #-P- I4R4 F_P = -i4 -#-Q- platine #-P- I4R8 F_P = -i4 -r8 -#-Q- platine #-P- I8R8 F_P = -i8 -r8 -#-Q- platine F_O = -DCPP_PARA -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- platine F_L = mpif90 -#-Q- platine M_M = 0 -#-Q- platine L_X = 0 -#-Q- platine L_O = -#-Q- platine A_C = ar -r -#-Q- platine A_G = ar -x -#-Q- platine C_C = cc -c -#-Q- platine C_O = -#-Q- platine C_L = cc -#-Q- platine #- -#-Q- platine NCDF_INC = /usr/include -#-Q- platine NCDF_LIB = -L/usr/lib -lnetcdff -lnetcdf -#-Q- platine #- -#-Q- sgi6 #- Global definitions for IRIX64 (sgi6) -#-Q- sgi6 M_K = gmake -#-Q- sgi6 P_C = cpp -#-Q- sgi6 P_O = -P -C $(P_P) -#-Q- sgi6 F_C = f90 -c -#-Q- sgi6 #-D- MD F_D = -#-Q- sgi6 #-D- MN F_D = -#-Q- sgi6 #-P- I4R4 F_P = -i4 -r4 -#-Q- sgi6 #-P- I4R8 F_P = -i4 -r8 -#-Q- sgi6 #-P- I8R8 F_P = -i8 -r8 -#-Q- sgi6 F_O = $(F_D) $(F_P) -I $(MODDIR) -#-Q- sgi6 F_L = f90 -#-Q- sgi6 M_M = 0 -#-Q- sgi6 L_X = 0 -#-Q- sgi6 L_O = -#-Q- sgi6 A_C = ar -r -#-Q- sgi6 A_G = ar -x -#-Q- sgi6 C_C = cc -c -#-Q- sgi6 C_O = -#-Q- sgi6 C_L = cc -#-Q- sgi6 #- -#-Q- sgi6 NCDF_INC = /usr/local/pub/include -#-Q- sgi6 NCDF_LIB = -L/usr/local/pub/lib64 -lnetcdf -#-Q- sgi6 #- -#-Q- solaris #- Global definitions for SOLARIS -#-Q- solaris M_K = make -#-Q- solaris P_C = cpp -#-Q- solaris P_O = -P -C $(P_P) -#-Q- solaris F_C = f90 -c -#-Q- solaris #-D- MD F_D = -#-Q- solaris #-D- MN F_D = -#-Q- solaris #-P- I4R4 F_P = -#-Q- solaris #-P- I4R8 F_P = -r8const -#-Q- solaris #-P- I8R8 F_P = -i8const -r8const -#-Q- solaris F_O = $(F_D) $(F_P) -M$(MODDIR) -fast -#-Q- solaris F_L = f90 -#-Q- solaris M_M = 1 -#-Q- solaris L_X = 0 -#-Q- solaris L_O = -#-Q- solaris A_C = ar -r -#-Q- solaris A_G = ar -x -#-Q- solaris C_C = cc -c -#-Q- solaris C_O = -#-Q- solaris C_L = cc -#-Q- solaris #- -#-Q- solaris NCDF_INC = /distrib/local/include -#-Q- solaris NCDF_LIB = -L/distrib/local/lib -lnetcdf -#-Q- solaris #- -#-Q- sx6nec #- Global definitions for NEC SX8 at CCRT (alias) -#-Q- sx6nec LIB_MPI = MPI1 -#-Q- sx6nec LIB_MPI_BIS = MPI1 -#-Q- sx6nec PRISM_ARCH = SX -#-Q- sx6nec PRISM_NAME = mercure -#-Q- sx6nec FCM_ARCH = SX8_MERCURE -#-Q- sx6nec M_K = sxgmake -#-Q- sx6nec P_C = cpp -#-Q- sx6nec P_O = -P -C $(P_P) -#-Q- sx6nec F_C = sxmpif90 -c -#-Q- sx6nec #-D- MD F_D = -#-Q- sx6nec #-D- MN F_D = -#-Q- sx6nec #-P- I4R4 F_P = -dW -#-Q- sx6nec #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx6nec #-P- I8R8 F_P = -ew -#-Q- sx6nec F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx6nec F_L = sxmpif90 -#-Q- sx6nec M_M = 1 -#-Q- sx6nec L_X = 0 -#-Q- sx6nec L_O = -size_t64 $(F_P) -#-Q- sx6nec A_C = sxar -rv -#-Q- sx6nec A_G = sxar -x -#-Q- sx6nec A_X = sxar -rv -#-Q- sx6nec C_C = sxcc -size_t64 -c -#-Q- sx6nec C_O = -#-Q- sx6nec C_L = sxcc -size_t64 -#-Q- sx6nec FC_C = gcc -c -#-Q- sx6nec FC_O = -#-Q- sx6nec FC_L = gcc -#-Q- sx6nec #- -#-Q- sx6nec NCDF_INC = /usr/local/SX8/soft/netcdf/include -#-Q- sx6nec NCDF_LIB = -L/usr/local/SX8/soft/netcdf/lib -lnetcdf -#-Q- sx6nec #- -#-Q- sx8brodie #- Global definitions for NEC SX8 at Idris -#-Q- sx8brodie LIB_MPI = MPI1 -#-Q- sx8brodie LIB_MPI_BIS = MPI1 -#-Q- sx8brodie PRISM_ARCH = SX -#-Q- sx8brodie PRISM_NAME = brodie -#-Q- sx8brodie FCM_ARCH = SX8_BRODIE -#-Q- sx8brodie M_K = sxgmake -#-Q- sx8brodie P_C = sxcpp -#-Q- sx8brodie P_O = -P -C $(P_P) -#-Q- sx8brodie F_C = sxmpif90 -c -#-Q- sx8brodie #-D- MD F_D = -#-Q- sx8brodie #-D- MN F_D = -#-Q- sx8brodie #-P- I4R4 F_P = -dW -#-Q- sx8brodie #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx8brodie #-P- I8R8 F_P = -ew -#-Q- sx8brodie F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -I $(MODDIR) -#-Q- sx8brodie F_L = sxmpif90 -#-Q- sx8brodie M_M = 1 -#-Q- sx8brodie L_X = 0 -#-Q- sx8brodie L_O = $(F_P) -#-Q- sx8brodie A_C = sxar -rv -#-Q- sx8brodie A_G = sxar -x -#-Q- sx8brodie A_X = sxar -rv -#-Q- sx8brodie C_C = sxcc -c -#-Q- sx8brodie C_O = -#-Q- sx8brodie C_L = sxcc -#-Q- sx8brodie FC_C = gcc -c -#-Q- sx8brodie FC_O = -#-Q- sx8brodie FC_L = gcc -#-Q- sx8brodie #- -#-Q- sx8brodie NCDF_INC = /SXlocal/pub/netCDF/netCDF-3.6.1/include -#-Q- sx8brodie NCDF_LIB = -L/SXlocal/pub/netCDF/netCDF-3.6.1/lib -lnetcdf -#-Q- sx8brodie #- -#-Q- sx8mercure #- Global definitions for NEC SX8 at CCRT -#-Q- sx8mercure LIB_MPI = MPI1 -#-Q- sx8mercure LIB_MPI_BIS = MPI1 -#-Q- sx8mercure PRISM_ARCH = SX -#-Q- sx8mercure PRISM_NAME = mercure -#-Q- sx8mercure FCM_ARCH = SX8_MERCURE -#-Q- sx8mercure M_K = sxgmake -#-Q- sx8mercure P_C = cpp -#-Q- sx8mercure P_O = -P -C $(P_P) -#-Q- sx8mercure F_C = sxmpif90 -c -#-Q- sx8mercure #-D- MD F_D = -#-Q- sx8mercure #-D- MN F_D = -#-Q- sx8mercure #-P- I4R4 F_P = -dW -#-Q- sx8mercure #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx8mercure #-P- I8R8 F_P = -ew -#-Q- sx8mercure F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx8mercure F_L = sxmpif90 -#-Q- sx8mercure M_M = 1 -#-Q- sx8mercure L_X = 0 -#-Q- sx8mercure L_O = -size_t64 $(F_P) -#-Q- sx8mercure A_C = sxar -rv -#-Q- sx8mercure A_G = sxar -x -#-Q- sx8mercure A_X = sxar -rv -#-Q- sx8mercure C_C = sxcc -size_t64 -c -#-Q- sx8mercure C_O = -#-Q- sx8mercure C_L = sxcc -size_t64 -#-Q- sx8mercure FC_C = gcc -c -#-Q- sx8mercure FC_O = -#-Q- sx8mercure FC_L = gcc -#-Q- sx8mercure #- -#-Q- sx8mercure NETCDF_SX_INCLUDEDIR ?= /usr/local/SX8/soft/netcdf/include -#-Q- sx8mercure NETCDF_SX_LIBDIR ?= /usr/local/SX8/soft/netcdf/lib -#-Q- sx8mercure NCDF_INC = ${NETCDF_SX_INCLUDEDIR} -#-Q- sx8mercure NCDF_LIB = -L${NETCDF_SX_LIBDIR} -lnetcdf -#-Q- sx8mercure #- -#-Q- sx9mercure #- Global definitions for NEC SX9 at CCRT -#-Q- sx9mercure LIB_MPI = MPI1 -#-Q- sx9mercure LIB_MPI_BIS = MPI1 -#-Q- sx9mercure PRISM_ARCH = SX -#-Q- sx9mercure PRISM_NAME = mercure -#-Q- sx9mercure FCM_ARCH = SX9_MERCURE -#-Q- sx9mercure M_K = sxgmake -#-Q- sx9mercure P_C = cpp -#-Q- sx9mercure P_O = -P -C $(P_P) -#-Q- sx9mercure F_C = sxmpif90 -c -#-Q- sx9mercure #-D- MD F_D = -#-Q- sx9mercure #-D- MN F_D = -#-Q- sx9mercure #-P- I4R4 F_P = -dW -#-Q- sx9mercure #-P- I4R8 F_P = -dW -Wf\"-A idbl4\" -#-Q- sx9mercure #-P- I8R8 F_P = -ew -#-Q- sx9mercure F_O = $(F_D) $(F_P) -Ep -DCPP_PARA -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR) -#-Q- sx9mercure F_L = sxmpif90 -#-Q- sx9mercure M_M = 1 -#-Q- sx9mercure L_X = 0 -#-Q- sx9mercure L_O = -size_t64 $(F_P) -#-Q- sx9mercure A_C = sxar -rv -#-Q- sx9mercure A_G = sxar -x -#-Q- sx9mercure A_X = sxar -rv -#-Q- sx9mercure C_C = sxcc -size_t64 -c -#-Q- sx9mercure C_O = -#-Q- sx9mercure C_L = sxcc -size_t64 -#-Q- sx9mercure FC_C = gcc -c -#-Q- sx9mercure FC_O = -#-Q- sx9mercure FC_L = gcc -#-Q- sx9mercure #- -#-Q- sx9mercure NETCDF_SX_INCLUDEDIR ?= /ccc/applications/sx9/netcdf-3.6.1/include -#-Q- sx9mercure NETCDF_SX_LIBDIR ?= /ccc/applications/sx9/netcdf-3.6.1/lib -#-Q- sx9mercure NCDF_INC = ${NETCDF_SX_INCLUDEDIR} -#-Q- sx9mercure NCDF_LIB = -L${NETCDF_SX_LIBDIR} -lnetcdf -#-Q- sx9mercure #- -#-Q- sxdkrz #- Global definitions for NEC SX8 at DKRZ -#-Q- sxdkrz LIB_MPI = MPI1 -#-Q- sxdkrz LIB_MPI_BIS = MPI1 -#-Q- sxdkrz PRISM_ARCH = SX -#-Q- sxdkrz PRISM_NAME = ds -#-Q- sxdkrz M_K = sxgmake -#-Q- sxdkrz P_C = cpp -#-Q- sxdkrz P_O = -P -C $(P_P) -#-Q- sxdkrz F_C = sxmpif90 -c -#-Q- sxdkrz #-D- MD F_D = -#-Q- sxdkrz #-D- MN F_D = -#-Q- sxdkrz #-P- I4R4 F_P = -dw -#-Q- sxdkrz #-P- I4R8 F_P = -dw -Wf\"-A idbl4\" -#-Q- sxdkrz #-P- I8R8 F_P = -ew -#-Q- sxdkrz F_O = $(F_D) $(F_P) -I $(MODDIR) -#-Q- sxdkrz F_L = sxmpif90 -#-Q- sxdkrz M_M = 1 -#-Q- sxdkrz L_X = 0 -#-Q- sxdkrz L_O = $(F_P) -#-Q- sxdkrz A_C = ar -rv -#-Q- sxdkrz A_G = ar -x -#-Q- sxdkrz A_X = sxar -rv -#-Q- sxdkrz C_C = sxcc -c -#-Q- sxdkrz C_O = -#-Q- sxdkrz C_L = sxcc -#-Q- sxdkrz FC_C = cc -c -#-Q- sxdkrz FC_O = -#-Q- sxdkrz FC_L = cc -#-Q- sxdkrz #- -#-Q- sxdkrz NCDF_INC = /pool/SX-6/netcdf/netcdf-3.5.0/include -#-Q- sxdkrz NCDF_LIB = -L/pool/SX-6/netcdf/netcdf-3.5.0/lib -lnetcdf_A_idbl4 -#-Q- sxdkrz #- -#-Q- t3e #- Obsolete definitions for T3E -#-Q- t3e M_K = gmake -#-Q- t3e P_C = cpp -#-Q- t3e P_O = -P -C $(P_P) -#-Q- t3e F_C = f90 -c -#-Q- t3e #-D- MD F_D = -#-Q- t3e #-D- MN F_D = -#-Q- t3e #-P- I4R4 F_P = -#-Q- t3e #-P- I4R8 F_P = -#-Q- t3e #-P- I8R8 F_P = -#-Q- t3e w_w = $(F_D) $(F_P) -rm -O2 -Ounroll2 -Osplit2 -dp -#-Q- t3e F_O = $(w_w) -p $(MODEL_LIB) -#-Q- t3e F_L = f90 -#-Q- t3e M_M = 0 -#-Q- t3e L_X = 0 -#-Q- t3e L_O = -X 4 -#-Q- t3e A_C = ar -r -#-Q- t3e A_G = ar -x -#-Q- t3e C_C = cc -c -#-Q- t3e C_O = -Wall -#-Q- t3e C_L = cc -#-Q- t3e #- -#-Q- t3e NCDF_INC = /usr/local/pub/include -#-Q- t3e NCDF_LIB = -L/usr/local/pub/lib -lnetcdf -#-Q- t3e #- -#-Q- titane #- Global definitions for Bull (Xeon) at CCRT -#-Q- titane LIB_MPI = MPI1 -#-Q- titane LIB_MPI_BIS = MPI1 -#-Q- titane PRISM_ARCH = X64 -#-Q- titane PRISM_NAME = titane -#-Q- titane FCM_ARCH = X64_TITANE -#-Q- titane M_K = gmake -#-Q- titane P_C = cpp -#-Q- titane P_O = -P -C $(P_P) -#-Q- titane F_C = mpif90 -c -cpp -#-Q- titane #-D- MD F_D = -g -#-Q- titane #-D- MN F_D = -#-Q- titane #-P- I4R4 F_P = -i4 -#-Q- titane #-P- I4R8 F_P = -i4 -r8 -#-Q- titane #-P- I8R8 F_P = -i8 -r8 -#-Q- titane F_O = -DCPP_PARA -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- titane F_L = mpif90 -#-Q- titane M_M = 0 -#-Q- titane L_X = 0 -#-Q- titane L_O = -#-Q- titane A_C = ar -r -#-Q- titane A_G = ar -x -#-Q- titane C_C = cc -c -#-Q- titane C_O = -#-Q- titane C_L = cc -#-Q- titane #- -#-Q- titane NCDF_INC = $(NETCDF_INCLUDEDIR) -#-Q- titane NCDF_LIB = -L$(NETCDF_LIBDIR) -lnetcdff -lnetcdf -#-Q- titane #- -#-Q- tx7 #- Global definitions for NEC TX7 front-end (Mercure) at CCRT, ifort -#-Q- tx7 M_K = gmake -#-Q- tx7 P_C = cpp -#-Q- tx7 P_O = -P -C $(P_P) -#-Q- tx7 F_C = ifort -c -#-Q- tx7 #-D- MD F_D = -g -#-Q- tx7 #-D- MN F_D = -#-Q- tx7 #-P- I4R4 F_P = -i4 -#-Q- tx7 #-P- I4R8 F_P = -i4 -r8 -#-Q- tx7 #-P- I8R8 F_P = -i8 -r8 -#-Q- tx7 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- tx7 F_L = ifort -#-Q- tx7 M_M = 0 -#-Q- tx7 L_X = 0 -#-Q- tx7 L_O = -Vaxlib -#-Q- tx7 A_C = ar -r -#-Q- tx7 A_G = ar -x -#-Q- tx7 C_C = cc -c -#-Q- tx7 C_O = -#-Q- tx7 C_L = cc -#-Q- tx7 #- -#-Q- tx7 NCDF_INC = /usr/local/include -#-Q- tx7 NCDF_LIB = -L/usr/local/lib -lnetcdf -#-Q- tx7 #- -#-Q- ulam #- Global definitions for ulam at IDRIS -#-Q- ulam M_K = gmake -#-Q- ulam P_C = cpp -#-Q- ulam P_O = -P -C $(P_P) -#-Q- ulam F_C = ifort -c -cpp -#-Q- ulam #-D- MD F_D = -g -#-Q- ulam #-D- MN F_D = -#-Q- ulam #-P- I4R4 F_P = -i4 -#-Q- ulam #-P- I4R8 F_P = -i4 -r8 -#-Q- ulam #-P- I8R8 F_P = -i8 -r8 -#-Q- ulam F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- ulam F_L = ifort -#-Q- ulam M_M = 0 -#-Q- ulam L_X = 0 -#-Q- ulam L_O = -Vaxlib -#-Q- ulam A_C = ar -r -#-Q- ulam A_G = ar -x -#-Q- ulam C_C = cc -c -#-Q- ulam C_O = -#-Q- ulam C_L = cc -#-Q- ulam #- -#-Q- ulam NCDF_INC = /usr/local/pub/NetCDF/3.6.3/include -#-Q- ulam NCDF_LIB = -L/usr/local/pub/NetCDF/3.6.3/lib -lnetcdf -#-Q- ulam #- -#-Q- unix #- Skeleton definitions for UNIX -#-Q- unix M_K = make -#-Q- unix P_C = cpp -#-Q- unix P_O = -P -C $(P_P) -#-Q- unix F_C = f90 -c -#-Q- unix #-D- MD F_D = -#-Q- unix #-D- MN F_D = -#-Q- unix #-P- I4R4 F_P = -#-Q- unix #-P- I4R8 F_P = -#-Q- unix #-P- I8R8 F_P = -#-Q- unix F_O = $(F_D) $(F_P) -M$(MODDIR) -#-Q- unix F_L = f90 -#-Q- unix M_M = 0 -#-Q- unix L_X = 0 -#-Q- unix L_O = -#-Q- unix A_C = ar -r -#-Q- unix A_G = ar -x -#-Q- unix C_C = cc -c -#-Q- unix C_O = -#-Q- unix C_L = cc -#-Q- unix #- -#-Q- unix NCDF_INC = /distrib/local/include -#-Q- unix NCDF_LIB = -L/distrib/local/lib -lnetcdf -#-Q- unix #- -#-Q- x86_64 #- Global definitions for new mercure front-end at CCRT (05/2010) -#-Q- x86_64 M_K = gmake -#-Q- x86_64 P_C = cpp -#-Q- x86_64 P_O = -P -C $(P_P) -#-Q- x86_64 F_C = ifort -c -#-Q- x86_64 #-D- MD F_D = -g -#-Q- x86_64 #-D- MN F_D = -#-Q- x86_64 #-P- I4R4 F_P = -i4 -#-Q- x86_64 #-P- I4R8 F_P = -i4 -r8 -#-Q- x86_64 #-P- I8R8 F_P = -i8 -r8 -#-Q- x86_64 F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -#-Q- x86_64 F_L = ifort -#-Q- x86_64 M_M = 0 -#-Q- x86_64 L_X = 0 -#-Q- x86_64 L_O = -Vaxlib -#-Q- x86_64 A_C = ar -r -#-Q- x86_64 A_G = ar -x -#-Q- x86_64 C_C = cc -c -#-Q- x86_64 C_O = -#-Q- x86_64 C_L = cc -#-Q- x86_64 #- -#-Q- x86_64 NCDF_INC = /applications/netcdf-3.6.3/include -#-Q- x86_64 NCDF_LIB = -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf -#-Q- x86_64 #- -RM = rm -f -STRIP = strip -SIZE = size diff --git a/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/compilation.cmd b/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/compilation.cmd deleted file mode 100755 index 92e3f935b01fcf6f3ea467f78d26ab7c0e6c55ea..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/compilation.cmd +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/bash - -# ./compilation.sh >& compile.log & -# or -# ./compilation.sh -i 6 -j 6 >& compile.log & - -# Modify key_nproci and key_nprocj in the following "fcm" -# file according to no. of proc to be used. -# vi ORCA2_LIM/cpp_ORCA2_LIM.fcm - -# Modify compiler options in the appropriat -# file located at the following path. -# vi ../ARCH/arch-*.fcm - -nemo_i=6 -nemo_j=6 - -while getopts i:j: option -do - case $option in - i) nemo_i=$OPTARG;; - j) nemo_j=$OPTARG;; - \?) exit 1;; - esac -done - -source /opt/modules/init/bash -module load intel/12.1 -module load openmpi/1.6-intel - -set -xuve -date - -compile=ifort_linux -cat > ../ARCH/arch-${compile}.fcm < if you have libraries in a -# FPPFLAGS pre-processing flags -# AR assembler -# ARFLAGS assembler flags -# MK make -# USER_INC additional include files for the compiler, e.g. -I -# USER_LIB additional libraries to pass to the linker, e.g. -l - - -%NCDF_INC -I/scratch/cfu/opt/netcdf-3.6.3/intel12/include -%NCDF_LIB -L/scratch/cfu/opt/netcdf-3.6.3/intel12/lib -lnetcdf -%FC mpif90 -%FCFLAGS -r8 -O3 -traceback -%FFLAGS -r8 -O3 -traceback -%LD mpif90 -%FPPFLAGS -P -C -traditional -%LDFLAGS -%AR ar -%ARFLAGS -r -%MK gmake -%USER_INC %NCDF_INC -%USER_LIB %NCDF_LIB -EOF -cat ../ARCH/arch-${compile}.fcm - -set +e -./makenemo clean -set -e - -config=ORCA1_LIM2 -./makenemo -n $config -d "OPA_SRC LIM_SRC_2" -cat > $config/cpp_${config}.fcm < $config/cpp_${config}.fcm <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "ORCA1" ! experience name - nn_it000 = 1 ! first time step - nn_itend = 1416 ! last time step (std 5475) - nn_date0 = 19900101 ! initial calendar date yymmdd (used if nn_rstctl=1) - nn_leapy = 0 ! Leap year calendar (1) or not (0) - ln_rstart = .false. ! start from rest (F) or from a restart file (T) - nn_rstctl = 0 ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 1416 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .true. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .true. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24. , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24. , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24. , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24. , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24. , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1. , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1. , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1. , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1. , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1. , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1. , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1. , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u10_core' , 6 , 'u10' , .false. , .true. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Ume' - sn_wndj = 'v10_core' , 6 , 'v10' , .false. , .true. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Vme' - sn_qsr = 'qsw_core' , 24 , 'swdn' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_qlw = 'qlw_core' , 24 , 'lwdn' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_tair = 't2_core' , 6 , 't2' , .false. , .true. , 'yearly' , 'weights_grid02_bilinear_orca1.nc' , '' - sn_humi = 'q2_core' , 6 , 'q2' , .false. , .true. , 'yearly' , 'weights_grid02_bilinear_orca1.nc' , '' - sn_prec = 'precip_core' , -1 , 'precip' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_snow = 'snow_core' , -1 , 'snow' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 0.98 ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'weighted oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'weighted ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'none' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'coupled' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce only' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'cartesian' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'U,V' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask.nc', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask.nc', -1 , 'socoeff', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-4 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_1m.nc' , -1 , 'votemper', .false. , .false., 'yearly' , ' ' , ' ' - sn_sss = 'sss_1m.nc' , -1 , 'vosaline', .true. , .true. , 'yearly' , ' ' , ' ' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 2 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -66.0 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .false. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 5000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 1.67e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 0.78e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = .false. ! 2nd order centered scheme - ln_traadv_tvd = .true. ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1000. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1000. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .true. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .false. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = 0. ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.2e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 1 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 100. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .false. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.001 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .FALSE. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscelaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi) -!! nammpp_dyndist Massively Parallel domain decomposition ("key_agrif" && "key_mpp_dyndist") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 2000 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'I' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 0 ! size in bytes of exported buffer ('B' case), 0 no exportation -/ -!----------------------------------------------------------------------- -&nammpp_dyndist ! Massively Parallel Distribution for AGRIF zoom ("key_agrif" && "key_mpp_dyndist") -!----------------------------------------------------------------------- - jpni = 6 ! jpni number of processors following i - jpnj = 6 ! jpnj number of processors following j - jpnij = 36 ! jpnij number of local domains -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 6 ! number of processors in i-direction - nn_jsplt = 6 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .true. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ diff --git a/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist.v3.3.default.DFS4.3 b/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist.v3.3.default.DFS4.3 deleted file mode 100755 index ca8bf8f5248f297cdc92073a74426d15e4ab77a5..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist.v3.3.default.DFS4.3 +++ /dev/null @@ -1,869 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/OPA : 1 - run manager (namrun) -!! namelists 2 - Domain (namzgr, namzgr_sco, namdom, namdta_tem, namdta_sal) -!! 3 - Surface boundary (namsbc, namsbc_ana, namsbc_flx, namsbc_clio, namsbc_core -!! namsbc_cpl, namsbc_cpl_co2 namtra_qsr, namsbc_rnf, -!! namsbc_apr, namsbc_ssr, namsbc_alb) -!! 4 - lateral boundary (namlbc, namcla, namobc, namagrif, nambdy, nambdy_tide) -!! 5 - bottom boundary (nambfr, nambbc, nambbl) -!! 6 - Tracer (nameos, namtra_adv, namtra_ldf, namtra_dmp) -!! 7 - dynamics (namdyn_adv, namdyn_vor, namdyn_hpg, namdyn_spg, namdyn_ldf) -!! 8 - Verical physics (namzdf, namzdf_ric, namzdf_tke, namzdf_kpp, namzdf_ddm, namzdf_tmx) -!! 9 - diagnostics (namnc4, namtrd, namspr, namflo, namptr, namhsb) -!! 10 - miscellaneous (namsol, nammpp, nammpp_dyndist, namctl) -!! 11 - Obs & Assim (namobs, nam_asminc) -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!!====================================================================== -!! *** Run management namelists *** -!!====================================================================== -!! namrun parameters of the run -!!====================================================================== -! -!----------------------------------------------------------------------- -&namrun ! parameters of the run -!----------------------------------------------------------------------- - nn_no = 0 ! job number - cn_exp = "ORCA1" ! experience name - nn_it000 = 1 ! first time step - nn_itend = 1416 ! last time step (std 5475) - nn_date0 = 19900101 ! initial calendar date yymmdd (used if nn_rstctl=1) - nn_leapy = 0 ! Leap year calendar (1) or not (0) - ln_rstart = .false. ! start from rest (F) or from a restart file (T) - nn_rstctl = 0 ! restart control = 0 nn_it000 is not compared to the restart file value - ! = 1 use nn_date0 in namelist (not the value in the restart file) - ! = 2 calendar parameters read in the restart file - cn_ocerst_in = "restart" ! suffix of ocean restart name (input) - cn_ocerst_out = "restart" ! suffix of ocean restart name (output) - nn_istate = 0 ! output the initial state (1) or not (0) - nn_stock = 1416 ! frequency of creation of a restart file (modulo referenced to 1) - nn_write = -1 ! frequency of write in the output file (modulo referenced to nn_it000) - ln_dimgnnn = .false. ! DIMG file format: 1 file for all processors (F) or by processor (T) - ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) - ln_clobber = .false. ! clobber (overwrite) an existing file - nn_chunksz = 0 ! chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) -/ - -!!====================================================================== -!! *** Domain namelists *** -!!====================================================================== -!! namzgr vertical coordinate -!! namzgr_sco s-coordinate or hybrid z-s-coordinate -!! namdom space and time domain (bathymetry, mesh, timestep) -!! namdta_tem data: temperature ("key_dtatem") -!! namdta_sal data: salinity ("key_dtasal") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzgr ! vertical coordinate -!----------------------------------------------------------------------- - ln_zco = .false. ! z-coordinate - full steps (T/F) ("key_zco" may also be defined) - ln_zps = .true. ! z-coordinate - partial steps (T/F) - ln_sco = .false. ! s- or hybrid z-s-coordinate (T/F) -/ -!----------------------------------------------------------------------- -&namzgr_sco ! s-coordinate or hybrid z-s-coordinate -!----------------------------------------------------------------------- - rn_sbot_min = 300. ! minimum depth of s-bottom surface (>0) (m) - rn_sbot_max = 5250. ! maximum depth of s-bottom surface (= ocean depth) (>0) (m) - rn_theta = 6.0 ! surface control parameter (0<=rn_theta<=20) - rn_thetb = 0.75 ! bottom control parameter (0<=rn_thetb<= 1) - rn_rmax = 0.15 ! maximum cut-off r-value allowed (00) or min number of ocean level (<0) - rn_e3zps_min= 20. ! partial step thickness is set larger than the minimum of - rn_e3zps_rat= 0.1 ! rn_e3zps_min and rn_e3zps_rat*e3t, with 0 fill namsbc_ana ) - ln_flx = .false. ! flux formulation (T => fill namsbc_flx ) - ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) - ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) - ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) - ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) - nn_ice = 2 ! =0 no ice boundary condition , - ! =1 use observed ice-cover , - ! =2 ice-model used ("key_lim3" or "key_lim2) - ln_dm2dc = .false. ! daily mean to diurnal cycle on short wave - ln_rnf = .true. ! runoffs (T => fill namsbc_rnf) - ln_ssr = .true. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr) - nn_fwb = 0 ! FreshWater Budget: =0 unchecked - ! =1 global mean of e-p-r set to zero at each time step - ! =2 annual global mean of e-p-r set to zero - ! =3 global emp set to zero and spread out over erp area -/ -!----------------------------------------------------------------------- -&namsbc_ana ! analytical surface boundary condition -!----------------------------------------------------------------------- - nn_tau000 = 0 ! gently increase the stress over the first ntau_rst time-steps - rn_utau0 = 0.5 ! uniform value for the i-stress - rn_vtau0 = 0.e0 ! uniform value for the j-stress - rn_qns0 = 0.e0 ! uniform value for the total heat flux - rn_qsr0 = 0.e0 ! uniform value for the solar radiation - rn_emp0 = 0.e0 ! uniform value for the freswater budget (E-P) -/ -!----------------------------------------------------------------------- -&namsbc_flx ! surface boundary condition : flux formulation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'utau' , 24. , 'utau' , .false. , .false., 'yearly' , '' , '' - sn_vtau = 'vtau' , 24. , 'vtau' , .false. , .false., 'yearly' , '' , '' - sn_qtot = 'qtot' , 24. , 'qtot' , .false. , .false., 'yearly' , '' , '' - sn_qsr = 'qsr' , 24. , 'qsr' , .false. , .false., 'yearly' , '' , '' - sn_emp = 'emp' , 24. , 'emp' , .false. , .false., 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the flux files -/ -!----------------------------------------------------------------------- -&namsbc_clio ! namsbc_clio CLIO bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_utau = 'taux_1m' , -1. , 'sozotaux', .true. , .true. , 'yearly' , '' , '' - sn_vtau = 'tauy_1m' , -1. , 'sometauy', .true. , .true. , 'yearly' , '' , '' - sn_wndm = 'flx' , -1. , 'socliowi', .true. , .true. , 'yearly' , '' , '' - sn_tair = 'flx' , -1. , 'socliot2', .true. , .true. , 'yearly' , '' , '' - sn_humi = 'flx' , -1. , 'socliohu', .true. , .true. , 'yearly' , '' , '' - sn_ccov = 'flx' , -1. , 'socliocl', .false. , .true. , 'yearly' , '' , '' - sn_prec = 'flx' , -1. , 'socliopl', .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files are -/ -!----------------------------------------------------------------------- -&namsbc_core ! namsbc_core CORE bulk formulea -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_wndi = 'u10_core' , 6 , 'u10' , .false. , .true. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Ume' - sn_wndj = 'v10_core' , 6 , 'v10' , .false. , .true. , 'yearly' , 'weights_grid02_bicubic_orca1.nc' , 'Vme' - sn_qsr = 'qsw_core' , 24 , 'qsw' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_qlw = 'qlw_core' , 24 , 'qlw' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_tair = 't2_core' , 6 , 't2' , .false. , .true. , 'yearly' , 'weights_grid02_bilinear_orca1.nc' , '' - sn_humi = 'q2_core' , 6 , 'q2' , .false. , .true. , 'yearly' , 'weights_grid02_bilinear_orca1.nc' , '' - sn_prec = 'precip_core' , -1 , 'precip' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_snow = 'snow_core' , -1 , 'snow' , .false. , .true. , 'yearly' , 'weights_grid03_bilinear_orca1.nc' , '' - sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) - ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data - rn_pfac = 0.98 ! multiplicative factor for precipitation (total & snow) -/ -!----------------------------------------------------------------------- -&namsbc_cpl ! coupled ocean/atmosphere model ("key_coupled") -!----------------------------------------------------------------------- -! ! send -cn_snd_temperature= 'weighted oce and ice' ! 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_albedo = 'weighted ice' ! 'none' 'weighted ice' 'mixed oce-ice' -cn_snd_thickness = 'none' ! 'none' 'weighted ice and snow' -cn_snd_crt_nature = 'none' ! 'none' 'oce only' 'weighted oce and ice' 'mixed oce-ice' -cn_snd_crt_refere = 'spherical' ! 'spherical' 'cartesian' -cn_snd_crt_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_snd_crt_grid = 'T' ! 'T' -! ! receive -cn_rcv_w10m = 'none' ! 'none' 'coupled' -cn_rcv_taumod = 'coupled' ! 'none' 'coupled' -cn_rcv_tau_nature = 'oce only' ! 'oce only' 'oce and ice' 'mixed oce-ice' -cn_rcv_tau_refere = 'cartesian' ! 'spherical' 'cartesian' -cn_rcv_tau_orient = 'eastward-northward' ! 'eastward-northward' or 'local grid' -cn_rcv_tau_grid = 'U,V' ! 'T' 'U,V' 'U,V,F' 'U,V,I' 'T,F' 'T,I' 'T,U,V' -cn_rcv_dqnsdt = 'coupled' ! 'none' 'coupled' -cn_rcv_qsr = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_qns = 'oce and ice' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_emp = 'conservative' ! 'conservative' 'oce and ice' 'mixed oce-ice' -cn_rcv_rnf = 'coupled' ! 'coupled' 'climato' 'mixed' -cn_rcv_cal = 'coupled' ! 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namsbc_cpl_co2 ! coupled ocean/biogeo/atmosphere model ("key_cpl_carbon_cycle") -!----------------------------------------------------------------------- - cn_snd_co2 = 'coupled' ! send : 'none' 'coupled' - cn_rcv_co2 = 'coupled' ! receive : 'none' 'coupled' -/ -!----------------------------------------------------------------------- -&namtra_qsr ! penetrative solar radiation -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_traqsr = .true. ! Light penetration (T) or not (F) - ln_qsr_rgb = .false. ! RGB (Red-Green-Blue) light penetration - ln_qsr_2bd = .true. ! 2 bands light penetration - ln_qsr_bio = .false. ! bio-model light penetration - nn_chldta = 0 ! RGB : Chl data (=1) or cst value (=0) - rn_abs = 0.58 ! RGB & 2 bands: fraction of light (rn_si1) - rn_si0 = 0.35 ! RGB & 2 bands: shortess depth of extinction - rn_si1 = 23.0 ! 2 bands: longest depth of extinction -/ -!----------------------------------------------------------------------- -&namsbc_rnf ! runoffs namelist surface boundary condition -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_rnf = 'runoff_1m_nomask.nc', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'runoff_1m_nomask.nc', -1 , 'socoeff', .false. , .true. , 'yearly' , '' , '' - sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' - sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' - sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the runoff files - ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) - ln_rnf_mouth = .true. ! specific treatment at rivers mouths - rn_hrnf = 10.e0 ! depth over which enhanced vertical mixing is used - rn_avt_rnf = 1.e-4 ! value of the additional vertical mixing coef. [m2/s] - rn_rfact = 1.e0 ! multiplicative factor for runoff - ln_rnf_depth = .false. ! read in depth information for runoff - ln_rnf_tem = .false. ! read in temperature information for runoff - ln_rnf_sal = .false. ! read in salinity information for runoff -/ -!----------------------------------------------------------------------- -&namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' - - cn_dir = './' ! root directory for the location of the bulk files - ln_ref_apr = .false. ! ref. pressure: global mean Patm (T) or a constant (F) -/ -!----------------------------------------------------------------------- -&namsbc_ssr ! surface boundary condition : sea surface restoring -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_sst = 'sst_1m.nc' , -1 , 'votemper', .false. , .false., 'yearly' , ' ' , ' ' - sn_sss = 'sss_1m.nc' , -1 , 'vosaline', .true. , .true. , 'yearly' , ' ' , ' ' - - cn_dir = './' ! root directory for the location of the runoff files - nn_sstr = 0 ! add a retroaction term in the surface heat flux (=1) or not (=0) - nn_sssr = 2 ! add a damping term in the surface freshwater flux (=2) - ! or to SSS only (=1) or no damping term (=0) - rn_dqdt = -40. ! magnitude of the retroaction on temperature [W/m2/K] - rn_deds = -66.0 ! magnitude of the damping on salinity [mm/day] - ln_sssr_bnd = .true. ! flag to bound erp term (associated with nn_sssr=2) - rn_sssr_bnd = 4.e0 ! ABS(Max/Min) value of the damping erp term [mm/day] -/ -!----------------------------------------------------------------------- -&namsbc_alb ! albedo parameters -!----------------------------------------------------------------------- - rn_cloud = 0.06 ! cloud correction to snow and ice albedo - rn_albice = 0.53 ! albedo of melting ice in the arctic and antarctic - rn_alphd = 0.80 ! coefficients for linear interpolation used to - rn_alphc = 0.65 ! compute albedo between two extremes values - rn_alphdi = 0.72 ! (Pyane, 1972) -/ - -!!====================================================================== -!! *** Lateral boundary condition *** -!!====================================================================== -!! namlbc lateral momentum boundary condition -!! namcla cross land advection -!! namobc open boundaries parameters ("key_obc") -!! namagrif agrif nested grid ( read by child model only ) ("key_agrif") -!! nambdy Unstructured open boundaries ("key_bdy") -!! namtide Tidal forcing at open boundaries ("key_bdy_tides") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namlbc ! lateral momentum boundary condition -!----------------------------------------------------------------------- - rn_shlat = 2. ! shlat = 0 ! 0 < shlat < 2 ! shlat = 2 ! 2 < shlat - ! free slip ! partial slip ! no slip ! strong slip -/ -!----------------------------------------------------------------------- -&namcla ! cross land advection -!----------------------------------------------------------------------- - nn_cla = 0 ! advection between 2 ocean pts separates by land -/ -!----------------------------------------------------------------------- -&namobc ! open boundaries parameters ("key_obc") -!----------------------------------------------------------------------- - ln_obc_clim = .false. ! climatological obc data files (T) or not (F) - ln_vol_cst = .true. ! impose the total volume conservation (T) or not (F) - ln_obc_fla = .false. ! Flather open boundary condition - nn_obcdta = 1 ! = 0 the obc data are equal to the initial state - ! = 1 the obc data are read in 'obc.dta' files - cn_obcdta = 'annual' ! set to annual if obc datafile hold 1 year of data - ! set to monthly if obc datafile hold 1 month of data - rn_dpein = 1. ! damping time scale for inflow at east open boundary - rn_dpwin = 1. ! - - - west - - - rn_dpnin = 1. ! - - - north - - - rn_dpsin = 1. ! - - - south - - - rn_dpeob = 3000. ! time relaxation (days) for the east open boundary - rn_dpwob = 15. ! - - - west - - - rn_dpnob = 3000. ! - - - north - - - rn_dpsob = 15. ! - - - south - - - rn_volemp = 1. ! = 0 the total volume change with the surface flux (E-P-R) - ! = 1 the total volume remains constant -/ -!----------------------------------------------------------------------- -&namagrif ! AGRIF zoom ("key_agrif") -!----------------------------------------------------------------------- - nn_cln_update = 3 ! baroclinic update frequency - ln_spc_dyn = .true. ! use 0 as special value for dynamics - rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] - rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] -/ -!----------------------------------------------------------------------- -&nambdy ! unstructured open boundaries ("key_bdy") -!----------------------------------------------------------------------- - cn_mask = '' ! name of mask file (ln_mask=T) - cn_dta_frs_T= 'bdydata_grid_T.nc' ! name of data file (T-points) - cn_dta_frs_U= 'bdydata_grid_U.nc' ! name of data file (U-points) - cn_dta_frs_V= 'bdydata_grid_V.nc' ! name of data file (V-points) - cn_dta_fla_T= 'bdydata_bt_grid_T.nc' ! name of data file for Flather condition (T-points) - cn_dta_fla_U= 'bdydata_bt_grid_U.nc' ! name of data file for Flather condition (U-points) - cn_dta_fla_V= 'bdydata_bt_grid_V.nc' ! name of data file for Flather condition (V-points) - - ln_clim = .false. ! contain 1 (T) or 12 (F) time dumps and be cyclic - ln_vol = .false. ! total volume correction (see volbdy parameter) - ln_mask = .false. ! boundary mask from filbdy_mask (T), boundaries are on edges of domain (F) - ln_tides = .false. ! Apply tidal harmonic forcing with Flather condition - ln_dyn_fla = .false. ! Apply Flather condition to velocities - ln_tra_frs = .false. ! Apply FRS condition to temperature and salinity - ln_dyn_frs = .false. ! Apply FRS condition to velocities - nn_rimwidth = 9 ! width of the relaxation zone - nn_dtactl = 1 ! = 0, bdy data are equal to the initial state - ! = 1, bdy data are read in 'bdydata .nc' files - nn_volctl = 0 ! = 0, the total water flux across open boundaries is zero - ! = 1, the total volume of the system is conserved -/ -!----------------------------------------------------------------------- -&nambdy_tide ! tidal forcing at unstructured boundaries -!----------------------------------------------------------------------- - filtide = 'bdytide_' ! file name root of tidal forcing files - tide_cpt = 'M2','S1' ! names of tidal components used - tide_speed = 28.984106, 15.000001 ! phase speeds of tidal components (deg/hour) - ln_tide_date= .false. ! adjust tidal harmonics for start date of run -/ - -!!====================================================================== -!! *** Bottom boundary condition *** -!!====================================================================== -!! nambfr bottom friction -!! nambbc bottom temperature boundary condition -!! nambbl bottom boundary layer scheme ("key_trabbl") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nambfr ! bottom friction -!----------------------------------------------------------------------- - nn_bfr = 2 ! type of bottom friction : = 0 : free slip, = 1 : linear friction - ! = 2 : nonlinear friction - rn_bfri1 = 4.e-4 ! bottom drag coefficient (linear case) - rn_bfri2 = 1.e-3 ! bottom drag coefficient (non linear case) - rn_bfeb2 = 2.5e-3 ! bottom turbulent kinetic energy background (m2/s2) - ln_bfr2d = .false. ! horizontal variation of the bottom friction coef (read a 2D mask file ) - rn_bfrien = 50. ! local multiplying factor of bfr (ln_bfr2d=T) -/ -!----------------------------------------------------------------------- -&nambbc ! bottom temperature boundary condition -!----------------------------------------------------------------------- - ln_trabbc = .false. ! Apply a geothermal heating at the ocean bottom - nn_geoflx = 0 ! geothermal heat flux: = 0 no flux - ! = 1 constant flux - ! = 2 variable flux (read in geothermal_heating.nc in mW/m2) - rn_geoflx_cst = 86.4e-3 ! Constant value of geothermal heat flux [W/m2] -/ -!----------------------------------------------------------------------- -&nambbl ! bottom boundary layer scheme -!----------------------------------------------------------------------- - nn_bbl_ldf = 1 ! diffusive bbl (=1) or not (=0) - nn_bbl_adv = 0 ! advective bbl (=1/2) or not (=0) - rn_ahtbbl = 5000. ! lateral mixing coefficient in the bbl [m2/s] - rn_gambbl = 10. ! advective bbl coefficient [s] -/ - -!!====================================================================== -!! Tracer (T & S ) namelists -!!====================================================================== -!! nameos equation of state -!! namtra_adv advection scheme -!! namtra_ldf lateral diffusion scheme -!! namtra_dmp T & S newtonian damping ("key_tradmp") -!!====================================================================== -! -!----------------------------------------------------------------------- -&nameos ! ocean physical parameters -!----------------------------------------------------------------------- - nn_eos = 0 ! type of equation of state and Brunt-Vaisala frequency - ! = 0, UNESCO (formulation of Jackett and McDougall (1994) and of McDougall (1987) ) - ! = 1, linear: rho(T) = rau0 * ( 1.028 - ralpha * T ) - ! = 2, linear: rho(T,S) = rau0 * ( rbeta * S - ralpha * T ) - rn_alpha = 1.67e-4 ! thermal expension coefficient (nn_eos= 1 or 2) - rn_beta = 0.78e-4 ! saline expension coefficient (nn_eos= 2) -/ -!----------------------------------------------------------------------- -&namtra_adv ! advection scheme for tracer -!----------------------------------------------------------------------- - ln_traadv_cen2 = .false. ! 2nd order centered scheme - ln_traadv_tvd = .true. ! TVD scheme - ln_traadv_muscl = .false. ! MUSCL scheme - ln_traadv_muscl2 = .false. ! MUSCL2 scheme + cen2 at boundaries - ln_traadv_ubs = .false. ! UBS scheme - ln_traadv_qck = .false. ! QUCIKEST scheme -/ -!----------------------------------------------------------------------- -&namtra_ldf ! lateral diffusion scheme for tracer -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_traldf_lap = .true. ! laplacian operator - ln_traldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_traldf_level = .false. ! iso-level - ln_traldf_hor = .false. ! horizontal (geopotential) (require "key_ldfslp" when ln_sco=T) - ln_traldf_iso = .true. ! iso-neutral (require "key_ldfslp") - ln_traldf_grif = .false. ! griffies skew flux formulation (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ln_traldf_gdia = .false. ! griffies operator strfn diagnostics (require "key_ldfslp") ! UNDER TEST, DO NOT USE - ! ! Coefficient - rn_aht_0 = 1000. ! horizontal eddy diffusivity for tracers [m2/s] - rn_ahtb_0 = 0. ! background eddy diffusivity for ldf_iso [m2/s] - rn_aeiv_0 = 1000. ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") -/ -!----------------------------------------------------------------------- -&namtra_dmp ! tracer: T & S newtonian damping ('key_tradmp') -!----------------------------------------------------------------------- - nn_hdmp = -1 ! horizontal shape =-1, damping in Med and Red Seas only - ! =XX, damping poleward of XX degrees (XX>0) - ! + F(distance-to-coast) + Red and Med Seas - nn_zdmp = 1 ! vertical shape =0 damping throughout the water column - ! =1 no damping in the mixing layer (kz criteria) - ! =2 no damping in the mixed layer (rho crieria) - rn_surf = 50. ! surface time scale of damping [days] - rn_bot = 360. ! bottom time scale of damping [days] - rn_dep = 800. ! depth of transition between rn_surf and rn_bot [meters] - nn_file = 0 ! create a damping.coeff NetCDF file (=1) or not (=0) -/ - -!!====================================================================== -!! *** Dynamics namelists *** -!!====================================================================== -!! namdyn_adv formulation of the momentum advection -!! namdyn_vor advection scheme -!! namdyn_hpg hydrostatic pressure gradient -!! namdyn_spg surface pressure gradient (CPP key only) -!! namdyn_ldf lateral diffusion scheme -!!====================================================================== -! -!----------------------------------------------------------------------- -&namdyn_adv ! formulation of the momentum advection -!----------------------------------------------------------------------- - ln_dynadv_vec = .true. ! vector form (T) or flux form (F) - ln_dynadv_cen2= .false. ! flux form - 2nd order centered scheme - ln_dynadv_ubs = .false. ! flux form - 3rd order UBS scheme -/ -!----------------------------------------------------------------------- -&namdyn_vor ! option of physics/algorithm (not control by CPP keys) -!----------------------------------------------------------------------- - ln_dynvor_ene = .false. ! enstrophy conserving scheme - ln_dynvor_ens = .true. ! energy conserving scheme - ln_dynvor_mix = .false. ! mixed scheme - ln_dynvor_een = .false. ! energy & enstrophy scheme -/ -!----------------------------------------------------------------------- -&namdyn_hpg ! Hydrostatic pressure gradient option -!----------------------------------------------------------------------- - ln_hpg_zco = .false. ! z-coordinate - full steps - ln_hpg_zps = .true. ! z-coordinate - partial steps (interpolation) - ln_hpg_sco = .false. ! s-coordinate (standard jacobian formulation) - ln_hpg_hel = .false. ! s-coordinate (helsinki modification) - ln_hpg_wdj = .false. ! s-coordinate (weighted density jacobian) - ln_hpg_djc = .false. ! s-coordinate (Density Jacobian with Cubic polynomial) - ln_hpg_rot = .false. ! s-coordinate (ROTated axes scheme) - rn_gamma = 0.e0 ! weighting coefficient (wdj scheme) - ln_dynhpg_imp = .false. ! time stepping: semi-implicit time scheme (T) - ! centered time scheme (F) -/ -!----------------------------------------------------------------------- -!namdyn_spg ! surface pressure gradient (CPP key only) -!----------------------------------------------------------------------- -! ! explicit free surface ("key_dynspg_exp") -! ! filtered free surface ("key_dynspg_flt") -! ! split-explicit free surface ("key_dynspg_ts") - -!----------------------------------------------------------------------- -&namdyn_ldf ! lateral diffusion on momentum -!----------------------------------------------------------------------- - ! ! Type of the operator : - ln_dynldf_lap = .true. ! laplacian operator - ln_dynldf_bilap = .false. ! bilaplacian operator - ! ! Direction of action : - ln_dynldf_level = .false. ! iso-level - ln_dynldf_hor = .true. ! horizontal (geopotential) (require "key_ldfslp" in s-coord.) - ln_dynldf_iso = .false. ! iso-neutral (require "key_ldfslp") - ! ! Coefficient - rn_ahm_0_lap = 10000. ! horizontal laplacian eddy viscosity [m2/s] - rn_ahmb_0 = 0. ! background eddy viscosity for ldf_iso [m2/s] - rn_ahm_0_blp = 0. ! horizontal bilaplacian eddy viscosity [m4/s] -/ - -!!====================================================================== -!! Tracers & Dynamics vertical physics namelists -!!====================================================================== -!! namzdf vertical physics -!! namzdf_ric richardson number dependent vertical mixing ("key_zdfric") -!! namzdf_tke TKE dependent vertical mixing ("key_zdftke") -!! namzdf_kpp KPP dependent vertical mixing ("key_zdfkpp") -!! namzdf_ddm double diffusive mixing parameterization ("key_zdfddm") -!! namzdf_tmx tidal mixing parameterization ("key_zdftmx") -!!====================================================================== -! -!----------------------------------------------------------------------- -&namzdf ! vertical physics -!----------------------------------------------------------------------- - rn_avm0 = 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") - rn_avt0 = 1.2e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") - nn_avb = 0 ! profile for background avt & avm (=1) or not (=0) - nn_havtb = 0 ! horizontal shape for avtb (=1) or not (=0) - ln_zdfevd = .true. ! enhanced vertical diffusion (evd) (T) or not (F) - nn_evdm = 1 ! evd apply on tracer (=0) or on tracer and momentum (=1) - rn_avevd = 100. ! evd mixing coefficient [m2/s] - ln_zdfnpc = .false. ! Non-Penetrative Convective algorithm (T) or not (F) - nn_npc = 1 ! frequency of application of npc - nn_npcp = 365 ! npc control print frequency - ln_zdfexp = .false. ! time-stepping: split-explicit (T) or implicit (F) time stepping - nn_zdfexp = 3 ! number of sub-timestep for ln_zdfexp=T -/ -!----------------------------------------------------------------------- -&namzdf_ric ! richardson number dependent vertical diffusion ("key_zdfric" ) -!----------------------------------------------------------------------- - rn_avmri = 100.e-4 ! maximum value of the vertical viscosity - rn_alp = 5. ! coefficient of the parameterization - nn_ric = 2 ! coefficient of the parameterization -/ -!----------------------------------------------------------------------- -&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke") -!----------------------------------------------------------------------- - rn_ediff = 0.1 ! coef. for vertical eddy coef. (avt=rn_ediff*mxl*sqrt(e) ) - rn_ediss = 0.7 ! coef. of the Kolmogoroff dissipation - rn_ebb = 60. ! coef. of the surface input of tke (=67.83 suggested when ln_mxl0=T) - rn_emin = 1.e-6 ! minimum value of tke [m2/s2] - rn_emin0 = 1.e-4 ! surface minimum value of tke [m2/s2] - nn_mxl = 3 ! mixing length: = 0 bounded by the distance to surface and bottom - ! = 1 bounded by the local vertical scale factor - ! = 2 first vertical derivative of mixing length bounded by 1 - ! = 3 as =2 with distinct disspipative an mixing length scale - nn_pdl = 1 ! Prandtl number function of richarson number (=1, avt=pdl(Ri)*avm) or not (=0, avt=avm) - ln_mxl0 = .false. ! surface mixing length scale = F(wind stress) (T) or not (F) - rn_mxl0 = 0.001 ! surface buoyancy lenght scale minimum value - ln_lc = .true. ! Langmuir cell parameterisation (Axell 2002) - rn_lc = 0.15 ! coef. associated to Langmuir cells - nn_etau = 1 ! penetration of tke below the mixed layer (ML) due to internal & intertial waves - ! = 0 no penetration - ! = 1 add a tke source below the ML - ! = 2 add a tke source just at the base of the ML - ! = 3 as = 1 applied on HF part of the stress ("key_coupled") - rn_efr = 0.05 ! fraction of surface tke value which penetrates below the ML (nn_etau=1 or 2) - nn_htau = 1 ! type of exponential decrease of tke penetration below the ML - ! = 0 constant 10 m length scale - ! = 1 0.5m at the equator to 30m poleward of 40 degrees -/ -!------------------------------------------------------------------------ -&namzdf_kpp ! K-Profile Parameterization dependent vertical mixing ("key_zdfkpp", and optionally: -!------------------------------------------------------------------------ "key_kppcustom" or "key_kpplktb") - ln_kpprimix = .true. ! shear instability mixing - rn_difmiw = 1.0e-04 ! constant internal wave viscosity [m2/s] - rn_difsiw = 0.1e-04 ! constant internal wave diffusivity [m2/s] - rn_riinfty = 0.8 ! local Richardson Number limit for shear instability - rn_difri = 0.0050 ! maximum shear mixing at Rig = 0 [m2/s] - rn_bvsqcon = -0.01e-07 ! Brunt-Vaisala squared for maximum convection [1/s2] - rn_difcon = 1. ! maximum mixing in interior convection [m2/s] - nn_avb = 0 ! horizontal averaged (=1) or not (=0) on avt and amv - nn_ave = 1 ! constant (=0) or profile (=1) background on avt -/ -!----------------------------------------------------------------------- -&namzdf_gls ! GLS vertical diffusion ("key_zdfgls") -!----------------------------------------------------------------------- - rn_emin = 1.e-6 ! minimum value of e [m2/s2] - rn_epsmin = 1.e-12 ! minimum value of eps [m2/s3] - ln_length_lim = .true. ! limit on the dissipation rate under stable stratification (Galperin et al., 1988) - rn_clim_galp = 0.53 ! galperin limit - ln_crban = .true. ! Use Craig & Banner (1994) surface wave mixing parametrisation - ln_sigpsi = .true. ! Activate or not Burchard 2001 mods on psi schmidt number in the wb case - rn_crban = 100. ! Craig and Banner 1994 constant for wb tke flux - rn_charn = 70000. ! Charnock constant for wb induced roughness length - nn_tkebc_surf = 1 ! surface tke condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_tkebc_bot = 1 ! bottom tke condition (0/1=Dir/Neum) - nn_psibc_surf = 1 ! surface psi condition (0/1/2=Dir/Neum/Dir Mellor-Blumberg) - nn_psibc_bot = 1 ! bottom psi condition (0/1=Dir/Neum) - nn_stab_func = 2 ! stability function (0=Galp, 1= KC94, 2=CanutoA, 3=CanutoB) - nn_clos = 1 ! predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) -/ -!----------------------------------------------------------------------- -&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm") -!----------------------------------------------------------------------- - rn_avts = 1.e-4 ! maximum avs (vertical mixing on salinity) - rn_hsbfr = 1.6 ! heat/salt buoyancy flux ratio -/ -!----------------------------------------------------------------------- -&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx") -!----------------------------------------------------------------------- - rn_htmx = 500. ! vertical decay scale for turbulence (meters) - rn_n2min = 1.e-8 ! threshold of the Brunt-Vaisala frequency (s-1) - rn_tfe = 0.333 ! tidal dissipation efficiency - rn_me = 0.2 ! mixing efficiency - ln_tmx_itf = .FALSE. ! ITF specific parameterisation - rn_tfe_itf = 1. ! ITF tidal dissipation efficiency -/ - -!!====================================================================== -!! *** Miscelaneous namelists *** -!!====================================================================== -!! nammpp Massively Parallel Processing ("key_mpp_mpi) -!! nammpp_dyndist Massively Parallel domain decomposition ("key_agrif" && "key_mpp_dyndist") -!! namctl Control prints & Benchmark -!! namsol elliptic solver / island / free surface -!!====================================================================== -! -!----------------------------------------------------------------------- -&namsol ! elliptic solver / island / free surface -!----------------------------------------------------------------------- - nn_solv = 1 ! elliptic solver: =1 preconditioned conjugate gradient (pcg) - ! =2 successive-over-relaxation (sor) - nn_sol_arp = 0 ! absolute/relative (0/1) precision convergence test - rn_eps = 1.e-6 ! absolute precision of the solver - nn_nmin = 300 ! minimum of iterations for the SOR solver - nn_nmax = 2000 ! maximum of iterations for the SOR solver - nn_nmod = 10 ! frequency of test for the SOR solver - rn_resmax = 1.e-10 ! absolute precision for the SOR solver - rn_sor = 1.92 ! optimal coefficient for SOR solver (to be adjusted with the domain) -/ -!----------------------------------------------------------------------- -&nammpp ! Massively Parallel Processing ("key_mpp_mpi) -!----------------------------------------------------------------------- - cn_mpi_send = 'I' ! mpi send/recieve type ='S', 'B', or 'I' for standard send, - ! buffer blocking send or immediate non-blocking sends, resp. - nn_buffer = 0 ! size in bytes of exported buffer ('B' case), 0 no exportation -/ -!----------------------------------------------------------------------- -&nammpp_dyndist ! Massively Parallel Distribution for AGRIF zoom ("key_agrif" && "key_mpp_dyndist") -!----------------------------------------------------------------------- - jpni = 6 ! jpni number of processors following i - jpnj = 6 ! jpnj number of processors following j - jpnij = 36 ! jpnij number of local domains -/ -!----------------------------------------------------------------------- -&namctl ! Control prints & Benchmark -!----------------------------------------------------------------------- - ln_ctl = .false. ! trends control print (expensive!) - nn_print = 0 ! level of print (0 no extra print) - nn_ictls = 0 ! start i indice of control sum (use to compare mono versus - nn_ictle = 0 ! end i indice of control sum multi processor runs - nn_jctls = 0 ! start j indice of control over a subdomain) - nn_jctle = 0 ! end j indice of control - nn_isplt = 6 ! number of processors in i-direction - nn_jsplt = 6 ! number of processors in j-direction - nn_bench = 0 ! Bench mode (1/0): CAUTION use zero except for bench - ! (no physical validity of the results) -/ - -!!====================================================================== -!! *** Diagnostics namelists *** -!!====================================================================== -!! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") -!! namtrd dynamics and/or tracer trends ("key_trddyn","key_trdtra","key_trdmld") -!! namflo float parameters ("key_float") -!! namptr Poleward Transport Diagnostics -!! namhsb Heat and salt budgets -!!====================================================================== -! -!----------------------------------------------------------------------- -&namnc4 ! netcdf4 chunking and compression settings ("key_netcdf4") -!----------------------------------------------------------------------- - nn_nchunks_i= 4 ! number of chunks in i-dimension - nn_nchunks_j= 4 ! number of chunks in j-dimension - nn_nchunks_k= 31 ! number of chunks in k-dimension - ! setting nn_nchunks_k = jpk will give a chunk size of 1 in the vertical which - ! is optimal for postprocessing which works exclusively with horizontal slabs - ln_nc4zip = .true. ! (T) use netcdf4 chunking and compression - ! (F) ignore chunking information and produce netcdf3-compatible files -/ -!----------------------------------------------------------------------- -&namtrd ! diagnostics on dynamics and/or tracer trends ("key_trddyn" and/or "key_trdtra") -! ! or mixed-layer trends or barotropic vorticity ("key_trdmld" or "key_trdvor") -!----------------------------------------------------------------------- - nn_trd = 365 ! time step frequency dynamics and tracers trends - nn_ctls = 0 ! control surface type in mixed-layer trends (0,1 or n /seconds ; =86400. -> /day) - cn_trdrst_in = "restart_mld" ! suffix of ocean restart name (input) - cn_trdrst_out = "restart_mld" ! suffix of ocean restart name (output) - ln_trdmld_restart = .false. ! restart for ML diagnostics - ln_trdmld_instant = .false. ! flag to diagnose trends of instantantaneous or mean ML T/S -/ -!----------------------------------------------------------------------- -&namflo ! float parameters ("key_float") -!----------------------------------------------------------------------- - ln_rstflo = .false. ! float restart (T) or not (F) - nn_writefl = 75 ! frequency of writing in float output file - nn_stockfl = 5475 ! frequency of creation of the float restart file - ln_argo = .false. ! Argo type floats (stay at the surface each 10 days) - ln_flork4 = .false. ! trajectories computed with a 4th order Runge-Kutta (T) - ! or computed with Blanke' scheme (F) -/ -!----------------------------------------------------------------------- -&namptr ! Poleward Transport Diagnostic -!----------------------------------------------------------------------- - ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) - ln_diaznl = .false. ! Add zonal means and meridional stream functions - ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not - ! (orca configuration only, need input basins mask file named "subbasins.nc" - ln_ptrcomp = .true. ! Add decomposition : overturning - nn_fptr = 1 ! Frequency of ptr computation [time step] - nn_fwri = 15 ! Frequency of ptr outputs [time step] -/ -!----------------------------------------------------------------------- -&namhsb ! Heat and salt budgets -!----------------------------------------------------------------------- - ln_diahsb = .false. ! check the heat and salt budgets (T) or not (F) -/ - -!!====================================================================== -!! *** Observation & Assimilation namelists *** -!!====================================================================== -!! namobs observation and model comparison ('key_diaobs') -!! nam_asminc assimilation increments ('key_asminc') -!!====================================================================== -! -!----------------------------------------------------------------------- -&namobs ! observation usage switch ('key_diaobs') -!----------------------------------------------------------------------- - ln_t3d = .false. ! Logical switch for T profile observations - ln_s3d = .false. ! Logical switch for S profile observations - ln_ena = .false. ! Logical switch for ENACT insitu data set - ! ! ln_cor Logical switch for Coriolis insitu data set - ln_profb = .false. ! Logical switch for feedback insitu data set - ln_sla = .false. ! Logical switch for SLA observations - - ln_sladt = .false. ! Logical switch for AVISO SLA data - - ln_slafb = .false. ! Logical switch for feedback SLA data - ! ln_ssh Logical switch for SSH observations - - ln_sst = .false. ! Logical switch for SST observations - ! ln_reysst Logical switch for Reynolds observations - ! ln_ghrsst Logical switch for GHRSST observations - - ln_sstfb = .false. ! Logical switch for feedback SST data - ! ln_sss Logical switch for SSS observations - ! ln_seaice Logical switch for Sea Ice observations - ! ln_vel3d Logical switch for velocity observations - ! ln_velavcur Logical switch for velocity daily av. cur. - ! ln_velhrcur Logical switch for velocity high freq. cur. - ! ln_velavadcp Logical switch for velocity daily av. ADCP - ! ln_velhradcp Logical switch for velocity high freq. ADCP - ! ln_velfb Logical switch for feedback velocity data - ! ln_grid_global Global distribtion of observations - ! ln_grid_search_lookup Logical switch for obs grid search w/lookup table - ! grid_search_file Grid search lookup file header - ! enactfiles ENACT input observation file names - ! coriofiles Coriolis input observation file name - ! ! profbfiles: Profile feedback input observation file name - profbfiles = 'profiles_01.nc' - ! ln_profb_enatim Enact feedback input time setting switch - ! slafilesact Active SLA input observation file name - ! slafilespas Passive SLA input observation file name - ! ! slafbfiles: Feedback SLA input observation file name - slafbfiles = 'sla_01.nc' - ! sstfiles GHRSST input observation file name - ! ! sstfbfiles: Feedback SST input observation file name - sstfbfiles = 'sst_01.nc' 'sst_02.nc' 'sst_03.nc' 'sst_04.nc' 'sst_05.nc' - ! seaicefiles Sea Ice input observation file name - ! velavcurfiles Vel. cur. daily av. input file name - ! velhvcurfiles Vel. cur. high freq. input file name - ! velavadcpfiles Vel. ADCP daily av. input file name - ! velhvadcpfiles Vel. ADCP high freq. input file name - ! velfbfiles Vel. feedback input observation file name - ! dobsini Initial date in window YYYYMMDD.HHMMSS - ! dobsend Final date in window YYYYMMDD.HHMMSS - ! n1dint Type of vertical interpolation method - ! n2dint Type of horizontal interpolation method - ! ln_nea Rejection of observations near land switch - nmsshc = 0 ! MSSH correction scheme - ! mdtcorr MDT correction - ! mdtcutoff MDT cutoff for computed correction - ln_altbias = .false. ! Logical switch for alt bias - ln_ignmis = .true. ! Logical switch for ignoring missing files - ! endailyavtypes ENACT daily average types - ln_grid_global = .true. - ln_grid_search_lookup = .false. -/ -!----------------------------------------------------------------------- -&nam_asminc ! assimilation increments ('key_asminc') -!----------------------------------------------------------------------- - ln_bkgwri = .false. ! Logical switch for writing out background state - ln_trjwri = .false. ! Logical switch for writing out state trajectory - ln_trainc = .false. ! Logical switch for applying tracer increments - ln_dyninc = .false. ! Logical switch for applying velocity increments - ln_sshinc = .false. ! Logical switch for applying SSH increments - ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) - ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) - nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] - nitdin = 0 ! Timestep of background for DI in [0,nitend-nit000-1] - nitiaustr = 1 ! Timestep of start of IAU interval in [0,nitend-nit000-1] - nitiaufin = 15 ! Timestep of end of IAU interval in [0,nitend-nit000-1] - niaufn = 0 ! Type of IAU weighting function - nittrjfrq = 0 ! Frequency of trajectory output for 4D-VAR - ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin - salfixmin = -9999 ! Minimum salinity after applying the increments -/ diff --git a/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist_ice_lim2.v3.3.default b/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist_ice_lim2.v3.3.default deleted file mode 100755 index 1c93adb16794c443b98c9cfb72c2998943a4cbc8..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/CONFIG/setup/namelist_ice_lim2.v3.3.default +++ /dev/null @@ -1,129 +0,0 @@ -!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -!! NEMO/LIM-2 : 1 - dynamics/advection/thermo (namicerun) -!! namelists 2 - ice intialisation (namiceini) -!! 3 - ice dynamic (namicedyn) -!! 4 - ice advection (namicetrp) -!! 5 - thermodynamic (namicethd) -!! 6 - ice damping (namice_dmp) -!! 7 - ice diagnostics (namicedia) -!! 8 - ice outputs (namiceout) -!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -!----------------------------------------------------------------------- -&namicerun ! Share parameters for dynamics/advection/thermo -!----------------------------------------------------------------------- - cn_icerst_in = "restart_ice_in" ! suffix of ice restart name (input) - cn_icerst_out = "restart_ice" ! suffix of ice restart name (output) - ln_limdyn = .true. ! ice dynamics (T) or thermodynamics only (F) - ln_limdmp = .false. ! restoring ice thickness and fraction leads (T => fill namice_dmp) - acrit = 1.0e-06 , 1.0e-06 ! minimum lead fraction in the Northern & Southern Hemispheres - hsndif = 0.e0 ! computation of temperature in snow (=0.0) or not - hicdif = 0.e0 ! computation of temperature in ice (=0.0) or not (=9999.0) -/ -!----------------------------------------------------------------------- -&namiceini ! ice initialisation -!----------------------------------------------------------------------- - ln_limini = .false. ! read the initial state in 'Ice_initialization.nc' (T) or not (F) - ttest = 2.0 ! threshold water temperature for initial sea ice - hninn = 0.5 ! initial snow thickness in the north - hginn = 3.0 ! initial ice thickness in the north - alinn = 0.05 ! initial leads area in the north - hnins = 0.1 ! same three parameter in the south - hgins = 1.0 ! " " south - alins = 0.1 ! " " south -/ -!----------------------------------------------------------------------- -&namicedyn ! ice dynamic -!----------------------------------------------------------------------- - epsd = 1.0e-20 ! tolerance parameter - alpha = 0.5 ! coefficient for semi-implicit coriolis - dm = 0.6e+03 ! diffusion constant for dynamics - nbiter = 1 ! number of sub-time steps for relaxation - nbitdr = 100 ! maximum number of iterations for relaxation - om = 0.5 ! relaxation constant - resl = 5.0e-05 ! maximum value for the residual of relaxation - cw = 5.0e-03 ! drag coefficient for oceanic stress - angvg = 0.0 ! turning angle for oceanic stress - pstar = 1.0e+04 ! 1st bulk-rheology parameter - c_rhg = 20.0 ! 2nd bulk-rhelogy parameter - etamn = 0.0e+07 ! minimun value for viscosity - creepl = 2.0e-08 ! creep limit - ecc = 2.0 ! eccentricity of the elliptical yield curve - ahi0 = 200.e0 ! horizontal eddy diffusivity coefficient for sea-ice [m2/s] - nevp = 360 ! number of EVP subcycling iterations - telast = 3600 ! timescale for EVP elastic waves - alphaevp = 1.0 ! coefficient for the solution of EVP int. stresses -/ -!----------------------------------------------------------------------- -&namicetrp ! ice transport -!----------------------------------------------------------------------- - bound = 0.0 ! boundary conditions (=0. no-slip, =1. free-slip) -/ -!----------------------------------------------------------------------- -&namicethd ! ice thermodynamic -!----------------------------------------------------------------------- - hmelt = -0.15 ! maximum melting at the bottom - hiccrit = 0.3 , 0.3 ! ice thickness for lateral accretion in the Northern (Southern) Hemisphere - ! ! (caution 1.0, 1.0 best value to be used!!! (gilles G.)) - hicmin = 0.2 ! ice thickness corr. to max. energy stored in brine pocket - hiclim = 0.05 ! minimum ice thickness - amax = 0.999 ! maximum lead fraction - swiqst = 1. ! energy stored in brine pocket (=1) or not (=0) - sbeta = 1. ! numerical caracteritic of the scheme for diffusion in ice - ! Cranck-Nicholson (=0.5), implicit (=1), explicit (=0) - parlat = 0.0 ! percentage of energy used for lateral ablation - hakspl = 0.5 ! slope of distr. for Hakkinen-Mellor's lateral melting - hibspl = 0.5 ! slope of distribution for Hibler's lateral melting - exld = 2.0 ! exponent for leads-closure rate - hakdif = 1.0 ! coefficient for diffusions of ice and snow - thth = 0.2 ! threshold thickness for comp. of eq. thermal conductivity - hnzst = 0.1 ! thickness of the surf. layer in temp. computation - parsub = 1.0 ! switch for snow sublimation or not - alphs = 1.0 ! coefficient for snow density when snow ice formation -/ -!----------------------------------------------------------------------- -&namice_dmp ! damping of sea ice alone open boundaries -! ! (hard coded damping area: check if it fit your config) -!----------------------------------------------------------------------- -! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! -! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! - sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' - sn_cnf = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' -! - cn_dir = './' ! root directory for the location of the runoff files -/ -!----------------------------------------------------------------------- -&namicedia ! ice diagnostics -!----------------------------------------------------------------------- - fmtinf = '1PE13.5' ! format of the output values - nfrinf = 4 ! number of variables written in one line - ntmoy = 1 ! instantaneous values of ice evolution or averaging - ninfo = 1 ! frequency of ouputs on file ice_evolu in case of averaging -/ -!''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -&namiceout ! parameters for outputs -!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -! ! title of the field ! name ! units ! save ! multipl. ! additive ! -! ! ! ! ! or not ! factor ! factor ! - field_1 = 'Snow thickness ', 'isnowthi', 'm ', 1 , 1.0 , 0.0 - field_2 = 'Ice thickness ', 'iicethic', 'm ', 1 , 1.0 , 0.0 - field_3 = 'Ice produced ', 'iiceprod', 'm/kt ', 1 , 1.0 , 0.0 - field_4 = 'Ice concentration ', 'ileadfra', '% ', 1 , -1.0 , 1.0 - field_5 = 'Ice temperature ', 'iicetemp', 'C ', 1 , 1.0 , -273.15 - field_6 = 'Oceanic flux at the ice base ', 'ioceflxb', 'w/m2 ', 1 , 1.0 , 0.0 - field_7 = 'Ice velocity u ', 'iicevelu', 'm/s ', 1 , 1.0 , 0.0 - field_8 = 'Ice velocity v ', 'iicevelv', 'm/s ', 1 , 1.0 , 0.0 - field_9 = 'Sea surface temperature ', 'isstempe', 'C ', 1 , 1.0 , -273.15 - field_10 = 'Sea surface salinity ', 'isssalin', 'PSU ', 1 , 1.0 , 0.0 - field_11 = 'Total flux at ocean surface ', 'iocetflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_12 = 'Solar flux at ocean surface ', 'iocesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_13 = 'Non-solar flux at ocean surface ', 'iocwnsfl', 'w/m2 ', 1 , 1.0 , 0.0 - field_14 = 'Salt flux at ocean surface ', 'iocesafl', 'kg/m2/kt', 1 , 1.0 , 0.0 - field_15 = 'Wind stress u ', 'iocestru', 'Pa ', 1 , 1.0 , 0.0 - field_16 = 'Wind stress v ', 'iocestrv', 'Pa ', 1 , 1.0 , 0.0 - field_17 = 'Solar flux at ice/ocean surface ', 'iicesflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2 ', 1 , 1.0 , 0.0 - field_19 = 'Snow precipitation ', 'isnowpre', 'kg/day ', 1 , 1.0 , 0.0 -! - noumef = 19 ! number of fields -/ diff --git a/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/EXTERNAL/IOIPSL/src/calendar.f90 b/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/EXTERNAL/IOIPSL/src/calendar.f90 deleted file mode 100755 index b600b437f90979651b8e79d93914347620d48067..0000000000000000000000000000000000000000 --- a/deploy/patches/ithaca/nemo/v3.3/NEMOGCM/EXTERNAL/IOIPSL/src/calendar.f90 +++ /dev/null @@ -1,996 +0,0 @@ -MODULE calendar -!- -!$Id: calendar.f90 1011 2010-05-07 13:05:34Z bellier $ -!- -! This software is governed by the CeCILL license -! See IOIPSL/IOIPSL_License_CeCILL.txt -!--------------------------------------------------------------------- -!- This is the calendar which going to be used to do all -!- calculations on time. Three types of calendars are possible : -!- -!- - gregorian : -!- The normal calendar. The time origin for the -!- julian day in this case is 24 Nov -4713 -!- (other names : 'standard','proleptic_gregorian') -!- - noleap : -!- A 365 day year without leap years. -!- The origin for the julian days is in this case 1 Jan 0 -!- (other names : '365_day','365d') -!- - all_leap : -!- A 366 day year with leap years. -!- The origin for the julian days is in this case ???? -!- (other names : '366_day','366d' -!- - julian : -!- same as gregorian, but with all leap century years -!- - xxxd : -!- Year of xxx days with month of equal length. -!- The origin for the julian days is then also 1 Jan 0 -!- -!- As one can see it is difficult to go from one calendar to the other. -!- All operations involving julian days will be wrong. -!- This calendar will lock as soon as possible -!- the length of the year and forbid any further modification. -!- -!- For the non leap-year calendar the method is still brute force. -!- We need to find an Integer series which takes care of the length -!- of the various month. (Jan) -!- -!- one_day : one day in seconds -!- one_year : one year in days -!--------------------------------------------------------------------- - USE stringop,ONLY : strlowercase - USE errioipsl,ONLY : ipslerr -!- - PRIVATE - PUBLIC :: ymds2ju,ju2ymds,tlen2itau,isittime,ioconf_calendar, & - & ioget_calendar,ioget_mon_len,ioget_year_len,itau2date, & - & ioget_timestamp,ioconf_startdate,itau2ymds, & - & time_diff,time_add,lock_calendar -!- - INTERFACE ioget_calendar - MODULE PROCEDURE & - & ioget_calendar_real1,ioget_calendar_real2,ioget_calendar_str - END INTERFACE -!- - INTERFACE ioconf_startdate - MODULE PROCEDURE & - & ioconf_startdate_simple,ioconf_startdate_internal, & - & ioconf_startdate_ymds - END INTERFACE -!- - REAL,PARAMETER :: one_day = 86400.0 - LOGICAL,SAVE :: lock_startdate = .FALSE. -!- - CHARACTER(LEN=30),SAVE :: time_stamp='XXXXXXXXXXXXXXXX' -!- -!- Description of calendar -!- - CHARACTER(LEN=20),SAVE :: calendar_used="gregorian" - LOGICAL,SAVE :: lock_one_year = .FALSE. - REAL,SAVE :: one_year = 365.2425 - INTEGER,SAVE :: mon_len(12)=(/31,28,31,30,31,30,31,31,30,31,30,31/) -!- - CHARACTER(LEN=3),PARAMETER :: & - & cal(12) = (/'JAN','FEB','MAR','APR','MAY','JUN', & - & 'JUL','AUG','SEP','OCT','NOV','DEC'/) -!- - REAL,SAVE :: start_day,start_sec -!- -CONTAINS -!- -!=== -!- -SUBROUTINE lock_calendar (new_status,old_status) -!!-------------------------------------------------------------------- -!! The "lock_calendar" routine -!! allows to lock or unlock the calendar, -!! and to know the current status of the calendar. -!! Be careful ! -!! -!! SUBROUTINE lock_calendar (new_status,old_status) -!! -!! Optional INPUT argument -!! -!! (L) new_status : new status of the calendar -!! -!! Optional OUTPUT argument -!! -!! (L) old_status : current status of the calendar -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - LOGICAL,OPTIONAL,INTENT(IN) :: new_status - LOGICAL,OPTIONAL,INTENT(OUT) :: old_status -!--------------------------------------------------------------------- - IF (PRESENT(old_status)) THEN - old_status = lock_one_year - ENDIF - IF (PRESENT(new_status)) THEN - lock_one_year = new_status - ENDIF -!--------------------------- -END SUBROUTINE lock_calendar -!- -!=== -!- -SUBROUTINE ymds2ju (year,month,day,sec,julian) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - REAL,INTENT(OUT) :: julian -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!- - julian = julian_day+julian_sec/one_day -!--------------------- -END SUBROUTINE ymds2ju -!- -!=== -!- -SUBROUTINE ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!--------------------------------------------------------------------- -!- Converts year, month, day and seconds into a julian day -!- -!- In 1968 in a letter to the editor of Communications of the ACM -!- (CACM, volume 11, number 10, October 1968, p.657) Henry F. Fliegel -!- and Thomas C. Van Flandern presented such an algorithm. -!- -!- See also : http://www.magnet.ch/serendipity/hermetic/cal_stud/jdn.htm -!- -!- In the case of the Gregorian calendar we have chosen to use -!- the Lilian day numbers. This is the day counter which starts -!- on the 15th October 1582. -!- This is the day at which Pope Gregory XIII introduced the -!- Gregorian calendar. -!- Compared to the true Julian calendar, which starts some -!- 7980 years ago, the Lilian days are smaler and are dealt with -!- easily on 32 bit machines. With the true Julian days you can only -!- the fraction of the day in the real part to a precision of -!- a 1/4 of a day with 32 bits. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - INTEGER,INTENT(OUT) :: julian_day - REAL,INTENT(OUT) :: julian_sec -!- - INTEGER :: jd,m,y,d,ml -!--------------------------------------------------------------------- - lock_one_year = .TRUE. -!- - m = month - y = year - d = day -!- -!- We deduce the calendar from the length of the year as it -!- is faster than an INDEX on the calendar variable. -!- - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!-- "Gregorian" - jd = (1461*(y+4800+INT((m-14)/12)))/4 & - & +(367*(m-2-12*(INT((m-14)/12))))/12 & - & -(3*((y+4900+INT((m-14)/12))/100))/4 & - & +d-32075 - jd = jd-2299160 - ELSE IF ( (ABS(one_year-365.0) <= EPSILON(one_year)) & - & .OR.(ABS(one_year-366.0) <= EPSILON(one_year)) ) THEN -!-- "No leap" or "All leap" - ml = SUM(mon_len(1:m-1)) - jd = y*NINT(one_year)+ml+(d-1) - ELSE -!-- Calendar with regular month - ml = NINT(one_year/12.) - jd = y*NINT(one_year)+(m-1)*ml+(d-1) - ENDIF -!- - julian_day = jd - julian_sec = sec -!------------------------------ -END SUBROUTINE ymds2ju_internal -!- -!=== -!- -SUBROUTINE ju2ymds (julian,year,month,day,sec) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(IN) :: julian -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - julian_day = INT(julian) - julian_sec = (julian-julian_day)*one_day -!- - CALL ju2ymds_internal(julian_day,julian_sec,year,month,day,sec) -!--------------------- -END SUBROUTINE ju2ymds -!- -!=== -!- -SUBROUTINE ju2ymds_internal (julian_day,julian_sec,year,month,day,sec) -!--------------------------------------------------------------------- -!- This subroutine computes from the julian day the year, -!- month, day and seconds -!- -!- In 1968 in a letter to the editor of Communications of the ACM -!- (CACM, volume 11, number 10, October 1968, p.657) Henry F. Fliegel -!- and Thomas C. Van Flandern presented such an algorithm. -!- -!- See also : http://www.magnet.ch/serendipity/hermetic/cal_stud/jdn.htm -!- -!- In the case of the Gregorian calendar we have chosen to use -!- the Lilian day numbers. This is the day counter which starts -!- on the 15th October 1582. This is the day at which Pope -!- Gregory XIII introduced the Gregorian calendar. -!- Compared to the true Julian calendar, which starts some 7980 -!- years ago, the Lilian days are smaler and are dealt with easily -!- on 32 bit machines. With the true Julian days you can only the -!- fraction of the day in the real part to a precision of a 1/4 of -!- a day with 32 bits. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: julian_day - REAL,INTENT(IN) :: julian_sec -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: l,n,i,jd,j,d,m,y,ml - INTEGER :: add_day - REAL :: eps_day -!--------------------------------------------------------------------- - eps_day = SPACING(one_day) - lock_one_year = .TRUE. -!- - jd = julian_day - sec = julian_sec - IF (sec > (one_day-eps_day)) THEN - add_day = INT(sec/one_day) - sec = sec-add_day*one_day - jd = jd+add_day - ENDIF - IF (sec < -eps_day) THEN - sec = sec+one_day - jd = jd-1 - ENDIF -!- - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!-- Gregorian - jd = jd+2299160 -!- - l = jd+68569 - n = (4*l)/146097 - l = l-(146097*n+3)/4 - i = (4000*(l+1))/1461001 - l = l-(1461*i)/4+31 - j = (80*l)/2447 - d = l-(2447*j)/80 - l = j/11 - m = j+2-(12*l) - y = 100*(n-49)+i+l - ELSE IF ( (ABS(one_year-365.0) <= EPSILON(one_year)) & - & .OR.(ABS(one_year-366.0) <= EPSILON(one_year)) ) THEN -!-- No leap or All leap - y = jd/NINT(one_year) - l = jd-y*NINT(one_year) - m = 1 - ml = 0 - DO WHILE (ml+mon_len(m) <= l) - ml = ml+mon_len(m) - m = m+1 - ENDDO - d = l-ml+1 - ELSE -!-- others - ml = NINT(one_year/12.) - y = jd/NINT(one_year) - l = jd-y*NINT(one_year) - m = (l/ml)+1 - d = l-(m-1)*ml+1 - ENDIF -!- - day = d - month = m - year = y -!------------------------------ -END SUBROUTINE ju2ymds_internal -!- -!=== -!- -SUBROUTINE tlen2itau (input_str,dt,date,itau) -!--------------------------------------------------------------------- -!- This subroutine transforms a string containing a time length -!- into a number of time steps. -!- To do this operation the date (in julian days is needed as the -!- length of the month varies. -!- The following convention is used : -!- n : n time steps -!- nS : n seconds is transformed into itaus -!- nH : n hours -!- nD : n days -!- nM : n month -!- nY : n years -!- Combinations are also possible -!- nYmD : nyears plus m days ! -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(IN) :: input_str - REAL,INTENT(IN) :: dt,date -!- - INTEGER,INTENT(OUT) :: itau -!- - INTEGER :: y_pos,m_pos,d_pos,h_pos,s_pos - INTEGER :: read_time - CHARACTER(LEN=13) :: fmt - CHARACTER(LEN=80) :: tmp_str -!- - INTEGER :: year,month,day - REAL :: sec,date_new,dd,ss -!--------------------------------------------------------------------- - itau = 0 - CALL ju2ymds (date,year,month,day,sec) -!- - y_pos = MAX(INDEX(input_str,'y'),INDEX(input_str,'Y')) - m_pos = MAX(INDEX(input_str,'m'),INDEX(input_str,'M')) - d_pos = MAX(INDEX(input_str,'d'),INDEX(input_str,'D')) - h_pos = MAX(INDEX(input_str,'h'),INDEX(input_str,'H')) - s_pos = MAX(INDEX(input_str,'s'),INDEX(input_str,'S')) -!- - IF (MAX(y_pos,m_pos,d_pos,s_pos) > 0) THEN - tmp_str = input_str - DO WHILE ( MAX(y_pos,m_pos,d_pos,s_pos) > 0) -!---- WRITE(*,*) tmp_str -!---- WRITE(*,*) y_pos,m_pos,d_pos,s_pos - IF (y_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') y_pos-1 - READ(tmp_str(1:y_pos-1),fmt) read_time - CALL ymds2ju (year+read_time,month,day,sec,date_new) - dd = date_new-date - ss = INT(dd)*one_day+dd-INT(dd) - itau = itau+NINT(ss/dt) - tmp_str = tmp_str(y_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (m_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') m_pos-1 - READ(tmp_str(1:m_pos-1),fmt) read_time - CALL ymds2ju (year,month+read_time,day,sec,date_new) - dd = date_new-date - ss = INT(dd)*one_day+dd-INT(dd) - itau = itau+NINT(ss/dt) - tmp_str = tmp_str(m_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (d_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') d_pos-1 - READ(tmp_str(1:d_pos-1),fmt) read_time - itau = itau+NINT(read_time*one_day/dt) - tmp_str = tmp_str(d_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (h_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') h_pos-1 - READ(tmp_str(1:h_pos-1),fmt) read_time - itau = itau+NINT(read_time*60.*60./dt) - tmp_str = tmp_str(d_pos+1:LEN_TRIM(tmp_str)) - ELSE IF (s_pos > 0) THEN - WRITE(fmt,'("(I",I10.10,")")') s_pos-1 - READ(tmp_str(1:s_pos-1),fmt) read_time - itau = itau+NINT(read_time/dt) - tmp_str = tmp_str(s_pos+1:LEN_TRIM(tmp_str)) - ENDIF -!- - y_pos = MAX(INDEX(tmp_str,'y'),INDEX(tmp_str,'Y')) - m_pos = MAX(INDEX(tmp_str,'m'),INDEX(tmp_str,'M')) - d_pos = MAX(INDEX(tmp_str,'d'),INDEX(tmp_str,'D')) - h_pos = MAX(INDEX(tmp_str,'h'),INDEX(tmp_str,'H')) - s_pos = MAX(INDEX(tmp_str,'s'),INDEX(tmp_str,'S')) - ENDDO - ELSE - WRITE(fmt,'("(I",I10.10,")")') LEN_TRIM(input_str) - READ(input_str(1:LEN_TRIM(input_str)),fmt) itau - ENDIF -!----------------------- -END SUBROUTINE tlen2itau -!- -!=== -!- -REAL FUNCTION itau2date (itau,date0,deltat) -!--------------------------------------------------------------------- -!- This function transforms itau into a date. The date with which -!- the time axis is going to be labeled -!- -!- INPUT -!- itau : current time step -!- date0 : Date at which itau was equal to 0 -!- deltat : time step between itau s -!- -!- OUTPUT -!- itau2date : Date for the given itau -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER :: itau - REAL :: date0,deltat -!--------------------------------------------------------------------- - itau2date = REAL(itau)*deltat/one_day+date0 -!--------------------- -END FUNCTION itau2date -!- -!=== -!- -SUBROUTINE itau2ymds (itau,deltat,year,month,day,sec) -!--------------------------------------------------------------------- -!- This subroutine transforms itau into a date. The date with which -!- the time axis is going to be labeled -!- -!- INPUT -!- itau : current time step -!- deltat : time step between itau s -!- -!- OUTPUT -!- year : year -!- month : month -!- day : day -!- sec : seconds since midnight -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: deltat -!- - INTEGER,INTENT(OUT) :: year,month,day - REAL,INTENT(OUT) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - IF (.NOT.lock_startdate) THEN - CALL ipslerr (2,'itau2ymds', & - & 'You try to call this function, itau2ymds, but you didn''t', & - & ' call ioconf_startdate to initialize date0 in calendar.', & - & ' Please call ioconf_startdate before itau2ymds.') - ENDIF - julian_day = start_day - julian_sec = start_sec+REAL(itau)*deltat - CALL ju2ymds_internal (julian_day,julian_sec,year,month,day,sec) -!----------------------- -END SUBROUTINE itau2ymds -!- -!=== -!- -REAL FUNCTION dtchdate (itau,date0,old_dt,new_dt) -!--------------------------------------------------------------------- -!- This function changes the date so that the simulation can -!- continue with the same itau but a different dt. -!- -!- INPUT -!- itau : current time step -!- date0 : Date at which itau was equal to 0 -!- old_dt : Old time step between itaus -!- new_dt : New time step between itaus -!- -!- OUTPUT -!- dtchdate : Date for the given itau -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: date0,old_dt,new_dt -!- - REAL :: rtime -!--------------------------------------------------------------------- - rtime = itau2date (itau,date0,old_dt) - dtchdate = rtime-REAL(itau)*new_dt/one_day -!-------------------- -END FUNCTION dtchdate -!- -!=== -!- -SUBROUTINE isittime & - & (itau,date0,dt,freq,last_action,last_check,do_action) -!--------------------------------------------------------------------- -!- This subroutine checks the time as come for a given action. -!- This is computed from the current time-step(itau). -!- Thus we need to have the time delta (dt), the frequency -!- of the action (freq) and the last time it was done -!- (last_action in units of itau). -!- In order to extrapolate when will be the next check we need -!- the time step of the last call (last_check). -!- -!- The test is done on the following condition : -!- the distance from the current time to the time for the next -!- action is smaller than the one from the next expected -!- check to the next action. -!- When the test is done on the time steps simplifications make -!- it more difficult to read in the code. -!- For the real time case it is easier to understand ! -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: itau - REAL,INTENT(IN) :: dt,freq - INTEGER,INTENT(IN) :: last_action,last_check - REAL,INTENT(IN) :: date0 -!- - LOGICAL,INTENT(OUT) :: do_action -!- - REAL :: dt_action,dt_check - REAL :: date_last_act,date_next_check,date_next_act, & - & date_now,date_mp1,date_mpf - INTEGER :: year,month,monthp1,day,next_check_itau,next_act_itau - INTEGER :: yearp,dayp - REAL :: sec,secp - LOGICAL :: check = .FALSE. -!--------------------------------------------------------------------- - IF (check) THEN - WRITE(*,*) & - & "isittime 1.0 ",itau,date0,dt,freq,last_action,last_check - ENDIF -!- - IF (last_check >= 0) THEN - dt_action = (itau-last_action)*dt - dt_check = (itau-last_check)*dt - next_check_itau = itau+(itau-last_check) -!- -!-- We are dealing with frequencies in seconds and thus operation -!-- can be done on the time steps. -!- - IF (freq > 0) THEN - IF (ABS(dt_action-freq) <= ABS(dt_action+dt_check-freq)) THEN - do_action = .TRUE. - ELSE - do_action = .FALSE. - ENDIF -!- -!---- Here we deal with frequencies in month and work on julian days. -!- - ELSE - date_now = itau2date (itau,date0,dt) -!KW! blow out part of the code, replace with a quick and dirty fix -!KW! that checks if month of next timestep is equal to current month -!KW! if this isn't true, then doaction=true - CALL ju2ymds (date_now,year,month,day,sec) - date_mp1 = itau2date (itau+1,date0,dt) - CALL ju2ymds (date_mp1,year,monthp1,day,sec) - IF (month /= monthp1) THEN - do_action = .TRUE. -!KW! end of changes - ELSE - do_action = .FALSE. - ENDIF - ENDIF -!- - IF (check) THEN - WRITE(*,*) "isittime 2.0 ", & - & date_next_check,date_next_act,ABS(dt_action-freq), & - & ABS(dt_action+dt_check-freq),dt_action,dt_check, & - & next_check_itau,do_action - ENDIF - ELSE - do_action=.FALSE. - ENDIF -!---------------------- -END SUBROUTINE isittime -!- -!=== -!- -SUBROUTINE ioconf_calendar (str) -!--------------------------------------------------------------------- -!- This routine allows to configure the calendar to be used. -!- This operation is only allowed once and the first call to -!- ymds2ju or ju2ymsd will lock the current configuration. -!- the argument to ioconf_calendar can be any of the following : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(IN) :: str -!- - INTEGER :: leng,ipos - CHARACTER(LEN=20) :: str_w -!--------------------------------------------------------------------- -!- -! Clean up the string ! -!- - str_w = str - CALL strlowercase (str_w) -!- - IF (.NOT.lock_one_year) THEN -!--- - lock_one_year=.TRUE. -!--- - SELECT CASE(TRIM(str_w)) - CASE('gregorian','standard','proleptic_gregorian') - calendar_used = 'gregorian' - one_year = 365.2425 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE('noleap','365_day','365d') - calendar_used = 'noleap' - one_year = 365.0 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE('all_leap','366_day','366d') - calendar_used = 'all_leap' - one_year = 366.0 - mon_len(:)=(/31,29,31,30,31,30,31,31,30,31,30,31/) - CASE('360_day','360d') - calendar_used = '360d' - one_year = 360.0 - mon_len(:)=(/30,30,30,30,30,30,30,30,30,30,30,30/) - CASE('julian') - calendar_used = 'julian' - one_year = 365.25 - mon_len(:)=(/31,28,31,30,31,30,31,31,30,31,30,31/) - CASE DEFAULT - ipos = INDEX(str_w,'d') - IF (ipos == 4) THEN - READ(str_w(1:3),'(I3)') leng - IF ( (MOD(leng,12) == 0).AND.(leng > 1) ) THEN - calendar_used = str_w - one_year = leng - mon_len(:) = leng/12 - ELSE - CALL ipslerr (3,'ioconf_calendar', & - & 'The length of the year as to be a modulo of 12', & - & 'so that it can be divided into 12 month of equal length', & - & TRIM(str_w)) - ENDIF - ELSE - CALL ipslerr (3,'ioconf_calendar', & - & 'Unrecognized input, please check the man pages.', & - & TRIM(str_w),' ') - ENDIF - END SELECT - ELSE IF (TRIM(str_w) /= TRIM(calendar_used)) THEN - WRITE(str_w,'(f10.4)') one_year - CALL ipslerr (2,'ioconf_calendar', & - & 'The calendar was already used or configured to : '// & - & TRIM(calendar_used)//'.', & - & 'You are not allowed to change it to : '//TRIM(str)//'.', & - & 'The following length of year is used : '//TRIM(ADJUSTL(str_w))) - ENDIF -!----------------------------- -END SUBROUTINE ioconf_calendar -!- -!=== -!- -SUBROUTINE ioconf_startdate_simple (julian) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(IN) :: julian -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - julian_day = INT(julian) - julian_sec = (julian-julian_day)*one_day -!- - CALL ioconf_startdate_internal (julian_day,julian_sec) -!------------------------------------- -END SUBROUTINE ioconf_startdate_simple -!- -!=== -!- -SUBROUTINE ioconf_startdate_ymds (year,month,day,sec) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month,day - REAL,INTENT(IN) :: sec -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal (year,month,day,sec,julian_day,julian_sec) -!- - CALL ioconf_startdate_internal (julian_day,julian_sec) -!----------------------------------- -END SUBROUTINE ioconf_startdate_ymds -!- -!=== -!- -SUBROUTINE ioconf_startdate_internal (julian_day,julian_sec) -!--------------------------------------------------------------------- -! This subroutine allows to set the startdate for later -! use. It allows the applications to access the date directly from -! the timestep. In order to avoid any problems the start date will -! be locked and can not be changed once set. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: julian_day - REAL,INTENT(IN) :: julian_sec -!- - CHARACTER(len=70) :: str70a,str70b -!--------------------------------------------------------------------- - IF (.NOT.lock_startdate) THEN - start_day = julian_day - start_sec = julian_sec - lock_startdate = .TRUE. - ELSE - WRITE(str70a,'("The date you tried to set : ",f10.4)') & - & julian_day,julian_sec/one_day - WRITE(str70b, & - & '("The date which was already set in the calendar : ",f10.4)') & - & start_day+start_sec/one_day - CALL ipslerr (2,'ioconf_startdate', & - & 'The start date has already been set and you tried to change it', & - & str70a,str70b) - ENDIF -!--------------------------------------- -END SUBROUTINE ioconf_startdate_internal -!- -!=== -!- -SUBROUTINE ioget_calendar_str (str) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=*),INTENT(OUT) :: str -!--------------------------------------------------------------------- - lock_one_year = .TRUE. -!- - str = calendar_used -!-------------------------------- -END SUBROUTINE ioget_calendar_str -!- -!=== -!- -SUBROUTINE ioget_calendar_real1 (long_year) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(OUT) :: long_year -!--------------------------------------------------------------------- - long_year = one_year - lock_one_year = .TRUE. -!---------------------------------- -END SUBROUTINE ioget_calendar_real1 -!- -!=== -!- -SUBROUTINE ioget_calendar_real2 (long_year,long_day) -!--------------------------------------------------------------------- -!- This subroutine returns the name of the calendar used here. -!- Three options exist : -!- - gregorian : This is the gregorian calendar (default here) -!- - noleap : A calendar without leap years = 365 days -!- - xxxd : A calendar of xxx days (has to be a modulo of 12) -!- with 12 month of equal length -!- -!- This routine will lock the calendar. -!- You do not want it to change after your inquiry. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - REAL,INTENT(OUT) :: long_year,long_day -!--------------------------------------------------------------------- - long_year = one_year - long_day = one_day - lock_one_year = .TRUE. -!---------------------------------- -END SUBROUTINE ioget_calendar_real2 -!- -!=== -!- -INTEGER FUNCTION ioget_mon_len (year,month) -!!-------------------------------------------------------------------- -!! The "ioget_mon_len" function returns -!! the number of days in a "month" of a "year", -!! in the current calendar. -!! -!! INTEGER FUNCTION ioget_mon_len (year,month) -!! -!! INPUT -!! -!! (I) year : year -!! (I) month : month in the year (1 --> 12) -!! -!! OUTPUT -!! -!! (I) ioget_mon_len : number of days in the month -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year,month -!- - INTEGER :: ml -!--------------------------------------------------------------------- - IF ( (month >= 1).AND.(month <= 12) ) THEN - IF ( (one_year > 365.0).AND.(one_year < 366.0) ) THEN -!---- "Gregorian" or "Julian" - ml = mon_len(month) - IF (month == 2) THEN - IF (ABS(one_year-365.2425) <= EPSILON(one_year) ) THEN -!-------- "Gregorian" - IF ( ((MOD(year,4) == 0).AND.(MOD(year,100) /= 0)) & - .OR.(MOD(year,400) == 0) ) THEN - ml = ml+1 - ENDIF - ELSE -!-------- "Julian" - IF (MOD(year,4) == 0) THEN - ml = ml+1 - ENDIF - ENDIF - ENDIF - ioget_mon_len = ml - ELSE -!---- "No leap" or "All leap" or "Calendar with regular month" - ioget_mon_len = mon_len(month) - ENDIF - ELSE - CALL ipslerr (3,'ioget_mon_len', & - & 'The number of the month','must be between','1 and 12') - ENDIF -!------------------------- -END FUNCTION ioget_mon_len -!- -!=== -!- -INTEGER FUNCTION ioget_year_len (year) -!!-------------------------------------------------------------------- -!! The "ioget_year_len" function returns -!! the number of days in "year", in the current calendar. -!! -!! INTEGER FUNCTION ioget_year_len (year) -!! -!! INPUT -!! -!! (I) year : year -!! -!! OUTPUT -!! -!! (I) ioget_year_len : number of days in the year -!!-------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year -!- - INTEGER :: yl -!--------------------------------------------------------------------- - SELECT CASE(TRIM(calendar_used)) - CASE('gregorian') - yl = 365 - IF ( ((MOD(year,4) == 0).AND.(MOD(year,100) /= 0)) & - .OR.(MOD(year,400) == 0) ) THEN - yl = yl+1 - ENDIF - CASE('julian') - yl = 365 - IF (MOD(year,4) == 0) THEN - yl = yl+1 - ENDIF - CASE DEFAULT - yl = NINT(one_year) - END SELECT - ioget_year_len = yl -!-------------------------- -END FUNCTION ioget_year_len -!- -!=== -!- -SUBROUTINE ioget_timestamp (string) -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - CHARACTER(LEN=30),INTENT(OUT) :: string -!- - INTEGER :: date_time(8) - CHARACTER(LEN=10) :: bigben(3) -!--------------------------------------------------------------------- - IF (INDEX(time_stamp,'XXXXXX') > 0) THEN - CALL DATE_AND_TIME (bigben(1),bigben(2),bigben(3),date_time) -!--- - WRITE(time_stamp, & - & "(I4.4,'-',A3,'-',I2.2,' ',I2.2,':',I2.2,':',I2.2,' GMT',a5)") & - & date_time(1),cal(date_time(2)),date_time(3),date_time(5), & - & date_time(6),date_time(7),bigben(3) - ENDIF -!- - string = time_stamp -!----------------------------- -END SUBROUTINE ioget_timestamp -!- -!=== -!- -SUBROUTINE time_add & - & (year_s,month_s,day_s,sec_s,sec_increment, & - & year_e,month_e,day_e,sec_e) -!--------------------------------------------------------------------- -!- This subroutine allows to increment a date by a number of seconds. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year_s,month_s,day_s - REAL,INTENT(IN) :: sec_s -!- -! Time in seconds to be added to the date -!- - REAL,INTENT(IN) :: sec_increment -!- - INTEGER,INTENT(OUT) :: year_e,month_e,day_e - REAL,INTENT(OUT) :: sec_e -!- - INTEGER :: julian_day - REAL :: julian_sec -!--------------------------------------------------------------------- - CALL ymds2ju_internal & - & (year_s,month_s,day_s,sec_s,julian_day,julian_sec) -!- - julian_sec = julian_sec+sec_increment -!- - CALL ju2ymds_internal & - & (julian_day,julian_sec,year_e,month_e,day_e,sec_e) -!---------------------- -END SUBROUTINE time_add -!- -!=== -!- -SUBROUTINE time_diff & - & (year_s,month_s,day_s,sec_s,year_e,month_e,day_e,sec_e,sec_diff) -!--------------------------------------------------------------------- -!- This subroutine allows to determine the number of seconds -!- between two dates. -!--------------------------------------------------------------------- - IMPLICIT NONE -!- - INTEGER,INTENT(IN) :: year_s,month_s,day_s - REAL,INTENT(IN) :: sec_s - INTEGER,INTENT(IN) :: year_e,month_e,day_e - REAL,INTENT(IN) :: sec_e -!- -! Time in seconds between the two dates -!- - REAL,INTENT(OUT) :: sec_diff -!- - INTEGER :: julian_day_s,julian_day_e,day_diff - REAL :: julian_sec_s,julian_sec_e -!--------------------------------------------------------------------- - CALL ymds2ju_internal & - & (year_s,month_s,day_s,sec_s,julian_day_s,julian_sec_s) - CALL ymds2ju_internal & - & (year_e,month_e,day_e,sec_e,julian_day_e,julian_sec_e) -!- - day_diff = julian_day_e-julian_day_s - sec_diff = julian_sec_e-julian_sec_s -!- - sec_diff = sec_diff+day_diff*one_day -!----------------------- -END SUBROUTINE time_diff -!- -!=== -!- -END MODULE calendar diff --git a/deploy/patches/jaguar/ecearth/v3-r719/sources/build-config/compilation.cmd b/deploy/patches/jaguar/ecearth/v3-r719/sources/build-config/compilation.cmd deleted file mode 100755 index c1dcec3aa7fbe7b0c468494fc75792d3f370d646..0000000000000000000000000000000000000000 --- a/deploy/patches/jaguar/ecearth/v3-r719/sources/build-config/compilation.cmd +++ /dev/null @@ -1,353 +0,0 @@ -#!/bin/bash - -# nohup ./compilation.cmd >& compiation.log & - -source /opt/modules/default/etc/modules.sh -module swap PrgEnv-pgi PrgEnv-intel - -set -xuve -date - -MPI=/opt/cray/mpt/5.4.1/xt/gemini/mpich2-intel/120 -LAPACK= -NetCDF=/tmp/proj/cli055/opt/netcdf-3.6.3/intel-12.1 -GribAPI=/tmp/proj/cli055/opt/grib_api-1.9.16/intel-12.1 -GribEX=/tmp/proj/cli055/opt/gribex_000370/intel-12.1 - -cd .. -export ECEARTH=$(pwd) -cd - - -PLATFORM=jaguar-intel-craympi -CONFIG=config.xml - -cat > $CONFIG < - - - - - - -