[Dart-dev] [5498] DART/branches/development/models/cam/shell_scripts/ CESM_setup_startup.csh: Mostly hardwired for an 80 member layout as per Tony and Mariana.

nancy at ucar.edu nancy at ucar.edu
Wed Jan 11 15:02:37 MST 2012


Revision: 5498
Author:   thoar
Date:     2012-01-11 15:02:37 -0700 (Wed, 11 Jan 2012)
Log Message:
-----------
Mostly hardwired for an 80 member layout as per Tony and Mariana.

Modified Paths:
--------------
    DART/branches/development/models/cam/shell_scripts/CESM_setup_startup.csh

-------------- next part --------------
Modified: DART/branches/development/models/cam/shell_scripts/CESM_setup_startup.csh
===================================================================
--- DART/branches/development/models/cam/shell_scripts/CESM_setup_startup.csh	2012-01-11 21:55:07 UTC (rev 5497)
+++ DART/branches/development/models/cam/shell_scripts/CESM_setup_startup.csh	2012-01-11 22:02:37 UTC (rev 5498)
@@ -55,7 +55,7 @@
 setenv compset              F_2000
 setenv ccsmtag              cesm1_1_beta04
 setenv resolution           f09_f09
-setenv num_instances        4
+setenv num_instances        80
 setenv reuse_existing_case  true
 
 # ================================
@@ -141,25 +141,59 @@
 ./xmlchange -file env_build.xml    -id USE_ESMF_LIB   -val TRUE
 #./xmlchange -file env_build.xml    -id ESMF_LIBDIR    -val ${nancy_scratch}/esmf-mpi
 
-set num_tasks_per_instance = 16
+# The game here is that - for memory reasons - we want 4 ATMs running
+# on a bluefire node ... capable of 64 tasks.
+set num_tasks_per_atm_instance = 16
 set nthreads = 1
-@ total_nt = $num_instances * $num_tasks_per_instance
+@ total_atm = $num_tasks_per_atm_instance * $num_instances
+@ total_ice = $num_tasks_per_atm_instance * $num_instances / 4
+@ total_cpl = $num_tasks_per_atm_instance * $num_instances / 4
+@ total_ocn = $num_tasks_per_atm_instance * 4
+@ ice_start = $total_cpl
+@ ocn_start = $total_cpl + $total_ice
+@ lnd_start = $total_cpl + $total_ice + $total_ocn
+@ total_lnd = $total_atm - $lnd_start
 
-./xmlchange -file env_mach_pes.xml -id NTASKS_ATM -val $total_nt
+# Tony: "if f19_g16, i'd recommend using 320 for cice, 32 for
+# docn, 320 for cpl, and then the rest for clm as a starting point."
+# I'm changing the ratios ... not sure about using half a node
+# [CPL][ICE][DOCN][LND] .... assuming we're using 20 nodes ...
+# 1 node DOCN
+# 5 nodes CPL
+# 5 nodes ICE
+# 9 nodes LND
+
+./xmlchange -file env_mach_pes.xml -id NTASKS_ATM -val $total_atm
 ./xmlchange -file env_mach_pes.xml -id NTHRDS_ATM -val $nthreads
 ./xmlchange -file env_mach_pes.xml -id ROOTPE_ATM -val 0
 ./xmlchange -file env_mach_pes.xml -id  NINST_ATM -val $num_instances
 
-./xmlchange -file env_mach_pes.xml -id NTASKS_LND -val $total_nt
+./xmlchange -file env_mach_pes.xml -id NTASKS_LND -val $total_lnd
 ./xmlchange -file env_mach_pes.xml -id NTHRDS_LND -val $nthreads
-./xmlchange -file env_mach_pes.xml -id ROOTPE_LND -val 0
+./xmlchange -file env_mach_pes.xml -id ROOTPE_LND -val $lnd_start
 ./xmlchange -file env_mach_pes.xml -id  NINST_LND -val $num_instances
 
-./xmlchange -file env_mach_pes.xml -id NTASKS_ICE -val $total_nt
+./xmlchange -file env_mach_pes.xml -id NTASKS_ICE -val $total_ice
 ./xmlchange -file env_mach_pes.xml -id NTHRDS_ICE -val $nthreads
-./xmlchange -file env_mach_pes.xml -id ROOTPE_ICE -val 0
+./xmlchange -file env_mach_pes.xml -id ROOTPE_ICE -val $ice_start
 ./xmlchange -file env_mach_pes.xml -id  NINST_ICE -val $num_instances
 
+./xmlchange -file env_mach_pes.xml -id NTASKS_CPL -val $total_cpl
+./xmlchange -file env_mach_pes.xml -id NTHRDS_CPL -val $nthreads
+./xmlchange -file env_mach_pes.xml -id ROOTPE_CPL -val 0
+
+./xmlchange -file env_mach_pes.xml -id NTASKS_OCN -val $total_ocn
+./xmlchange -file env_mach_pes.xml -id NTHRDS_OCN -val $nthreads
+./xmlchange -file env_mach_pes.xml -id ROOTPE_OCN -val $ocn_start
+./xmlchange -file env_mach_pes.xml -id  NINST_OCN -val 1
+
+./xmlchange -file env_mach_pes.xml -id NTASKS_GLC -val $total_ocn
+./xmlchange -file env_mach_pes.xml -id NTHRDS_GLC -val $nthreads
+./xmlchange -file env_mach_pes.xml -id ROOTPE_GLC -val 0
+./xmlchange -file env_mach_pes.xml -id  NINST_GLC -val 1
+
+./xmlchange -file env_mach_pes.xml -id TOTALPES   -val $total_atm
+
 ./xmlchange -file env_conf.xml -id RUN_TYPE                -val startup
 ./xmlchange -file env_conf.xml -id RUN_STARTDATE           -val $run_startdate
 ./xmlchange -file env_conf.xml -id DOCN_SSTDATA_FILENAME   -val $sst_dataset
@@ -170,6 +204,7 @@
 # The river transport model ON is useful only when using an active ocean or
 # land surface diagnostics.
 
+./xmlchange -file env_run.xml      -id CONTINUE_RUN     -val FALSE
 ./xmlchange -file env_run.xml      -id RESUBMIT         -val $resubmit
 ./xmlchange -file env_run.xml      -id STOP_OPTION      -val $stop_option
 ./xmlchange -file env_run.xml      -id STOP_N           -val $stop_n
@@ -257,7 +292,7 @@
 # only needed for beta04 - fixed in more recent versions
 \cp -f ${ccsmroot}/scripts/ccsm_utils/Tools/lt_archive.csh Tools/.
 
-ln -sf ${DARTdir}/models/cam/shell_scripts/assimilate.startup.csh assimilate.csh
+\cp -f ${DARTdir}/models/cam/shell_scripts/assimilate.startup.csh assimilate.csh
 
 # ====================================================================
 # Update the scripts that build the namelists.
@@ -352,21 +387,28 @@
 "EndOfText"
 
 # Now that the "here" document is created, 
-# determine WHERE to insert it.
+# determine WHERE to insert it -- ONLY IF it is not already there.
 
-set MYSTRING = `grep --line-number "CSM EXECUTION HAS FINISHED" ${case}.${mach}.run`
-set MYSTRING = `echo $MYSTRING | sed -e "s#:# #g"`
+grep --line-number "ABANDON HOPE" ${case}.${mach}.run
+if ( $status == 0 ) then
+   echo "DART block already present in ${case}.${mach}.run"
+else
 
-@ orglen = `cat ${case}.${mach}.run | wc -l`
-@ keep = $MYSTRING[1]
-@ lastlines = $orglen - $keep 
+   set MYSTRING = `grep --line-number "CSM EXECUTION HAS FINISHED" ${case}.${mach}.run`
+   set MYSTRING = `echo $MYSTRING | sed -e "s#:# #g"`
 
-mv ${case}.${mach}.run ${case}.${mach}.run.orig
+   @ orglen = `cat ${case}.${mach}.run | wc -l`
+   @ keep = $MYSTRING[1]
+   @ lastlines = $orglen - $keep 
 
-head -$keep      ${case}.${mach}.run.orig >! ${case}.${mach}.run
-cat              add_to_run.txt           >> ${case}.${mach}.run
-tail -$lastlines ${case}.${mach}.run.orig >> ${case}.${mach}.run
+   mv ${case}.${mach}.run ${case}.${mach}.run.orig
 
+   head -$keep      ${case}.${mach}.run.orig >! ${case}.${mach}.run
+   cat              add_to_run.txt           >> ${case}.${mach}.run
+   tail -$lastlines ${case}.${mach}.run.orig >> ${case}.${mach}.run
+
+endif
+
 # ====================================================================
 # IMPORTANT: All resubmits must be type 'startup'.
 # Change Tools/ccsm_postrun.csh line 83 to CONTINUE_RUN -val FALSE'


More information about the Dart-dev mailing list