Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3484 commits
Select commit Hold shift + click to select a range
8ae8fe1
Added accessor and field for chunk edge
Rohit-Kakodkar Aug 25, 2025
635d4d2
I initialized the boolean view in a loop, but cascade and gcc/14 opti…
lsawade Aug 25, 2025
bf5f988
Added all the tests
lsawade Aug 25, 2025
cada616
gmshlayerbuilder checkout
int-ptr-ptr Aug 26, 2025
d1bf5a8
initialized the counters
lsawade Aug 26, 2025
9346a4c
Added 3d elastic isotropic stress and associated unit-tests
lsawade Aug 26, 2025
5fb1f14
Added 3d tests for mass matric
lsawade Aug 26, 2025
f866f78
Merge branch 'devel' into issue-1057-update-locate-point-tests
lsawade Aug 26, 2025
8c02eb6
Updated jacobian tests for cleaner control node creation within the f…
lsawade Aug 26, 2025
1c87dee
Merge pull request #1083 from PrincetonUniversity/cmake-dependency
lsawade Aug 26, 2025
08e3114
Made the adjustements to angle, and source time function values, to m…
lsawade Aug 26, 2025
36b1229
minimum viable product topo->meshfem
int-ptr-ptr Aug 27, 2025
7d8f87b
Merged devel and fixed discovery mode flag for gtest
lsawade Aug 27, 2025
e063416
put the extent template into a namespace
lsawade Aug 27, 2025
ca72380
added README and cleanup
int-ptr-ptr Aug 27, 2025
1ff352d
Iterators and Access functions for edges
Rohit-Kakodkar Aug 28, 2025
c8a5b1c
Merge branch 'devel' into devel-dg
Rohit-Kakodkar Aug 28, 2025
dd4606e
Merge branch 'devel' into issue-1115
Rohit-Kakodkar Aug 28, 2025
bd89e30
Merge pull request #1113 from PrincetonUniversity/issue-1057-update-l…
lsawade Aug 28, 2025
28d6b85
Merge pull request #1128 from PrincetonUniversity/issue-990-assembly-…
lsawade Aug 28, 2025
8bd5f42
Merge pull request #1139 from PrincetonUniversity/issue-981
lsawade Aug 28, 2025
43ac9c4
Merge pull request #1143 from PrincetonUniversity/issue-1120
lsawade Aug 28, 2025
73febf0
Merge pull request #1144 from PrincetonUniversity/issue-1121
lsawade Aug 28, 2025
2509e26
Changed sign of the source to have the tests pass from the update to …
lsawade Aug 28, 2025
a17af2f
Merge branch 'devel-dg' into issue-1126
Rohit-Kakodkar Aug 28, 2025
ed364a6
Moved the stress and mass matrix tests
lsawade Aug 28, 2025
b47fdac
Merge branch 'devel' into devel-dg
Rohit-Kakodkar Aug 28, 2025
f6ef76b
Merge branch 'devel-dg' into issue-1126
Rohit-Kakodkar Aug 28, 2025
f46ac14
gmshlayerbuilder: reorganized module
int-ptr-ptr Aug 28, 2025
1cf5b10
Added tpp file
Rohit-Kakodkar Aug 28, 2025
34306ef
fixed nonconforming-adjacencies export
int-ptr-ptr Aug 28, 2025
37ecc50
switched mesh, removed mortartest
int-ptr-ptr Aug 28, 2025
10a6756
Merge pull request #1119 from PrincetonUniversity/issue-1115
Rohit-Kakodkar Aug 29, 2025
d2cf0ae
Merge branch 'devel' into devel-dg
Rohit-Kakodkar Aug 29, 2025
ba0ece9
Merge pull request #1148 from int-ptr-ptr:dg2d-gmsh
Rohit-Kakodkar Aug 29, 2025
da935a9
Merge pull request #1137 from PrincetonUniversity/issue-1126
Rohit-Kakodkar Aug 29, 2025
7919da4
Incorporated review comments.
Rohit-Kakodkar Aug 29, 2025
88b7928
Update Jenkins runner to SPECFEMPP runner
Rohit-Kakodkar Aug 29, 2025
1343769
Merge pull request #1141 from PrincetonUniversity/issue-1140
Rohit-Kakodkar Aug 29, 2025
7e4e119
Merge branch 'devel-dg' into issue-1150
Rohit-Kakodkar Aug 29, 2025
15a0341
Fixed boost library linker
Rohit-Kakodkar Aug 29, 2025
497d04e
Added RSE account
Rohit-Kakodkar Aug 29, 2025
d8e4341
locate_point_on_edge, +test
int-ptr-ptr Aug 30, 2025
53f97a4
Creates new 3D source for elastic isotropic and implements tests for …
lsawade Sep 2, 2025
2f119c1
Merge pull request #1142 from PrincetonUniversity/issue-981-tests
lsawade Sep 2, 2025
27be27f
Merge pull request #1145 from PrincetonUniversity/issue-1130
lsawade Sep 2, 2025
82b4e60
Update dockerfile.
lsawade Sep 2, 2025
2b6187f
Updated policy setting for boost installation
lsawade Sep 2, 2025
5d853d9
updated readme with commands
int-ptr-ptr Sep 2, 2025
137b132
Made explicit library targets, and created generator expressions to c…
lsawade Sep 2, 2025
938ad28
Merge pull request #1160 from PrincetonUniversity/issue-1159
lsawade Sep 2, 2025
e1524ef
Added receiver template specializations to the docs.
lsawade Sep 2, 2025
fb6938b
Moved source into new structure
lsawade Sep 2, 2025
86698e8
Avoid creating empty wavefield folders for reader / writer.
icui Sep 3, 2025
39fdd63
Add list of medium tags to wavefield writer.
icui Sep 3, 2025
fb07e04
Merge branch 'issue-1092' into 1092-npy
icui Sep 3, 2025
153f2ea
Rename Npy to NPY
icui Sep 3, 2025
a1f0298
Remove unused compatibility code for Kokkos 4.1.0
icui Sep 3, 2025
6be6f7b
Refactor npy_header.
icui Sep 3, 2025
864596e
separate npy types into a new file.
icui Sep 3, 2025
59f1ef9
Change medium_tags to int array.
icui Sep 3, 2025
52a5dd8
Update tests for npy.
icui Sep 3, 2025
290c6c3
Bug fix.
icui Sep 3, 2025
22fc8f2
Temp solution for case change.
icui Sep 3, 2025
80e902c
Temp solution for case change.
icui Sep 3, 2025
bf57dc8
Merge branch 'devel' into devel-dg
Rohit-Kakodkar Sep 3, 2025
a502fd2
Merge pull request #1152 from PrincetonUniversity/update-jenkins-runners
Rohit-Kakodkar Sep 3, 2025
949d1d1
Merge pull request #1116 from PrincetonUniversity/devel-dg
Rohit-Kakodkar Sep 3, 2025
8aa3122
Use std::string for medium tag list.
icui Sep 4, 2025
f86f74b
seperate npy header function to cpp.
icui Sep 4, 2025
8009fc9
Merge branch 'devel' into 1092-npy
icui Sep 4, 2025
bcde491
Merge branch 'issue-1092' into 1092-folder
icui Sep 4, 2025
17d586a
Fix import order.
icui Sep 4, 2025
47e6ed7
Updated the source documentation
lsawade Sep 4, 2025
2cd47d6
Updated the source documentation
lsawade Sep 4, 2025
bf794b6
Updated the receiver information in the namespace docstring
lsawade Sep 4, 2025
0e8def1
Updated the assembly location
lsawade Sep 4, 2025
774ba61
Fix io compilation.
icui Sep 4, 2025
645abdb
Fix import.
icui Sep 4, 2025
3851a56
Updated the names of the sections
lsawade Sep 4, 2025
97e840e
connections.hpp, suggested comment
int-ptr-ptr Sep 4, 2025
d2bac6d
src/enumerations/connections.cpp - full namespace
int-ptr-ptr Sep 4, 2025
ff00596
src/enumerations/mesh_entities.cpp -- full namespace
int-ptr-ptr Sep 4, 2025
99041be
Refactor `FOR_EACH` macro to incorporate interface tags
Rohit-Kakodkar Sep 4, 2025
5173237
Updated edge definitions and added constexpr tags
Rohit-Kakodkar Sep 4, 2025
3ff8f83
Added Edges to tag 4 macro
Rohit-Kakodkar Sep 4, 2025
9ed42cd
Merge branch 'issue-1165' into issue-1167
Rohit-Kakodkar Sep 4, 2025
f6bd2f1
locate_point_on_edge is_inside flag check/return
int-ptr-ptr Sep 4, 2025
20f1b12
combine irregular_mesh and nonconforming tests
int-ptr-ptr Sep 4, 2025
e52a679
Merge pull request #1125 from PrincetonUniversity/1092-npy
icui Sep 5, 2025
8e5df07
Create edge types to sort all edges with tags
Rohit-Kakodkar Sep 5, 2025
d66abcf
Updated Deprecate and TODO macros
Rohit-Kakodkar Sep 5, 2025
e1f8ab2
Merge branch 'issue-1150' into issue-1165
Rohit-Kakodkar Sep 5, 2025
87fede4
Merge branch 'issue-1165' into issue-1167
Rohit-Kakodkar Sep 5, 2025
d200f3e
Added comments to deprecate adjancency graph
Rohit-Kakodkar Sep 5, 2025
41a687b
Updated the mesh documentation
lsawade Sep 5, 2025
ffc8b03
Merge pull request #1146 from PrincetonUniversity/issue-945
lsawade Sep 5, 2025
b893609
Merge pull request #1157 from PrincetonUniversity/issue-1122
lsawade Sep 5, 2025
2008ab9
deps to pyproject.toml, optimization: rtree usage
int-ptr-ptr Sep 6, 2025
06949d4
NPZ io framework.
icui Sep 8, 2025
84d555d
NPZ implementation.
icui Sep 8, 2025
bfef894
Bug fix
icui Sep 8, 2025
3faecdb
Split read() write() to file.tpp
icui Sep 8, 2025
c4682b5
Update test.
icui Sep 8, 2025
875258e
Just a commit to commit
lsawade Sep 8, 2025
9b1cd90
Merge pull request #1180 from PrincetonUniversity/issue-1168
lsawade Sep 8, 2025
78ba14d
Update header.
icui Sep 8, 2025
4dcecfa
Merge pull request #1156 from int-ptr-ptr/dg2d-edge_locate_point
lsawade Sep 8, 2025
0f09b35
Added assembly receiver and sources documentation
lsawade Sep 8, 2025
f180f54
Merge branch 'devel' into issue-1131
lsawade Sep 8, 2025
f8409de
The expected source value is inverted in this
lsawade Sep 8, 2025
835b447
Merge branch 'issue-1131' into issue-1168-assembly-sources-receivers
lsawade Sep 8, 2025
59a066e
change namespace, add comments
int-ptr-ptr Sep 8, 2025
6a582df
Merge branch 'dg2d-nonconforming' into dg2d-mortar_reparam
int-ptr-ptr Sep 8, 2025
87b5010
compute_intersection complete + test
int-ptr-ptr Sep 9, 2025
b477ebf
Merge pull request #1164 from PrincetonUniversity/issue-1131
lsawade Sep 9, 2025
79149f1
Merge pull request #1181 from int-ptr-ptr/dg2d-gmsh
Rohit-Kakodkar Sep 9, 2025
621adfc
Merge pull request #1179 from PrincetonUniversity/issue-1167
Rohit-Kakodkar Sep 9, 2025
7c0c87e
Merge pull request #1176 from PrincetonUniversity/issue-1175
Rohit-Kakodkar Sep 9, 2025
1213158
Merge pull request #1161 from PrincetonUniversity/1092-folder
Rohit-Kakodkar Sep 9, 2025
d2259e0
Merge pull request #1166 from PrincetonUniversity/issue-1165
Rohit-Kakodkar Sep 9, 2025
1994cd1
Reimplement coupled interfaces
Rohit-Kakodkar Sep 9, 2025
06a205b
Minor fixes to mesh interface container
Rohit-Kakodkar Sep 9, 2025
091bd98
Updated cmake/boost.cmake and removed anomalous merge things from cma…
lsawade Sep 9, 2025
04e1ffc
Added element mesh entity to store ngllx,y,z etc
lsawade Sep 9, 2025
f311181
Fixed rogue Kokkos internal header
Rohit-Kakodkar Sep 9, 2025
56e1548
Updated stiffness interaction to use element_grid instead of explicit…
lsawade Sep 9, 2025
bb2a11b
Updated all the kernels related to forward simulations
lsawade Sep 9, 2025
2cc17ed
Templated ChunkedDomainIterator, updated constructor, added template …
lsawade Sep 9, 2025
f2167b8
Updated the element_grid to be passed down between indeces and operat…
lsawade Sep 9, 2025
67fb33b
Forgot the middleman that is Chunkelementindex
lsawade Sep 9, 2025
151d69f
add test to verify global coords are equal for mortar points
int-ptr-ptr Sep 10, 2025
cdc3070
Added operator to element such that it comparison as part of the kern…
lsawade Sep 10, 2025
906a0d8
Added operator to element such that it comparison as part of the kern…
lsawade Sep 10, 2025
8f14657
Updated name to get_element()->get_element_grid()
lsawade Sep 10, 2025
ff0a393
Updated chunkelementiterator to use elementgrid
lsawade Sep 10, 2025
aeaf5d4
Updated the PointIndex template to have a dimension specialization
lsawade Sep 10, 2025
02613da
Updated the chunkdomainiterator to be dimension independent and added…
lsawade Sep 10, 2025
75d8d0e
Make npz optional
icui Sep 10, 2025
518d490
Merge pull request #1188 from PrincetonUniversity/devel-dg
lsawade Sep 10, 2025
c07a6ab
Updated the last few instances of where the element_grid.operator== s…
lsawade Sep 10, 2025
cc4cdcd
Fixed compute_stiffness_interaction
lsawade Sep 10, 2025
99ce87c
Merge pull request #1190 from PrincetonUniversity/devel-patch
lsawade Sep 10, 2025
5dccf0b
Merge branch 'issue-1187' into issue-1124
lsawade Sep 10, 2025
4278b48
Implements new kokkos kernel to compute coupling
Rohit-Kakodkar Sep 10, 2025
6817d41
Merge pull request #1189 from PrincetonUniversity/issue-1167
Rohit-Kakodkar Sep 10, 2025
fa2cb2b
Added missing headers
Rohit-Kakodkar Sep 10, 2025
2ad786d
Merge pull request #1185 from PrincetonUniversity/issue-1168-assembly…
lsawade Sep 10, 2025
e30a4ec
added first files to assembly by copy of 2D, but this does not work yet.
lsawade Sep 10, 2025
28fb5c4
Updates the mesh to have element_grid
lsawade Sep 10, 2025
2459add
Removed ngll from mesh_entity::element
lsawade Sep 10, 2025
c0caa30
merged issue-1187-patch
lsawade Sep 10, 2025
a1e3e48
Updated calls to coupling kernels
Rohit-Kakodkar Sep 10, 2025
5a1094f
Updated the 3D mesh to deprecate ngll{z,y,x} in favor of element_grid…
lsawade Sep 10, 2025
90fa78e
Missing header include
lsawade Sep 10, 2025
3c1d5c6
Merge branch 'issue-1187-patch' into issue-1124
lsawade Sep 10, 2025
6ca7ade
Update includes and header.
icui Sep 11, 2025
afc6480
Update documentation.
icui Sep 11, 2025
f21b919
Updated the chunkelementiterator and point index to remove the templa…
lsawade Sep 11, 2025
41e5471
Merge pull request #1136 from int-ptr-ptr/dg2d-nonconforming
lsawade Sep 11, 2025
cfb3c80
Merge pull request #1182 from PrincetonUniversity/1092-npz
lsawade Sep 11, 2025
bda0cf1
Merge remote-tracking branch 'origin/devel' into dg2d-mortar_reparam
int-ptr-ptr Sep 11, 2025
cd0cdb5
Merge remote-tracking branch 'origin/devel' into dg2d-mortar_reparam
int-ptr-ptr Sep 11, 2025
ce09476
Merge branch 'issue-1124' into issue-984
lsawade Sep 11, 2025
fa9564f
Delete tmp directory
icui Sep 12, 2025
19e178e
Update docs/sections/api/IO/index.rst
icui Sep 12, 2025
ee7a0b3
Update kernel format in cookbook
icui Sep 12, 2025
5cde8f3
Merge branch '1092-doc' of github.com:PrincetonUniversity/SPECFEMPP i…
icui Sep 12, 2025
bc01381
Merge pull request #1195 from PrincetonUniversity/issue-1187-patch
Rohit-Kakodkar Sep 12, 2025
9629566
Merge pull request #1194 from PrincetonUniversity/issue-1167
Rohit-Kakodkar Sep 12, 2025
77581d1
First successful compilation with the assembly
lsawade Sep 12, 2025
fa80063
Fixed bugs in compute coupling
Rohit-Kakodkar Sep 12, 2025
5097589
Merge branch 'devel' into issue-1187
lsawade Sep 12, 2025
db06a0f
Deprecated old coupled interfaces implementation
Rohit-Kakodkar Sep 12, 2025
39c98f1
Renames coupled_interfaces2 -> coupled_interfaces
Rohit-Kakodkar Sep 12, 2025
3ea45c5
Updated the jacobina functions to allow compilation
lsawade Sep 12, 2025
b2f759f
Added documentation
Rohit-Kakodkar Sep 12, 2025
e406f16
Fix for tags and removed acoustic free surface naming, since the surf…
lsawade Sep 12, 2025
4ff28f0
Merge pull request #1191 from PrincetonUniversity/issue-1187
lsawade Sep 12, 2025
d97ffb4
locate_point_2d: separate fixture, test; + edges
int-ptr-ptr Sep 13, 2025
ce13a79
Merge pull request #1196 from PrincetonUniversity/1092-doc
icui Sep 13, 2025
e38ef2c
Merge pull request #1192 from PrincetonUniversity/issue-1124
Rohit-Kakodkar Sep 15, 2025
a6846ac
Added missing include
lsawade Sep 15, 2025
afd8649
separate into impl
int-ptr-ptr Sep 15, 2025
3448cce
Updated xgenerate database and the reader to account for regular meshes.
lsawade Sep 15, 2025
a2e6319
Updated xgenerate database and the reader to account for regular meshes.
lsawade Sep 15, 2025
2a7e41f
Added a force source at the center of the mesh to the 3D benchmark files
lsawade Sep 15, 2025
7e49387
simplified test
int-ptr-ptr Sep 15, 2025
6ea26cd
review suggestions
int-ptr-ptr Sep 15, 2025
40fad82
Fixed the assignment of the absorbing boundary conditions.
lsawade Sep 15, 2025
16e5ef9
Updated the jacobian to account for both irregular and regular elements.
lsawade Sep 15, 2025
5df4f64
Merge pull request #1207 from PrincetonUniversity/issue-1092
icui Sep 16, 2025
86d9f8c
Commented display section
Rohit-Kakodkar Sep 16, 2025
a59eb1c
formatted fortran code
lsawade Sep 16, 2025
9c5ab34
Merge pull request #1201 from PrincetonUniversity/issue-1172
Rohit-Kakodkar Sep 16, 2025
04f7ee3
Renamed read_receivers in 2d
lsawade Sep 16, 2025
e0eefd1
Updated the read_sources tests
lsawade Sep 16, 2025
f49894f
add test for error throw on no intersection
int-ptr-ptr Sep 16, 2025
1d82bd6
Created 3D receiver IO and create unit test suite for receivers
lsawade Sep 16, 2025
b99a35a
Added the new test files
lsawade Sep 16, 2025
063af54
Updated the sources to include multiple sources and yaml node reading…
lsawade Sep 16, 2025
cd5fa31
Updated the docs
lsawade Sep 16, 2025
c37efbf
Fix for irregular element reading.
lsawade Sep 16, 2025
2296147
Fix for irregular element reading.
lsawade Sep 16, 2025
d714362
Fix for irregular element reading.
lsawade Sep 16, 2025
dcada87
Fix for irregular element reading.
lsawade Sep 16, 2025
69f1255
Nightly benchmarks
Rohit-Kakodkar Sep 16, 2025
1db7987
Add workflow to list organization project fields
lsawade Sep 17, 2025
558cc01
Update project date automation workflow for fields
lsawade Sep 17, 2025
6b25c2b
Merge pull request #1204 from int-ptr-ptr/dg2d-lpoe_test
Rohit-Kakodkar Sep 17, 2025
ff9c52e
reprivated adjgraph::Graph, NCI impl namespace
int-ptr-ptr Sep 17, 2025
1fffa17
Merge branch 'devel' into issue-1150
Rohit-Kakodkar Sep 17, 2025
3e4ec10
Merge branch 'devel' into issue-824
Rohit-Kakodkar Sep 17, 2025
7fc0be6
Updated tests to accomodate dim3 assembly meshes and displacement tests
lsawade Sep 17, 2025
2568e70
Updated tests to accomodate dim3 assembly meshes and displacement tests
lsawade Sep 17, 2025
5034cb0
Relocated dim2 tests
lsawade Sep 17, 2025
2829ac0
Relocated dim2 tests
lsawade Sep 17, 2025
01d9fc9
minor fix
Rohit-Kakodkar Sep 17, 2025
5972eab
Readded the Par_file
lsawade Sep 17, 2025
ed4921c
Readded the Par_file
lsawade Sep 17, 2025
e49e179
Fixed the displacement tests specfem_configs
lsawade Sep 17, 2025
51e39b2
Fixed the displacement tests specfem_configs
lsawade Sep 17, 2025
d5b3996
Fixed some access functions
Rohit-Kakodkar Sep 17, 2025
9e8e243
Minor bug fix for NVIDIA
Rohit-Kakodkar Sep 17, 2025
81c0869
added HostSpace, now GPU compiles
int-ptr-ptr Sep 17, 2025
4d04bff
moved the provenance for seismograms to the 3d displacement tests
lsawade Sep 18, 2025
8c656ce
Moved the traces to the ./traces folder
lsawade Sep 18, 2025
10d318f
Added displacement tests configuration
lsawade Sep 18, 2025
14798e8
Moved fortran provenance to fortran folder
lsawade Sep 18, 2025
fd5a58f
Updated the readme
lsawade Sep 18, 2025
157eb16
Update tests/unit-tests/policies/chunked_edge.cpp
Rohit-Kakodkar Sep 18, 2025
4244961
Update tests/unit-tests/policies/chunked_edge.cpp
Rohit-Kakodkar Sep 18, 2025
f51b402
Updated the displacement_tests to allow for basic 3d, and started edi…
lsawade Sep 18, 2025
7f274e3
Revert "Minor bug fix for NVIDIA"
Rohit-Kakodkar Sep 18, 2025
0cab478
fixed missing HostSpace
int-ptr-ptr Sep 18, 2025
e35d90a
First nondimensional assembly testing working
lsawade Sep 18, 2025
1c61d7c
Assembly fixture working, but check_jacobian failing
lsawade Sep 18, 2025
15c4001
Fixed NVIDIA tests
Rohit-Kakodkar Sep 18, 2025
b4471e1
Merge pull request #1186 from int-ptr-ptr/dg2d-mortar_reparam
Rohit-Kakodkar Sep 18, 2025
3594043
Merge pull request #1215 from PrincetonUniversity/issue-1211
Rohit-Kakodkar Sep 19, 2025
192c014
Merge pull request #1151 from PrincetonUniversity/issue-1150
Rohit-Kakodkar Sep 19, 2025
339532e
Merge pull request #1217 from PrincetonUniversity/issue-824
Rohit-Kakodkar Sep 19, 2025
ff833ae
Merge branch 'devel' into issue-984
lsawade Sep 19, 2025
7f82640
Addressed all the comments
lsawade Sep 19, 2025
d669f8b
Updated the Elastic SH source
lsawade Sep 19, 2025
3d81e1d
Update the mesh
lsawade Sep 19, 2025
c7ac80e
Updated the the displacement and assembly tests to use a smaller mesh
lsawade Sep 19, 2025
eb1531e
Merge branch 'issue-1214' of github.com:PrincetonUniversity/SPECFEMPP…
lsawade Sep 19, 2025
3f921ea
Merge branch 'issue-1214' of github.com:PrincetonUniversity/SPECFEMPP…
lsawade Sep 19, 2025
ff7b863
Added the jacobian
lsawade Sep 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
188 changes: 188 additions & 0 deletions .github/workflows/project-date-automation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
name: Automate Project Dates

on:
issues:
types: [opened, edited, closed, reopened]
# Note: project_card is for legacy projects. For Projects V2, we need to use other triggers
# The workflow will run when issues/PRs change, then check if project status changed

jobs:
update-project-dates:
runs-on: ubuntu-latest
steps:
- name: Get Project Item
id: get_item
uses: actions/github-script@v7
with:
script: |
// Get the project item details
const query = `
query($owner: String!, $repo: String!, $issueNumber: Int!) {
repository(owner: $owner, name: $repo) {
issue(number: $issueNumber) {
projectItems(first: 10) {
nodes {
id
project {
id
number
}
fieldValues(first: 20) {
nodes {
... on ProjectV2ItemFieldSingleSelectValue {
name
field {
... on ProjectV2SingleSelectField {
name
}
}
}
... on ProjectV2ItemFieldDateValue {
date
field {
... on ProjectV2Field {
name
}
}
}
}
}
}
}
}
}
}
`;

const variables = {
owner: context.repo.owner,
repo: context.repo.repo,
issueNumber: context.issue?.number || context.payload.pull_request?.number
};

if (!variables.issueNumber) {
console.log('No issue or PR number found');
return;
}

const result = await github.graphql(query, variables);
const projectItems = result.repository.issue.projectItems.nodes;

for (const item of projectItems) {
console.log(`Processing project item: ${item.id}`);

// Find status field value
let currentStatus = null;
let startDate = null;
let endDate = null;
let statusFieldId = null;
let startDateFieldId = null;
let endDateFieldId = null;

// First, get field IDs from the project
const projectQuery = `
query($projectId: ID!) {
node(id: $projectId) {
... on ProjectV2 {
fields(first: 20) {
nodes {
... on ProjectV2Field {
id
name
}
... on ProjectV2SingleSelectField {
id
name
}
}
}
}
}
}
`;

const projectResult = await github.graphql(projectQuery, {
projectId: item.project.id
});

const fields = projectResult.node.fields.nodes;

// Map field names to IDs (using exact field names)
for (const field of fields) {
if (field.name.toLowerCase() === 'status') {
statusFieldId = field.id;
} else if (field.name === 'Start Date') {
startDateFieldId = field.id;
} else if (field.name === 'End Date') {
endDateFieldId = field.id;
}
}

// Get current field values
for (const fieldValue of item.fieldValues.nodes) {
if (fieldValue.field?.name?.toLowerCase() === 'status') {
currentStatus = fieldValue.name;
} else if (fieldValue.field?.name === 'Start Date') {
startDate = fieldValue.date;
} else if (fieldValue.field?.name === 'End Date') {
endDate = fieldValue.date;
}
}

console.log(`Current status: ${currentStatus}`);
console.log(`Start date: ${startDate}`);
console.log(`End date: ${endDate}`);

const today = new Date().toISOString().split('T')[0];

// Only update dates if they don't already exist (this prevents overwriting existing dates)
// Update start date if status is "In progress 🧑‍💻" and no start date exists
if (currentStatus === 'In progress 🧑‍💻' && !startDate && startDateFieldId) {
console.log('Setting start date to today');
await github.graphql(`
mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $value: Date!) {
updateProjectV2ItemFieldValue(input: {
projectId: $projectId
itemId: $itemId
fieldId: $fieldId
value: { date: $value }
}) {
projectV2Item {
id
}
}
}
`, {
projectId: item.project.id,
itemId: item.id,
fieldId: startDateFieldId,
value: today
});
}

// Update end date if status is "Done ✅" and no end date exists
if (currentStatus === 'Done ✅' && !endDate && endDateFieldId) {
console.log('Setting end date to today');
await github.graphql(`
mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $value: Date!) {
updateProjectV2ItemFieldValue(input: {
projectId: $projectId
itemId: $itemId
fieldId: $fieldId
value: { date: $value }
}) {
projectV2Item {
id
}
}
}
`, {
projectId: item.project.id,
itemId: item.id,
fieldId: endDateFieldId,
value: today
});
}
}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4 changes: 2 additions & 2 deletions .jenkins/gnu_compiler_checks.gvy
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
pipeline{
agent {
node {
label 'della_rk9481'
label 'della-rse_specfempp'
}
}
stages{
Expand Down Expand Up @@ -77,7 +77,7 @@ pipeline{
module load ${GNU_COMPILER_MODULE}
cd build_cpu_${GNU_COMPILER_NAME}_${CMAKE_HOST_NAME}_${SIMD_NAME}_${env.BUILD_TAG}/tests/unit-tests
export BUILD_DIR=build_cpu_${GNU_COMPILER_NAME}_${CMAKE_HOST_NAME}_${SIMD_NAME}_${env.BUILD_TAG}
srun -N 1 -t 00:20:00 ${HOST_RUN_FLAGS} --constraint="intel|cascade" bash -c 'export OMP_PROC_BIND=spread; export OMP_THREADS=places; ctest -j --output-on-failure;'
srun -N 1 -t 00:20:00 --account rse ${HOST_RUN_FLAGS} --constraint="intel|cascade" bash -c 'export OMP_PROC_BIND=spread; export OMP_THREADS=places; ctest -j --output-on-failure;'
"""
echo ' Testing completed '
}
Expand Down
4 changes: 2 additions & 2 deletions .jenkins/intel_compiler_checks.gvy
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
pipeline{
agent {
node {
label 'della_rk9481'
label 'della-rse_specfempp'
}
}
stages{
Expand Down Expand Up @@ -78,7 +78,7 @@ pipeline{
module load ${INTEL_MODULE}
cd build_cpu_${INTEL_COMPILER_NAME}_${CMAKE_HOST_NAME}_${SIMD_NAME}_${env.BUILD_TAG}/tests/unit-tests
export BUILD_DIR=build_cpu_${INTEL_COMPILER_NAME}_${CMAKE_HOST_NAME}_${SIMD_NAME}_${env.BUILD_TAG}
srun -N 1 -t 00:20:00 ${HOST_RUN_FLAGS} --constraint="intel|cascade" bash -c 'export OMP_PROC_BIND=spread; export OMP_THREADS=places; ctest -j --output-on-failure;'
srun -N 1 -t 00:20:00 --account rse ${HOST_RUN_FLAGS} --constraint="intel|cascade" bash -c 'export OMP_PROC_BIND=spread; export OMP_THREADS=places; ctest -j --output-on-failure;'
"""
echo ' Testing completed '
}
Expand Down
4 changes: 2 additions & 2 deletions .jenkins/nvidia_compiler_checks.gvy
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
pipeline{
agent {
node {
label 'della_rk9481'
label 'della-rse_specfempp'
}
}
stages{
Expand Down Expand Up @@ -92,7 +92,7 @@ pipeline{
module load ${CUDA_MODULE}
cd build_cuda_${CUDA_COMPILER_NAME}_${CMAKE_HOST_NAME}_${CMAKE_DEVICE_NAME}_${SIMD_NAME}_${env.BUILD_TAG}/tests/unit-tests
export BUILD_DIR=build_cuda_${CUDA_COMPILER_NAME}_${CMAKE_HOST_NAME}_${CMAKE_DEVICE_NAME}_${SIMD_NAME}_${env.BUILD_TAG}
srun -N 1 -t 00:30:00 ${HOST_RUN_FLAGS} ${DEVICE_RUN_FLAGS} bash -c 'export OMP_PROC_BIND=spread; export OMP_THREADS=places; ctest -j 10 --output-on-failure;'
srun -N 1 -t 00:30:00 --account rse ${HOST_RUN_FLAGS} ${DEVICE_RUN_FLAGS} bash -c 'export OMP_PROC_BIND=spread; export OMP_THREADS=places; ctest -j 10 --output-on-failure;'
"""
echo ' Testing completed '
}
Expand Down
34 changes: 19 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ set(CMAKE_CXX_STANDARD 17)
option(SPECFEM_ENABLE_ADIOS2 "Enable ADIOS2 I/O in SPECFEM++" OFF)
option(SPECFEM_ENABLE_HDF5 "Enable HDF5 I/O in SPECFEM++" OFF)
option(SPECFEM_ENABLE_HDF5_FORCE_INSTALL "Force install HDF5 dependency if SPECFEM_ENABLE_HDF5 is ON even if system HDF5 is found" OFF)
option(SPECFEM_ENABLE_NPZ "Enable NPZ I/O in SPECFEM++" OFF)
option(SPECFEM_ENABLE_ZLIB_FORCE_INSTALL "Force install ZLIB dependency even if system ZLIB is found" OFF)
option(SPECFEM_ENABLE_VTK "Enable VTK visualization in SPECFEM++" ON)
option(SPECFEM_ENABLE_MPI "MPI enabled" OFF)
option(SPECFEM_BUILD_TESTS "Tests included" OFF)
Expand Down Expand Up @@ -103,6 +105,9 @@ include("${CMAKE_SOURCE_DIR}/cmake/boost.cmake")
# Find HDF5
include("${CMAKE_SOURCE_DIR}/cmake/hdf5.cmake")

# Find or install NPZ library function
include("${CMAKE_SOURCE_DIR}/cmake/npz.cmake")

# Find or install ADIOS2 library function
include("${CMAKE_SOURCE_DIR}/cmake/adios2.cmake")

Expand Down Expand Up @@ -195,10 +200,14 @@ target_link_libraries(

add_library(
io
# IO libraries
src/io/NPY/impl/npy_header.cpp
# SPECFEM IO
src/io/fortranio/fortran_io.cpp
src/io/sources/dim2/read_sources.cpp
src/io/sources/dim3/read_sources.cpp
src/io/receivers.cpp
src/io/receivers/dim2/read_receivers.cpp
src/io/receivers/dim3/read_receivers.cpp
# Fortran 2D part
src/io/mesh/impl/fortran/dim2/mesh.cpp
src/io/mesh/impl/fortran/dim2/read_boundaries.cpp
Expand All @@ -223,13 +232,15 @@ target_link_libraries(
specfem::receivers
yaml-cpp
boost
$<$<BOOL:${SPECFEM_ENABLE_NPZ}>:zlib>
$<$<BOOL:${SPECFEM_ENABLE_HDF5}>:hdf5>
$<$<BOOL:${SPECFEM_ENABLE_ADIOS2}>:adios2>
)

target_compile_definitions(
io
PUBLIC
$<$<NOT:$<BOOL:${SPECFEM_ENABLE_NPZ}>>:-DNO_NPZ>
$<$<NOT:$<BOOL:${SPECFEM_ENABLE_HDF5}>>:-DNO_HDF5>
$<$<NOT:$<BOOL:${SPECFEM_ENABLE_ADIOS2}>>:-DNO_ADIOS2>
)
Expand All @@ -245,6 +256,7 @@ add_library(
target_link_libraries(
enumerations
${BOOST_LIBS}
Kokkos::kokkos
)


Expand Down Expand Up @@ -396,17 +408,6 @@ target_link_libraries(
# Disable unity build for source_time_function due to KOKKOS_INLINE_FUNCTION issues
set_target_properties(source_time_function PROPERTIES UNITY_BUILD OFF)


add_library(coupled_interface
src/coupled_interface/coupled_interface.cpp
)

target_link_libraries(
coupled_interface
Kokkos::kokkos
assembly
)

add_library(
kokkos_kernels
src/kokkos_kernels/impl/compute_mass_matrix.cpp
Expand All @@ -416,9 +417,13 @@ add_library(
src/kokkos_kernels/impl/compute_source_interaction.cpp
src/kokkos_kernels/impl/compute_stiffness_interaction.cpp
src/kokkos_kernels/impl/compute_material_derivatives.cpp
src/kokkos_kernels/impl/compute_coupling.cpp
src/kokkos_kernels/frechet_kernels.cpp
)
set_target_properties(kokkos_kernels PROPERTIES UNITY_BUILD_BATCH_SIZE 4)
set_target_properties(kokkos_kernels PROPERTIES
UNITY_BUILD $<NOT:$<BOOL:${__APPLE__}>>
UNITY_BUILD_BATCH_SIZE $<IF:$<BOOL:${__APPLE__}>,0,4>
)

target_link_libraries(
kokkos_kernels
Expand Down Expand Up @@ -479,6 +484,7 @@ target_link_libraries(
periodic_tasks
reader
writer
io
)

target_compile_definitions(
Expand Down Expand Up @@ -545,7 +551,6 @@ target_link_libraries(
writer
periodic_tasks
reader
coupled_interface
kokkos_kernels
solver
${BOOST_LIBS}
Expand Down Expand Up @@ -580,7 +585,6 @@ target_link_libraries(
writer
periodic_tasks
reader
coupled_interface
kokkos_kernels
solver
${BOOST_LIBS}
Expand Down
2 changes: 2 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@
"SPECFEM_ENABLE_MPI": "OFF",
"SPECFEM_BUILD_BENCHMARKS": "ON",
"SPECFEM_ENABLE_ADIOS2": "ON",
"SPECFEM_ENABLE_NPZ": "ON",
"SPECFEM_ENABLE_ZLIB_FORCE_INSTALL": "ON",
"SPECFEM_ENABLE_HDF5": "ON",
"SPECFEM_ENABLE_HDF5_FORCE_INSTALL": "ON",
"SPECFEM_BENCHMARKS_BUILD_DIR": "${sourceDir}/benchmarks/build/release-io"
Expand Down
Loading