@@ -63,7 +63,7 @@ class LDASsetup:
6363 # ------
6464 # Optional resource manager input fields
6565 # ------
66- optSlurmInpKeys = ['job_name' , 'qos' , 'oserver_nodes' , 'writers-per-node' ]
66+ optSlurmInpKeys = ['job_name' , 'qos' , 'oserver_nodes' , 'writers-per-node' , 'constraint' ]
6767
6868
6969 # ===============================================================================================
@@ -1573,15 +1573,17 @@ class LDASsetup:
15731573 '.' .join ([expid , 'ldas_err' , myDateTime , 'txt' ]),
15741574 ]),
15751575 self .rundir )
1576- constraint = 'cas'
1577- if self .GEOS_SITE == "NAS" :
1578- constraint = 'cas_ait'
1579- elif self .GEOS_SITE == "NCCS" :
1580- constraint = '"[mil|cas]"'
1576+
1577+ constraint = '"[mil|cas]"'
1578+ if self .GEOS_SITE == "NAS" :
1579+ constraint = 'cas_ait'
1580+
1581+ if 'constraint' in self .optRmInp :
1582+ constraint = self .optRmInp ['constraint' ]
15811583
15821584 SBATCHQSUB = 'sbatch'
15831585 if self .GEOS_SITE == 'NAS' :
1584- SBATCHQSUB = 'qsub'
1586+ SBATCHQSUB = 'qsub'
15851587
15861588 DETECTED_MPI_STACK = "@MPI_STACK@"
15871589
@@ -1863,6 +1865,7 @@ def _printRmInputKeys(rqdRmInpKeys, optRmInpKeys):
18631865 print ('# - writers-per-node = tasks per oserver_node for writing ( default is 5, for future use ),' )
18641866 print ('# IMPORTANT REQUIREMENT: total #writers = writers-per-node * oserver_nodes >= 2' )
18651867 print ('# Jobs will hang when oserver_nodes = writers-per-node = 1.' )
1868+ print ('# - constraint = name of chip set(s) (NCCS default is "[mil|cas]", NAS default is "cas_ait").' )
18661869 print ('#' )
18671870 for key in optRmInpKeys :
18681871 print ('#' + key + ':' )
0 commit comments