62
62
module use /global/cfs/projectdirs/kbase/jaws/modulefiles
63
63
module load jaws
64
64
export JAWS_USER_CONFIG=~/{ _JAWS_CONF_FILENAME }
65
- jaws submit --quiet -- tag {{job_id}} {{wdlpath}} {{inputjsonpath}} {{site}}
65
+ jaws submit --tag {{job_id}} {{wdlpath}} {{inputjsonpath}} {{site}}
66
66
"""
67
67
_JAWS_SITE_PERLMUTTER = "kbase" # add lawrencium later, maybe
68
68
_JAWS_INPUT_WDL = "input.wdl"
@@ -127,7 +127,6 @@ async def create(
127
127
cls ,
128
128
client_provider : Callable [[], AsyncClient ],
129
129
nersc_code_path : Path ,
130
- file_group : str ,
131
130
jaws_token : str ,
132
131
jaws_group : str ,
133
132
) -> Self :
@@ -138,13 +137,11 @@ async def create(
138
137
the user associated with the client does not change.
139
138
nersc_code_path - the path in which to store remote code at NERSC. It is advised to
140
139
include version information in the path to avoid code conflicts.
141
- file_group - the group with which to share downloaded files at NERSC.
142
140
jaws_token - a token for the JGI JAWS system.
143
141
jaws_group - the group to use for running JAWS jobs.
144
142
"""
145
143
nm = NERSCManager (client_provider , nersc_code_path )
146
144
await nm ._setup_remote_code (
147
- _require_string (file_group , "file_group" ),
148
145
_require_string (jaws_token , "jaws_token" ),
149
146
_require_string (jaws_group , "jaws_group" ),
150
147
)
@@ -165,7 +162,7 @@ def _check_path(self, path: Path, name: str):
165
162
raise ValueError (f"{ name } must be absolute to the NERSC root dir" )
166
163
return path
167
164
168
- async def _setup_remote_code (self , file_group : str , jaws_token : str , jaws_group : str ):
165
+ async def _setup_remote_code (self , jaws_token : str , jaws_group : str ):
169
166
# TODO RELIABILITY atomically write files. For these small ones probably doesn't matter?
170
167
cli = self ._client_provider ()
171
168
perlmutter = await cli .compute (Machine .perlmutter )
@@ -195,7 +192,7 @@ async def _setup_remote_code(self, file_group: str, jaws_token: str, jaws_group:
195
192
chmod = "600"
196
193
))
197
194
pm_scratch = tg .create_task (perlmutter .run ("echo $SCRATCH" ))
198
- dtn_scratch = tg .create_task (self ._set_up_dtn_scratch (cli , file_group ))
195
+ dtn_scratch = tg .create_task (self ._set_up_dtn_scratch (cli ))
199
196
if _PIP_DEPENDENCIES :
200
197
deps = " " .join (
201
198
# may need to do something else if module doesn't have __version__
@@ -215,16 +212,13 @@ async def _setup_remote_code(self, file_group: str, jaws_token: str, jaws_group:
215
212
f"NERSC perlmutter scratch path: { self ._perlmutter_scratch } "
216
213
)
217
214
218
- async def _set_up_dtn_scratch (self , client : AsyncClient , file_group : str ) -> Path :
215
+ async def _set_up_dtn_scratch (self , client : AsyncClient ) -> Path :
219
216
dt = await client .compute (_DT_TARGET )
220
217
scratch = await dt .run (f"{ _DT_WORKAROUND } ; echo $SCRATCH" )
221
218
scratch = scratch .strip ()
222
219
if not scratch :
223
220
raise ValueError ("Unable to determine $SCRATCH variable for NERSC dtns" )
224
221
logging .getLogger (__name__ ).info (f"NERSC DTN scratch path: { scratch } " )
225
- await dt .run (
226
- f"{ _DT_WORKAROUND } ; set -e; chgrp { file_group } { scratch } ; chmod g+rsx { scratch } "
227
- )
228
222
return Path (scratch )
229
223
230
224
async def _run_command (self , client : AsyncClient , machine : Machine , exe : str ):
0 commit comments