Try on DesignSafe

Run OpenSees-Express App#

Submit job(s) OpenSees-Express App

by Silvia Mazzoni, DesignSafe, 2025

In this Notebook we are going to run a set of OpenSeesMP jobs and a set of OpenSees-Express Jobs. We are also submitting the jobs from different input-file storage systems – MyData, CommunityData, Work, MyProjects

This notebook serves as a template for submitting the following DesignSafe OpenSees Apps:

  • openSees-express

I have combined all the commands into a common-command cell and one cell per storage system.

We are using previously-defined python function to streamline the process.

Connect to Tapis#

t=OpsUtils.connect_tapis()
 -- Checking Tapis token --
 Token loaded from file. Token is still valid!
 Token expires at: 2025-09-19T21:03:18+00:00
 Token expires in: 3:24:19.851550
-- LOG IN SUCCESSFUL! --

OpenSees-Express#

Common Input#

# initalize
tapisInputAll = {}
tapisInputAll["name"] = 'OpenSeesExpress'

tapisInputAll["appId"] = "opensees-express" # options: "opensees-express", "opensees-mp-s3", "opensees-2p-s3"
tapisInputAll["appVersion"] = "latest" # always use latest in this Notebook Template

tapisInputAll["maxMinutes"] = 6

tapisInputAll['archive_system']='MyData' # Options: MyData (Work does not exist on the OpenSees-Express VM)

MyData#

This job is in the MyData Storage System

# initalize
tapisInput = tapisInputAll.copy()

tapisInput['storage_system'] = 'MyData'  # ########################## unique
tapisInput['input_folder'] = '_ToCommunityData/OpenSees/TrainingMaterial/training-OpenSees-on-DesignSafe/Examples_OpenSees/BasicExamples'  # ########################## unique
tapisInput['Main Script'] = 'Ex1a.Canti2D.Push.tcl' # ########################## unique

tapisInput["name"] = tapisInput["name"] + '_' + tapisInput['storage_system']

jobReturns = OpsUtils.run_tapis_job(t,tapisInput,get_job_metadata=True,get_job_history=True,get_job_filedata=True,askConfirmJob = False,askConfirmMonitorRT = False)

CommunityData#

This job is in the CommunityData Storage System

# initalize
tapisInput = tapisInputAll.copy()

tapisInput['storage_system'] = 'CommunityData' # ########################## unique
tapisInput['input_folder'] = 'OpenSees/TrainingMaterial/training-OpenSees-on-DesignSafe/Examples_OpenSees/BasicExamples'  # ########################## unique
tapisInput['Main Script'] = 'Ex1a.Canti2D.Push.tcl' # ########################## unique

tapisInput["name"] = tapisInput["name"] + '_' + tapisInput['storage_system']

jobReturns = OpsUtils.run_tapis_job(t,tapisInput,get_job_metadata=True,get_job_history=True,get_job_filedata=True,askConfirmJob = False,askConfirmMonitorRT = False)

Work#

This job is in the Work Storage System

# initalize
tapisInput = tapisInputAll.copy()

tapisInput['storage_system'] = 'Work/stampede3'  # ########################## unique
tapisInput['input_folder'] = 'BasicExamples'  # ########################## unique
tapisInput['Main Script'] = 'Ex1a.Canti2D.Push.tcl' # ########################## unique

tapisInput["name"] = tapisInput["name"] + '_' + tapisInput['storage_system']

jobReturns = OpsUtils.run_tapis_job(t,tapisInput,get_job_metadata=True,get_job_history=True,get_job_filedata=True,askConfirmJob = False,askConfirmMonitorRT = False)

MyProjects#

This job is in the MyProjects Storage System

# initalize
tapisInput = tapisInputAll.copy()

tapisInput['storage_system'] = 'MyProjects' # ########################## unique
# The following are project-dependent
tapisInput['storage_system_baseURL'] = 'tapis://project-7997906542076432871-242ac11c-0001-012' # ########################## unique

tapisInput['input_folder'] = 'OpenSees/TrainingMaterial/training-OpenSees-on-DesignSafe/Examples_OpenSees/BasicExamples'  # ########################## unique
tapisInput['Main Script'] = 'Ex1a.Canti2D.Push.tcl'  # ########################## unique

tapisInput["name"] = tapisInput["name"] + '_' + tapisInput['storage_system']

jobReturns = OpsUtils.run_tapis_job(t,tapisInput,get_job_metadata=True,get_job_history=True,get_job_filedata=True,askConfirmJob = False,askConfirmMonitorRT = False)
print('done!')
done!