From 40a53d1132280681a79182086a630a82cf425692 Mon Sep 17 00:00:00 2001 From: Pete Bachant Date: Sun, 10 May 2026 20:10:47 -0700 Subject: [PATCH 01/48] Move capytaine to pip deps --- analysis/environment-branch.yml | 2 +- analysis/environment-main.yml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/analysis/environment-branch.yml b/analysis/environment-branch.yml index 8cc6194e..59341284 100644 --- a/analysis/environment-branch.yml +++ b/analysis/environment-branch.yml @@ -14,6 +14,6 @@ dependencies: - xarray - streamlit - ipykernel - - capytaine - pip: + - capytaine - -e .. diff --git a/analysis/environment-main.yml b/analysis/environment-main.yml index 000b25dd..505dc766 100644 --- a/analysis/environment-main.yml +++ b/analysis/environment-main.yml @@ -3,4 +3,5 @@ channels: - conda-forge dependencies: - sea-lab::open-flash - - capytaine + - pip: + - capytaine From c81119845d433538d69f3ab1f21a2c558812fb53 Mon Sep 17 00:00:00 2001 From: Pete Bachant Date: Sun, 10 May 2026 20:11:02 -0700 Subject: [PATCH 02/48] Commit env locks --- .../openflash-on-branch/osx-arm64.yml | 221 ++++++++++++++++++ .../env-locks/openflash-on-main/osx-arm64.yml | 220 +++++++++++++++++ .calkit/env-locks/tex/arm64.json | 26 +++ .gitignore | 1 - 4 files changed, 467 insertions(+), 1 deletion(-) create mode 100644 .calkit/env-locks/openflash-on-branch/osx-arm64.yml create mode 100644 .calkit/env-locks/openflash-on-main/osx-arm64.yml create mode 100644 .calkit/env-locks/tex/arm64.json diff --git a/.calkit/env-locks/openflash-on-branch/osx-arm64.yml b/.calkit/env-locks/openflash-on-branch/osx-arm64.yml new file mode 100644 index 00000000..91d142f7 --- /dev/null +++ b/.calkit/env-locks/openflash-on-branch/osx-arm64.yml @@ -0,0 +1,221 @@ +name: openflash-openflash-on-branch +channels: + - conda-forge +dependencies: + - _openmp_mutex=4.5=7_kmp_llvm + - _python_abi3_support=1.0=hd8ed1ab_2 + - altair=6.1.0=pyhd8ed1ab_0 + - anyio=4.13.0=pyhcf101f3_0 + - appnope=0.1.4=pyhd8ed1ab_1 + - asttokens=3.0.1=pyhd8ed1ab_0 + - attrs=26.1.0=pyhcf101f3_0 + - aws-c-auth=0.10.1=ha7d4cc1_3 + - aws-c-cal=0.9.13=h6ee9776_1 + - aws-c-common=0.12.6=hc919400_0 + - aws-c-compression=0.3.2=h3e7f9b5_0 + - aws-c-event-stream=0.7.0=h351c84d_0 + - aws-c-http=0.10.13=h95cdebe_0 + - aws-c-io=0.26.3=h4137820_1 + - aws-c-mqtt=0.15.2=h8860bc9_2 + - aws-c-s3=0.12.2=h07b101a_1 + - aws-c-sdkutils=0.2.4=h16f91aa_4 + - aws-checksums=0.2.10=h3e7f9b5_0 + - aws-crt-cpp=0.38.3=hba17502_1 + - aws-sdk-cpp=1.11.747=h30a6df1_4 + - azure-core-cpp=1.16.2=he5ae378_0 + - azure-identity-cpp=1.13.3=h810541e_1 + - azure-storage-blobs-cpp=12.16.0=hc57151b_1 + - azure-storage-common-cpp=12.12.0=he467506_1 + - azure-storage-files-datalake-cpp=12.14.0=hf8a9d22_1 + - backports.zstd=1.4.0=py314h680f03e_0 + - blinker=1.9.0=pyhff2d567_0 + - brotli=1.2.0=h7d5ae5b_1 + - brotli-bin=1.2.0=hc919400_1 + - brotli-python=1.2.0=py314h3daef5d_1 + - bzip2=1.0.8=hd037594_9 + - c-ares=1.34.6=hc919400_0 + - ca-certificates=2026.4.22=hbd8a1cb_0 + - cached-property=1.5.2=hd8ed1ab_1 + - cached_property=1.5.2=pyha770c72_1 + - cachetools=7.1.1=pyhd8ed1ab_0 + - certifi=2026.4.22=pyhd8ed1ab_0 + - charset-normalizer=3.4.7=pyhd8ed1ab_0 + - click=8.3.3=pyhc90fa1f_0 + - comm=0.2.3=pyhe01879c_0 + - contourpy=1.3.3=py314hf8a3a22_4 + - cpython=3.14.4=py314hd8ed1ab_100 + - cycler=0.12.1=pyhcf101f3_2 + - debugpy=1.8.20=py314he609de1_0 + - decorator=5.2.1=pyhd8ed1ab_0 + - exceptiongroup=1.3.1=pyhd8ed1ab_0 + - executing=2.2.1=pyhd8ed1ab_0 + - fonttools=4.62.1=pyh7db6752_0 + - freetype=2.14.3=hce30654_0 + - gflags=2.2.2=hf9b8971_1005 + - gitdb=4.0.12=pyhd8ed1ab_0 + - gitpython=3.1.50=pyhd8ed1ab_0 + - glog=0.7.1=heb240a5_0 + - h11=0.16.0=pyhcf101f3_1 + - h2=4.3.0=pyhcf101f3_0 + - h5netcdf=1.8.1=pyhd8ed1ab_0 + - h5py=3.16.0=nompi_py314h658a3ac_102 + - hdf5=2.1.0=nompi_he586413_105 + - hpack=4.1.0=pyhd8ed1ab_0 + - httptools=0.7.1=py314h0612a62_1 + - hyperframe=6.1.0=pyhd8ed1ab_0 + - idna=3.13=pyhcf101f3_0 + - importlib-metadata=8.8.0=pyhcf101f3_0 + - ipykernel=7.2.0=pyh5552912_1 + - ipython=9.13.0=pyh53cf698_0 + - ipython_pygments_lexers=1.1.1=pyhd8ed1ab_0 + - itsdangerous=2.2.0=pyhd8ed1ab_1 + - jedi=0.19.2=pyhd8ed1ab_1 + - jinja2=3.1.6=pyhcf101f3_1 + - jsonschema=4.26.0=pyhcf101f3_0 + - jsonschema-specifications=2025.9.1=pyhcf101f3_0 + - jupyter_client=8.8.0=pyhcf101f3_0 + - jupyter_core=5.9.1=pyhc90fa1f_0 + - kiwisolver=1.5.0=py314hf8a3a22_0 + - krb5=1.22.2=h385eeb1_0 + - lcms2=2.19.1=hdfa7624_0 + - lerc=4.1.0=h1eee2c3_0 + - libabseil=20260107.1=cxx17_h2062a1b_0 + - libaec=1.1.5=h8664d51_0 + - libarrow=24.0.0=h37fbca7_1_cpu + - libarrow-acero=24.0.0=hee8fe31_1_cpu + - libarrow-compute=24.0.0=h3b6a98a_1_cpu + - libarrow-dataset=24.0.0=hee8fe31_1_cpu + - libarrow-substrait=24.0.0=h05be00f_1_cpu + - libblas=3.11.0=6_h51639a9_openblas + - libbrotlicommon=1.2.0=hc919400_1 + - libbrotlidec=1.2.0=hc919400_1 + - libbrotlienc=1.2.0=hc919400_1 + - libcblas=3.11.0=6_hb0561ab_openblas + - libcrc32c=1.1.2=hbdafb3b_0 + - libcurl=8.20.0=hd5a2499_0 + - libcxx=22.1.5=h55c6f16_1 + - libdeflate=1.25=hc11a715_0 + - libedit=3.1.20250104=pl5321hafb1f1b_0 + - libev=4.33=h93a5062_2 + - libevent=2.1.12=h2757513_1 + - libexpat=2.8.0=hf6b4638_0 + - libffi=3.5.2=hcf2aa1b_0 + - libfreetype=2.14.3=hce30654_0 + - libfreetype6=2.14.3=hdfa99f5_0 + - libgcc=15.2.0=hcbb3090_19 + - libgfortran=15.2.0=h07b0088_19 + - libgfortran5=15.2.0=hdae7583_19 + - libgoogle-cloud=3.3.0=he41eb1d_1 + - libgoogle-cloud-storage=3.3.0=ha114238_1 + - libgrpc=1.78.1=h3e3f78d_0 + - libiconv=1.18=h23cfdf5_2 + - libjpeg-turbo=3.1.4.1=h84a0fba_0 + - liblapack=3.11.0=6_hd9741b5_openblas + - liblzma=5.8.3=h8088a28_0 + - libmpdec=4.0.0=h84a0fba_1 + - libnghttp2=1.68.1=h8f3e76b_0 + - libopenblas=0.3.32=openmp_he657e61_0 + - libopentelemetry-cpp=1.26.0=h08d5cc3_0 + - libopentelemetry-cpp-headers=1.26.0=hce30654_0 + - libparquet=24.0.0=h16c0493_1_cpu + - libpng=1.6.58=h132b30e_0 + - libprotobuf=6.33.5=h4a5acfd_0 + - libre2-11=2025.11.05=h4c27e2a_1 + - libsodium=1.0.21=h1a92334_3 + - libsqlite=3.53.1=h1b79a29_0 + - libssh2=1.11.1=h1590b86_0 + - libthrift=0.22.0=h1fb9c8a_2 + - libtiff=4.7.1=h4030677_1 + - libutf8proc=2.11.3=h2431656_0 + - libwebp-base=1.6.0=h07db88b_0 + - libxcb=1.17.0=hdb1d25a_0 + - libxml2=2.15.3=heed7d32_0 + - libxml2-16=2.15.3=h6967ea9_0 + - libzlib=1.3.2=h8088a28_2 + - llvm-openmp=22.1.5=hc7d1edf_1 + - lz4-c=1.10.0=h286801f_1 + - markupsafe=3.0.3=py314h6e9b3f0_1 + - matplotlib=3.10.9=py314he55896b_0 + - matplotlib-base=3.10.9=py314hc042b31_0 + - matplotlib-inline=0.2.2=pyhd8ed1ab_0 + - munkres=1.1.4=pyhd8ed1ab_1 + - narwhals=2.21.0=pyhcf101f3_0 + - ncurses=6.6=h1d4f5a5_0 + - nest-asyncio=1.6.0=pyhd8ed1ab_1 + - nlohmann_json=3.12.0=h784d473_1 + - numpy=2.4.3=py314h1569ea8_0 + - openjpeg=2.5.4=hd9e9057_0 + - openssl=3.6.2=hd24854e_0 + - orc=2.3.0=hd11884d_0 + - packaging=26.2=pyhc364b38_0 + - parso=0.8.7=pyhcf101f3_0 + - pexpect=4.9.0=pyhd8ed1ab_1 + - pillow=12.2.0=py314hab283cf_0 + - pip=26.1.1=pyh145f28c_0 + - platformdirs=4.9.6=pyhcf101f3_0 + - prometheus-cpp=1.3.0=h0967b3e_0 + - prompt-toolkit=3.0.52=pyha770c72_0 + - protobuf=6.33.5=py314he407d35_2 + - psutil=7.2.2=py314ha14b1ff_0 + - pthread-stubs=0.4=hd74edd7_1002 + - ptyprocess=0.7.0=pyhd8ed1ab_1 + - pure_eval=0.2.3=pyhd8ed1ab_1 + - pyarrow=24.0.0=py314he55896b_0 + - pyarrow-core=24.0.0=py314h109bba2_0_cpu + - pydeck=0.9.2=pyhd8ed1ab_0 + - pygments=2.20.0=pyhd8ed1ab_0 + - pyparsing=3.3.2=pyhcf101f3_0 + - pysocks=1.7.1=pyha55dd90_7 + - python=3.14.4=h4c637c5_100_cp314 + - python-dateutil=2.9.0.post0=pyhe01879c_2 + - python-gil=3.14.4=h4df99d1_100 + - python-multipart=0.0.28=pyhcf101f3_0 + - python_abi=3.14=8_cp314 + - pyyaml=6.0.3=py314h6e9b3f0_1 + - pyzmq=27.1.0=py312h022ad19_2 + - qhull=2020.2=h420ef59_5 + - re2=2025.11.05=ha480c28_1 + - readline=8.3=h46df422_0 + - referencing=0.37.0=pyhcf101f3_0 + - requests=2.33.1=pyhcf101f3_1 + - rpds-py=0.30.0=py314haad56a0_0 + - scipy=1.17.1=py314hfc1f868_0 + - setuptools=82.0.1=pyh332efcf_0 + - six=1.17.0=pyhe01879c_1 + - smmap=5.0.3=pyhd8ed1ab_0 + - snappy=1.2.2=hada39a4_1 + - stack_data=0.6.3=pyhd8ed1ab_1 + - starlette=1.0.0=pyhcf101f3_0 + - streamlit=1.57.0=pyhd8ed1ab_0 + - tenacity=9.1.4=pyhcf101f3_0 + - tk=8.6.13=h010d191_3 + - toml=0.10.2=pyhcf101f3_3 + - tornado=6.5.5=py314h6c2aa35_0 + - traitlets=5.15.0=pyhcf101f3_0 + - typing-extensions=4.15.0=h396c80c_0 + - typing_extensions=4.15.0=pyhcf101f3_0 + - unicodedata2=17.0.1=py314h6c2aa35_0 + - urllib3=2.7.0=pyhd8ed1ab_0 + - uvicorn=0.46.0=pyhc90fa1f_0 + - watchdog=6.0.0=py314ha14b1ff_3 + - wcwidth=0.7.0=pyhd8ed1ab_0 + - websockets=16.0=py314ha14b1ff_1 + - wheel=0.47.0=pyhd8ed1ab_0 + - xarray=2026.4.0=pyhc364b38_0 + - xorg-libxau=1.0.12=hc919400_1 + - xorg-libxdmcp=1.1.5=hc919400_1 + - yaml=0.2.5=h925e9cb_3 + - zeromq=4.3.5=h4818236_10 + - zipp=3.23.1=pyhcf101f3_0 + - zlib=1.3.2=h8088a28_2 + - zlib-ng=2.3.3=hed4e4f5_1 + - zstd=1.5.7=hbf9d68e_6 + - pip: + - capytaine==2.3.1 + - markdown-it-py==4.2.0 + - mdurl==0.1.2 + - -e ../../.. + - pandas==2.3.3 + - pytz==2026.2 + - rich==15.0.0 + - tzdata==2026.2 diff --git a/.calkit/env-locks/openflash-on-main/osx-arm64.yml b/.calkit/env-locks/openflash-on-main/osx-arm64.yml new file mode 100644 index 00000000..cae87c1f --- /dev/null +++ b/.calkit/env-locks/openflash-on-main/osx-arm64.yml @@ -0,0 +1,220 @@ +name: openflash-openflash-on-main +channels: + - conda-forge + - sea-lab +dependencies: + - _openmp_mutex=4.5=7_kmp_llvm + - _python_abi3_support=1.0=hd8ed1ab_2 + - altair=6.1.0=pyhd8ed1ab_0 + - anyio=4.13.0=pyhcf101f3_0 + - appnope=0.1.4=pyhd8ed1ab_1 + - asttokens=3.0.1=pyhd8ed1ab_0 + - attrs=26.1.0=pyhcf101f3_0 + - aws-c-auth=0.10.1=ha7d4cc1_3 + - aws-c-cal=0.9.13=h6ee9776_1 + - aws-c-common=0.12.6=hc919400_0 + - aws-c-compression=0.3.2=h3e7f9b5_0 + - aws-c-event-stream=0.7.0=h351c84d_0 + - aws-c-http=0.10.13=h95cdebe_0 + - aws-c-io=0.26.3=h4137820_1 + - aws-c-mqtt=0.15.2=h8860bc9_2 + - aws-c-s3=0.12.2=h07b101a_1 + - aws-c-sdkutils=0.2.4=h16f91aa_4 + - aws-checksums=0.2.10=h3e7f9b5_0 + - aws-crt-cpp=0.38.3=hba17502_1 + - aws-sdk-cpp=1.11.747=h30a6df1_4 + - azure-core-cpp=1.16.2=he5ae378_0 + - azure-identity-cpp=1.13.3=h810541e_1 + - azure-storage-blobs-cpp=12.16.0=hc57151b_1 + - azure-storage-common-cpp=12.12.0=he467506_1 + - azure-storage-files-datalake-cpp=12.14.0=hf8a9d22_1 + - backports.zstd=1.4.0=py314h680f03e_0 + - blinker=1.9.0=pyhff2d567_0 + - brotli=1.2.0=h7d5ae5b_1 + - brotli-bin=1.2.0=hc919400_1 + - brotli-python=1.2.0=py314h3daef5d_1 + - bzip2=1.0.8=hd037594_9 + - c-ares=1.34.6=hc919400_0 + - ca-certificates=2026.4.22=hbd8a1cb_0 + - cached-property=1.5.2=hd8ed1ab_1 + - cached_property=1.5.2=pyha770c72_1 + - cachetools=7.1.1=pyhd8ed1ab_0 + - certifi=2026.4.22=pyhd8ed1ab_0 + - charset-normalizer=3.4.7=pyhd8ed1ab_0 + - click=8.3.3=pyhc90fa1f_0 + - comm=0.2.3=pyhe01879c_0 + - contourpy=1.3.3=py314hf8a3a22_4 + - cpython=3.14.4=py314hd8ed1ab_100 + - cycler=0.12.1=pyhcf101f3_2 + - debugpy=1.8.20=py314he609de1_0 + - decorator=5.2.1=pyhd8ed1ab_0 + - exceptiongroup=1.3.1=pyhd8ed1ab_0 + - executing=2.2.1=pyhd8ed1ab_0 + - fonttools=4.62.1=pyh7db6752_0 + - freetype=2.14.3=hce30654_0 + - gflags=2.2.2=hf9b8971_1005 + - gitdb=4.0.12=pyhd8ed1ab_0 + - gitpython=3.1.50=pyhd8ed1ab_0 + - glog=0.7.1=heb240a5_0 + - h11=0.16.0=pyhcf101f3_1 + - h2=4.3.0=pyhcf101f3_0 + - h5netcdf=1.8.1=pyhd8ed1ab_0 + - h5py=3.16.0=nompi_py314h658a3ac_102 + - hdf5=2.1.0=nompi_he586413_105 + - hpack=4.1.0=pyhd8ed1ab_0 + - httptools=0.7.1=py314h0612a62_1 + - hyperframe=6.1.0=pyhd8ed1ab_0 + - idna=3.13=pyhcf101f3_0 + - importlib-metadata=8.8.0=pyhcf101f3_0 + - ipykernel=7.2.0=pyh5552912_1 + - ipython=9.13.0=pyh53cf698_0 + - ipython_pygments_lexers=1.1.1=pyhd8ed1ab_0 + - itsdangerous=2.2.0=pyhd8ed1ab_1 + - jedi=0.19.2=pyhd8ed1ab_1 + - jinja2=3.1.6=pyhcf101f3_1 + - jsonschema=4.26.0=pyhcf101f3_0 + - jsonschema-specifications=2025.9.1=pyhcf101f3_0 + - jupyter_client=8.8.0=pyhcf101f3_0 + - jupyter_core=5.9.1=pyhc90fa1f_0 + - kiwisolver=1.5.0=py314hf8a3a22_0 + - krb5=1.22.2=h385eeb1_0 + - lcms2=2.19.1=hdfa7624_0 + - lerc=4.1.0=h1eee2c3_0 + - libabseil=20260107.1=cxx17_h2062a1b_0 + - libaec=1.1.5=h8664d51_0 + - libarrow=24.0.0=h37fbca7_1_cpu + - libarrow-acero=24.0.0=hee8fe31_1_cpu + - libarrow-compute=24.0.0=h3b6a98a_1_cpu + - libarrow-dataset=24.0.0=hee8fe31_1_cpu + - libarrow-substrait=24.0.0=h05be00f_1_cpu + - libblas=3.11.0=6_h51639a9_openblas + - libbrotlicommon=1.2.0=hc919400_1 + - libbrotlidec=1.2.0=hc919400_1 + - libbrotlienc=1.2.0=hc919400_1 + - libcblas=3.11.0=6_hb0561ab_openblas + - libcrc32c=1.1.2=hbdafb3b_0 + - libcurl=8.20.0=hd5a2499_0 + - libcxx=22.1.5=h55c6f16_1 + - libdeflate=1.25=hc11a715_0 + - libedit=3.1.20250104=pl5321hafb1f1b_0 + - libev=4.33=h93a5062_2 + - libevent=2.1.12=h2757513_1 + - libexpat=2.8.0=hf6b4638_0 + - libffi=3.5.2=hcf2aa1b_0 + - libfreetype=2.14.3=hce30654_0 + - libfreetype6=2.14.3=hdfa99f5_0 + - libgcc=15.2.0=hcbb3090_19 + - libgfortran=15.2.0=h07b0088_19 + - libgfortran5=15.2.0=hdae7583_19 + - libgoogle-cloud=3.3.0=he41eb1d_1 + - libgoogle-cloud-storage=3.3.0=ha114238_1 + - libgrpc=1.78.1=h3e3f78d_0 + - libiconv=1.18=h23cfdf5_2 + - libjpeg-turbo=3.1.4.1=h84a0fba_0 + - liblapack=3.11.0=6_hd9741b5_openblas + - liblzma=5.8.3=h8088a28_0 + - libmpdec=4.0.0=h84a0fba_1 + - libnghttp2=1.68.1=h8f3e76b_0 + - libopenblas=0.3.32=openmp_he657e61_0 + - libopentelemetry-cpp=1.26.0=h08d5cc3_0 + - libopentelemetry-cpp-headers=1.26.0=hce30654_0 + - libparquet=24.0.0=h16c0493_1_cpu + - libpng=1.6.58=h132b30e_0 + - libprotobuf=6.33.5=h4a5acfd_0 + - libre2-11=2025.11.05=h4c27e2a_1 + - libsodium=1.0.21=h1a92334_3 + - libsqlite=3.53.1=h1b79a29_0 + - libssh2=1.11.1=h1590b86_0 + - libthrift=0.22.0=h1fb9c8a_2 + - libtiff=4.7.1=h4030677_1 + - libutf8proc=2.11.3=h2431656_0 + - libwebp-base=1.6.0=h07db88b_0 + - libxcb=1.17.0=hdb1d25a_0 + - libxml2=2.15.3=heed7d32_0 + - libxml2-16=2.15.3=h6967ea9_0 + - libzlib=1.3.2=h8088a28_2 + - llvm-openmp=22.1.5=hc7d1edf_1 + - lz4-c=1.10.0=h286801f_1 + - markupsafe=3.0.3=py314h6e9b3f0_1 + - matplotlib=3.10.9=py314he55896b_0 + - matplotlib-base=3.10.9=py314hc042b31_0 + - matplotlib-inline=0.2.2=pyhd8ed1ab_0 + - munkres=1.1.4=pyhd8ed1ab_1 + - narwhals=2.21.0=pyhcf101f3_0 + - ncurses=6.6=h1d4f5a5_0 + - nest-asyncio=1.6.0=pyhd8ed1ab_1 + - nlohmann_json=3.12.0=h784d473_1 + - numpy=2.4.3=py314h1569ea8_0 + - open-flash=v1.0.28=py_0 + - openjpeg=2.5.4=hd9e9057_0 + - openssl=3.6.2=hd24854e_0 + - orc=2.3.0=hd11884d_0 + - packaging=26.2=pyhc364b38_0 + - parso=0.8.7=pyhcf101f3_0 + - pexpect=4.9.0=pyhd8ed1ab_1 + - pillow=12.2.0=py314hab283cf_0 + - pip=26.1.1=pyh145f28c_0 + - platformdirs=4.9.6=pyhcf101f3_0 + - prometheus-cpp=1.3.0=h0967b3e_0 + - prompt-toolkit=3.0.52=pyha770c72_0 + - protobuf=6.33.5=py314he407d35_2 + - psutil=7.2.2=py314ha14b1ff_0 + - pthread-stubs=0.4=hd74edd7_1002 + - ptyprocess=0.7.0=pyhd8ed1ab_1 + - pure_eval=0.2.3=pyhd8ed1ab_1 + - pyarrow=24.0.0=py314he55896b_0 + - pyarrow-core=24.0.0=py314h109bba2_0_cpu + - pydeck=0.9.2=pyhd8ed1ab_0 + - pygments=2.20.0=pyhd8ed1ab_0 + - pyparsing=3.3.2=pyhcf101f3_0 + - pysocks=1.7.1=pyha55dd90_7 + - python=3.14.4=h4c637c5_100_cp314 + - python-dateutil=2.9.0.post0=pyhe01879c_2 + - python-gil=3.14.4=h4df99d1_100 + - python-multipart=0.0.28=pyhcf101f3_0 + - python_abi=3.14=8_cp314 + - pyyaml=6.0.3=py314h6e9b3f0_1 + - pyzmq=27.1.0=py312h022ad19_2 + - qhull=2020.2=h420ef59_5 + - re2=2025.11.05=ha480c28_1 + - readline=8.3=h46df422_0 + - referencing=0.37.0=pyhcf101f3_0 + - requests=2.33.1=pyhcf101f3_1 + - rpds-py=0.30.0=py314haad56a0_0 + - scipy=1.17.1=py314hfc1f868_0 + - six=1.17.0=pyhe01879c_1 + - smmap=5.0.3=pyhd8ed1ab_0 + - snappy=1.2.2=hada39a4_1 + - stack_data=0.6.3=pyhd8ed1ab_1 + - starlette=1.0.0=pyhcf101f3_0 + - streamlit=1.57.0=pyhd8ed1ab_0 + - tenacity=9.1.4=pyhcf101f3_0 + - tk=8.6.13=h010d191_3 + - toml=0.10.2=pyhcf101f3_3 + - tornado=6.5.5=py314h6c2aa35_0 + - traitlets=5.15.0=pyhcf101f3_0 + - typing-extensions=4.15.0=h396c80c_0 + - typing_extensions=4.15.0=pyhcf101f3_0 + - unicodedata2=17.0.1=py314h6c2aa35_0 + - urllib3=2.7.0=pyhd8ed1ab_0 + - uvicorn=0.46.0=pyhc90fa1f_0 + - watchdog=6.0.0=py314ha14b1ff_3 + - wcwidth=0.7.0=pyhd8ed1ab_0 + - websockets=16.0=py314ha14b1ff_1 + - xarray=2026.4.0=pyhc364b38_0 + - xorg-libxau=1.0.12=hc919400_1 + - xorg-libxdmcp=1.1.5=hc919400_1 + - yaml=0.2.5=h925e9cb_3 + - zeromq=4.3.5=h4818236_10 + - zipp=3.23.1=pyhcf101f3_0 + - zlib=1.3.2=h8088a28_2 + - zlib-ng=2.3.3=hed4e4f5_1 + - zstd=1.5.7=hbf9d68e_6 + - pip: + - capytaine==2.3.1 + - markdown-it-py==4.2.0 + - mdurl==0.1.2 + - pandas==2.3.3 + - pytz==2026.2 + - rich==15.0.0 + - tzdata==2026.2 diff --git a/.calkit/env-locks/tex/arm64.json b/.calkit/env-locks/tex/arm64.json new file mode 100644 index 00000000..238401f5 --- /dev/null +++ b/.calkit/env-locks/tex/arm64.json @@ -0,0 +1,26 @@ +{ + "RepoTags": [ + "texlive/texlive:latest-full" + ], + "RepoDigests": [ + "texlive/texlive@sha256:6b683746cafd8e0022dea6e4a086aab21f1d9c179189767b3b424d2fb6d40002" + ], + "Architecture": "arm64", + "Os": "linux", + "RootFS": { + "Type": "layers", + "Layers": [ + "sha256:0518588c72fb6646e9e19a608ac235b16d6bcf393e529ffda582ea487919bcd2", + "sha256:89c68a8082a74f6fb6b5e8fea5ebf2c6f6389ff410ace68415e9b90002fa3833", + "sha256:319931a6c5bb3446bb840fc974762786ec01a16604cae7324d5d8fc40e92c307", + "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef", + "sha256:6d0e1eb4feb4ee30e00d578b6cc2ab3873434b34a67a89620b47d0af1ec3425a", + "sha256:171f8fa7ef4d769ee6083e694da6276c7b6faefefd9bf9e8d4cfed29e54a6ab3", + "sha256:983a2813960f80aa14261eb67da88a4475f9ec3fc4fedafcf5a3cf3e8e9af090", + "sha256:3eeb6e6978a1422e92732e5cb12987f46893be5db9f84e00731bc2f481858474", + "sha256:385f4d063f1f9315140f5d1f1a237a3bb58338b2c351aa8bfea7cd910d9129d5" + ] + }, + "DockerfileMD5": null, + "DepsMD5s": {} +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 53041235..a11262c9 100644 --- a/.gitignore +++ b/.gitignore @@ -211,7 +211,6 @@ html/ .calkit/overleaf # Calkit build artifacts -.calkit/env-locks/ .calkit/logs/ .calkit/notebooks/executed/ .calkit/notebooks/cleaned/ From c0596db9d42abe1ece0c57032fddb804f5422d48 Mon Sep 17 00:00:00 2001 From: Pete Bachant Date: Sun, 10 May 2026 20:12:05 -0700 Subject: [PATCH 03/48] Fix jfm-appendix.tex so it compiles --- pubs/JFM/jfm-appendix.tex | 402 +++++++++++++++++++------------------- 1 file changed, 201 insertions(+), 201 deletions(-) diff --git a/pubs/JFM/jfm-appendix.tex b/pubs/JFM/jfm-appendix.tex index 1b8af378..dd072b21 100644 --- a/pubs/JFM/jfm-appendix.tex +++ b/pubs/JFM/jfm-appendix.tex @@ -1,7 +1,7 @@ \section{Governing Equations and Boundary Conditions }\label{appA} The velocity potentials for the internal regions must satisfy \begin{equation}\label{Laplace equation internal region} - \nabla^2\phi^{i_m}=0, + \nabla^2\phi^{i_m}=0, \end{equation} \begin{equation}\label{No flux BC at wetted surface} \left. \frac{\partial\phi^{i_m}}{\partial z} \right|_{z=-d_m}= @@ -12,18 +12,18 @@ \section{Governing Equations and Boundary Conditions }\label{appA} \end{equation} and \begin{equation}\label{No flux BC at sea floor internal} - \left. \frac{\partial\phi^{i_m}}{\partial z} \right|_{z=-h}=0, + \left. \frac{\partial\phi^{i_m}}{\partial z} \right|_{z=-h}=0, \end{equation} while the velocity potential for the external region must satisfy \begin{equation}\label{Laplace equation external region} - \nabla^2\phi^{e}=0, + \nabla^2\phi^{e}=0, \end{equation} \begin{equation}\label{Free surface BC} \left( -\frac{\omega^2}{g}\phi^{e} + \left. \frac{\partial\phi^{e}}{\partial z} \right) \right|_{z=0}= 0, \end{equation} and \begin{equation}\label{No flux BC at sea floor external} - \left. \frac{\partial\phi^{e}}{\partial z} \right|_{z=-h}=0. + \left. \frac{\partial\phi^{e}}{\partial z} \right|_{z=-h}=0. \end{equation} The velocity potential in the interior regions can be written as the superposition of a homogeneous part $\phi^{i_m}_\mathrm{h}$, which corresponds to the first case of Eq.~\ref{No flux BC at wetted surface} when the body in region $m$ is fixed, and a particular part $\phi^{i_m}_\mathrm{p}$, which corresponds to the second case of Eq.~\ref{No flux BC at wetted surface} when the body in region $m$ is heaving with unit amplitude velocity. @@ -44,14 +44,14 @@ \section{Governing Equations and Boundary Conditions }\label{appA} \begin{equation} N_{n_e} = \frac{1}{2}\left(1+\frac{f_{n_e}}{2\lambda_{n_e}^eh} \right)~ \textrm{ where } - f_n = + f_n = \begin{cases} \sinh(2 \lambda_0^e h), & n=0 \\ \sin(2\lambda_{n_e}^eh), & n\geq1 \end{cases}. \end{equation} \section{Matching Equations }\label{appB} -Since both the value of the potential and fluid velocity must match at the boundary of neighboring regions, there are a total of $2M$ matching equations. However, these equations alone are not enough to solve for all eigencoefficients since the number of unknowns is greater than the number of equations ($N_\mathrm{T} >2M$). To generate an equal number of equations as unknowns, the orthogonality of the vertical eigenfunctions can be leveraged to isolate the unknown coefficients in the finite series. +Since both the value of the potential and fluid velocity must match at the boundary of neighboring regions, there are a total of $2M$ matching equations. However, these equations alone are not enough to solve for all eigencoefficients since the number of unknowns is greater than the number of equations ($N_\mathrm{T} >2M$). To generate an equal number of equations as unknowns, the orthogonality of the vertical eigenfunctions can be leveraged to isolate the unknown coefficients in the finite series. Consider a generic function $Y(x)$ expressed as a series with coefficients $\alpha$ and basis functions $e(x)$: $Y(x)=\sum_i \alpha_i e_i(x)$. If $e_j(x)$ is orthogonal to $e_i(x)$ from $x = a$ to $b$, then: @@ -105,13 +105,13 @@ \section{Matching Equations }\label{appB} \begin{multline}\label{velocity matching vector equations} \boldsymbol{\mathcal{Z}}^\mathrm{ts} \odot \mathbf{1}_{N^\mathrm{t}1}\vec{R}_1^\mathrm{s}(a)\vec{C}_1^\mathrm{s}+\boldsymbol{\mathcal{Z}}^\mathrm{ts} \odot \mathbf{1}_{N^\mathrm{t}1}\vec{R}_2^\mathrm{s}(a)\vec{C}_2^\mathrm{s}\\ -(h-d_\mathrm{t})\mathrm{diag}\left( \frac{\partial}{\partial r} \vec{R}_1^\mathrm{t}(a)\right)\vec{C}_1^\mathrm{t} -(h-d_\mathrm{t})\mathrm{diag}\left( \frac{\partial}{\partial r} \vec{R}_2^\mathrm{t}(a)\right)\vec{C}_2^\mathrm{t} \\ = \int_{-h}^{-d_\mathrm{t}}\frac{\partial \phi_\mathrm{p}^\mathrm{t}}{\partial r}(a,z) \vec{Z}^\mathrm{t}{}(z) \mathrm{d}z-\int_{-h}^{-d_\mathrm{s}}\frac{\partial \phi_\mathrm{p}^\mathrm{s}}{\partial r}(a,z) \vec{Z}^\mathrm{t}{}(z) \mathrm{d}z \end{multline} -where +where \begin{equation} \vec{R}_1^\ell(r)=[R_{10}^\ell(r), R_{11}^\ell(r),\dots, R_{1(N^\ell-1)}^\ell(r) ] \end{equation} and \begin{equation} - \vec{R}_2^\ell(r)=[R_{20}^\ell(r), R_{21}^\ell(r),\dots, R_{2(N^\ell-1)}^\ell(r) ] + \vec{R}_2^\ell(r)=[R_{20}^\ell(r), R_{21}^\ell(r),\dots, R_{2(N^\ell-1)}^\ell(r) ] \end{equation} are row vectors of radial eigenfunctions; \begin{equation} @@ -124,15 +124,15 @@ \section{Matching Equations }\label{appB} are column vectors of eigencoefficients; and \begin{equation} \begin{aligned} - &\vec{Z}^\ell(z)=[Z_0^\ell(z),Z_1^\ell(z),\dots, Z_{(N^\ell-1)}^\ell(z)]^T + &\vec{Z}^\ell(z)=[Z_0^\ell(z),Z_1^\ell(z),\dots, Z_{(N^\ell-1)}^\ell(z)]^T \end{aligned} \end{equation} -are column vectors of vertical eigenfunctions, where $\ell$ is $\mathrm{s}$ or $\mathrm{t}$. Additionally, +are column vectors of vertical eigenfunctions, where $\ell$ is $\mathrm{s}$ or $\mathrm{t}$. Additionally, \begin{equation} \begin{aligned} &\boldsymbol{\mathcal{Z}}^\mathrm{st}=\boldsymbol{\mathcal{Z}}^\mathrm{ts}{}^T=\int_{-h}^{-d_\mathrm{s}} \vec{Z}^\mathrm{s}{}(z) \otimes \vec{Z}^\mathrm{t}(z) \mathrm{d}z \end{aligned} \end{equation} -is an $N^\mathrm{s} \times N^\mathrm{t}$ matrix of coupling integrals; $\mathbf{1}_{N^\mathrm{s}1}$ and $\mathbf{1}_{N^\mathrm{t}1}$ are $N^\mathrm{s} \times 1$ and $N^\mathrm{t} \times 1$ matrices of ones, respectively; and $\odot$ is the Hadamard (element-wise) product. +is an $N^\mathrm{s} \times N^\mathrm{t}$ matrix of coupling integrals; $\mathbf{1}_{N^\mathrm{s}1}$ and $\mathbf{1}_{N^\mathrm{t}1}$ are $N^\mathrm{s} \times 1$ and $N^\mathrm{t} \times 1$ matrices of ones, respectively; and $\odot$ is the Hadamard (element-wise) product. @@ -149,7 +149,7 @@ \section{Matching Equations }\label{appB} \begin{equation}\label{coupling integral i_M and e} [\boldsymbol{\mathcal{Z}}^{i_M e} ]_{n_Mn_e}=- \sqrt{\frac{1}{2N_k}} \left( \frac{\sin ((d_M-h) (\lambda_{n_e}^{e}-\lambda_{n_M}^{i_M}))}{(\lambda_{n_e}^{e}-\lambda_{n_M}^{i_M})} + \frac{\sin ((d_M-h) (\lambda_{n_e}^{e}+\lambda_{n_M}^{i_M}))}{(\lambda_{n_e}^{e}+\lambda_{n_M}^{i_M})}\right). \end{equation} -Note that Eq.~\ref{coupling integral i_m and i_m+1} and~\ref{coupling integral i_M and e} can simplify considerably when one or both indices are zero. +Note that Eq.~\ref{coupling integral i_m and i_m+1} and~\ref{coupling integral i_M and e} can simplify considerably when one or both indices are zero. @@ -168,11 +168,11 @@ \section{Matching Equations }\label{appB} \centering \begin{tabular}{|>{\centering\arraybackslash}p{0.18\linewidth}|c||c|c|} \hline - &size& \\ \hline \hline - + &size& \\ \hline \hline + % Row 1 \shortstack{$\phi^{i_m}=\phi^{i_{m+1}}$ \\ at $r=a_m$} & $N^{i_m}$ & $\int_{-h}^{-d_m}\left( \phi_\mathrm{p}^{i_{m+1}} - \phi_\mathrm{p}^{i_m} \right) \vec{Z}^{i_m} \mathrm{d}z$\\ \hline - + % Row 2 \shortstack{$\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ \\ at $r=a_m$} & $N^{i_{m+1}}$ & $\int_{-h}^{-d_{m+1}}\frac{\partial \phi_\mathrm{p}^{i_{m+1}}}{\partial r} \vec{Z}^{i_{m+1}} \mathrm{d}z-\int_{-h}^{-d_m}\frac{\partial \phi_\mathrm{p}^{{i_{m}}}}{\partial r} \vec{Z}^{i_{m+1}}{} \mathrm{d}z$ \\ \hline @@ -185,17 +185,17 @@ \section{Matching Equations }\label{appB} \begin{table} \centering \begin{tabular}{|>{\centering\arraybackslash}p{0.18\linewidth}|c||c|c|} - \hline - &size& \\ \hline \hline - + \hline + &size& \\ \hline \hline + % Row 1 \shortstack{$\phi^{i_m}=\phi^{i_{m+1}}$ \\ at $r=a_m$} & $N^{i_{m+1}}$ & $\int_{-h}^{-d_{m+1}}\left( \phi_\mathrm{p}^{i_{m}} - \phi_\mathrm{p}^{i_{m+1}} \right) \vec{Z}^{i_{m+1}} \mathrm{d}z$\\ \hline - + % Row 2 \shortstack{$\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ \\ at $r=a_m$} & $N^{i_{m}}$ & $\int_{-h}^{-d_m}\frac{\partial \phi_\mathrm{p}^{i_{m}}}{\partial r} \vec{Z}^{i_{m}} \mathrm{d}z-\int_{-h}^{-d_{m+1}}\frac{\partial \phi_\mathrm{p}^{i_{m+1}}}{\partial r} \vec{Z}^{{i_{m}}} \mathrm{d}z$\\ \hline \end{tabular} - \caption{MEEM $\vec{b}_m$ vector when $d_m{\centering\arraybackslash}p{0.18\linewidth}|c||c|c|c|c|c|} \hline - & & + & & $\vec{C}_{1}^{i_m}$ - & + & $\vec{C}_{2}^{i_m}$ - & - $\vec{C}_{1}^{i_{m+1}}$ - & - $\vec{C}_{2}^{i_{m+1}}$ - \\\hline + & + $\vec{C}_{1}^{i_{m+1}}$ + & + $\vec{C}_{2}^{i_{m+1}}$ + \\\hline & size - & + & $N^{i_m}$ - & + & $N^{i_m}$ - & + & $N^{i_{m+1}}$ - & + & $N^{i_{m+1}}$ - \\ \hline \hline - + \\ \hline \hline + % Row 1 \shortstack{ - $\phi^{i_m}=\phi^{i_{m+1}}$ - \\ at $r=a_m$} - & - $N^{i_m}$ - & - $\mathbf{1}_{N^{i_m}1} \vec{R}_1^{i_m}$ - & - $\mathbf{1}_{N^{i_m}1} \vec{R}_2^{i_m}$ - & - $ \mathbf{1}_{N^{i_m}1} \vec{R}_1^{i_{m+1}}$ - & - $ \mathbf{1}_{N^{i_m}1} \vec{R}_2^{i_{m+1}}$ + $\phi^{i_m}=\phi^{i_{m+1}}$ + \\ at $r=a_m$} + & + $N^{i_m}$ + & + $\mathbf{1}_{N^{i_m}1} \vec{R}_1^{i_m}$ + & + $\mathbf{1}_{N^{i_m}1} \vec{R}_2^{i_m}$ + & + $ \mathbf{1}_{N^{i_m}1} \vec{R}_1^{i_{m+1}}$ + & + $ \mathbf{1}_{N^{i_m}1} \vec{R}_2^{i_{m+1}}$ \\ \hline - + % Row 2 \shortstack{ - $\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ - \\ at $r=a_m$} - & + $\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ + \\ at $r=a_m$} + & $N^{i_{m+1}}$ - & - $ \mathbf{1}_{N^{i_{m+1}}1} \vec{R}_1^{i_{m}}$ - & - $ \mathbf{1}_{N^{i_{m+1}}1} \vec{R}_2^{i_{m}}$ - & - $\mathbf{1}_{N^{i_{m+1}}1} \frac{\partial}{\partial r} \vec{R}_1^{i_{m+1}}$ - & - $\mathbf{1}_{N^{i_{m+1}}1} \frac{\partial}{\partial r} \vec{R}_2^{i_{m+1}}$ + & + $ \mathbf{1}_{N^{i_{m+1}}1} \vec{R}_1^{i_{m}}$ + & + $ \mathbf{1}_{N^{i_{m+1}}1} \vec{R}_2^{i_{m}}$ + & + $\mathbf{1}_{N^{i_{m+1}}1} \frac{\partial}{\partial r} \vec{R}_1^{i_{m+1}}$ + & + $\mathbf{1}_{N^{i_{m+1}}1} \frac{\partial}{\partial r} \vec{R}_2^{i_{m+1}}$ \\ \hline \end{tabular} - \caption{MEEM $\mathbf{A}_{m,r}$ sub-matrix when $d_m>d_{m+1}$ ($i_m = \mathrm{s}$ and $i_{m+1} = \mathrm{t}$). + \caption{MEEM $\mathbf{A}_{m,r}$ sub-matrix when $d_m>d_{m+1}$ ($i_m = \mathrm{s}$ and $i_{m+1} = \mathrm{t}$). Note all radial eigenfunctions and their derivatives are evaluated at $r=a_m$.} \label{tab:MEEM-A_mr-matrix-case-1} \end{table} @@ -278,62 +278,62 @@ \section{Forms of Matrix A}\label{sec:Forms of Matrix A} \centering \begin{tabular}{|>{\centering\arraybackslash}p{0.18\linewidth}|c||c|c|c|c|c|} \hline - & & + & & $\vec{C}_{1}^{i_m}$ - & + & $\vec{C}_{2}^{i_m}$ - & - $\vec{C}_{1}^{i_{m+1}}$ - & - $\vec{C}_{2}^{i_{m+1}}$ - \\\hline - &size& + & + $\vec{C}_{1}^{i_{m+1}}$ + & + $\vec{C}_{2}^{i_{m+1}}$ + \\\hline + &size& $N^{i_m}$ - & + & $N^{i_m}$ - & + & $N^{i_{m+1}}$ - & + & $N^{i_{m+1}}$ - \\ \hline \hline - + \\ \hline \hline + % Row 1 \shortstack{ - $\phi^{i_m}=\phi^{i_{m+1}}$ - \\ + $\phi^{i_m}=\phi^{i_{m+1}}$ + \\ at $r=a_m$ - } - & - $N^{i_{m+1}}$ - & - $ \mathbf{1}_{N^{i_{m+1}}1} \vec{R}_1^{i_{m}}$ - & - $\mathbf{1}_{N^{i_{m+1}}1} \vec{R}_2^{i_{m}}$ - & - $\mathbf{1}_{N^{i_{m+1}}1} \vec{R}_1^{i_{m+1}}$ - & - $ \mathbf{1}_{N^{i_{m+1}}1} \vec{R}_2^{i_{m+1}}$ + } + & + $N^{i_{m+1}}$ + & + $ \mathbf{1}_{N^{i_{m+1}}1} \vec{R}_1^{i_{m}}$ + & + $\mathbf{1}_{N^{i_{m+1}}1} \vec{R}_2^{i_{m}}$ + & + $\mathbf{1}_{N^{i_{m+1}}1} \vec{R}_1^{i_{m+1}}$ + & + $ \mathbf{1}_{N^{i_{m+1}}1} \vec{R}_2^{i_{m+1}}$ \\ \hline - + % Row 2 \shortstack{ - $\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ - \\ + $\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ + \\ at $r=a_m$ - } - & + } + & $N^{i_{m}}$ - & - $\mathbf{1}_{N^{i_{m}}1} \frac{\partial}{\partial r} \vec{R}_1^{i_{m}}$ - & - $\mathbf{1}_{N^{i_{m}}1} \frac{\partial}{\partial r} \vec{R}_2^{i_{m}}$ - & - $ \mathbf{1}_{N^{i_{m}}1} \vec{R}_1^{i_{m+1}}$ - & - $ \mathbf{1}_{N^{i_{m}}1} \vec{R}_2^{i_{m+1}}$ + & + $\mathbf{1}_{N^{i_{m}}1} \frac{\partial}{\partial r} \vec{R}_1^{i_{m}}$ + & + $\mathbf{1}_{N^{i_{m}}1} \frac{\partial}{\partial r} \vec{R}_2^{i_{m}}$ + & + $ \mathbf{1}_{N^{i_{m}}1} \vec{R}_1^{i_{m+1}}$ + & + $ \mathbf{1}_{N^{i_{m}}1} \vec{R}_2^{i_{m+1}}$ \\ \hline \end{tabular} - \caption{MEEM $\mathbf{A}_{m,r}$ sub-matrix when $d_m{\centering\arraybackslash}p{0.18\linewidth}|c||c|c|c|c|c|} \hline & - & + & $\vec{C}_{1}^{i_m}$ - & + & $\vec{C}_{2}^{i_m}$ - & - $\vec{C}_{1}^{i_{m+1}}$ - & - $\vec{C}_{2}^{i_{m+1}}$ - \\\hline + & + $\vec{C}_{1}^{i_{m+1}}$ + & + $\vec{C}_{2}^{i_{m+1}}$ + \\\hline & size - & + & $N^{i_m}$ - & + & $N^{i_m}$ - & + & $N^{i_{m+1}}$ - & + & $N^{i_{m+1}}$ - \\ \hline \hline - + \\ \hline \hline + % Row 1 \shortstack{ - $\phi^{i_m}=\phi^{i_{m+1}}$ - \\ - at $r=a_m$} - & - $N^{i_m}$ - & - $(h-d_m) \mathbf{I}^{i_m}$ - & - $(h-d_m) \mathbf{I}^{i_m}$ - & - $-\boldsymbol{\mathcal{Z}}^{i_mi_{m+1}}$ - & - $-\boldsymbol{\mathcal{Z}}^{i_mi_{m+1}}$ + $\phi^{i_m}=\phi^{i_{m+1}}$ + \\ + at $r=a_m$} + & + $N^{i_m}$ + & + $(h-d_m) \mathbf{I}^{i_m}$ + & + $(h-d_m) \mathbf{I}^{i_m}$ + & + $-\boldsymbol{\mathcal{Z}}^{i_mi_{m+1}}$ + & + $-\boldsymbol{\mathcal{Z}}^{i_mi_{m+1}}$ \\ \hline - + % Row 2 \shortstack{ - $\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ - \\ + $\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ + \\ at $r=a_m$ - } - & + } + & $N^{i_{m+1}}$ - & - $\boldsymbol{\mathcal{Z}}^{i_{m+1}i_m}$ - & - $\boldsymbol{\mathcal{Z}}^{i_{m+1}i_m}$ - & - $-(h-d_{m+1}) \mathbf{I}^{i_{m+1}}$ - & - $-(h-d_{m+1}) \mathbf{I}^{i_{m+1}}$ + & + $\boldsymbol{\mathcal{Z}}^{i_{m+1}i_m}$ + & + $\boldsymbol{\mathcal{Z}}^{i_{m+1}i_m}$ + & + $-(h-d_{m+1}) \mathbf{I}^{i_{m+1}}$ + & + $-(h-d_{m+1}) \mathbf{I}^{i_{m+1}}$ \\ \hline \end{tabular} - \caption{MEEM $\mathbf{A}_{m,z}$ sub-matrix when $d_m>d_{m+1}$ ($i_m = \mathrm{s}$ and $i_{m+1} = \mathrm{t}$). + \caption{MEEM $\mathbf{A}_{m,z}$ sub-matrix when $d_m>d_{m+1}$ ($i_m = \mathrm{s}$ and $i_{m+1} = \mathrm{t}$). Note all radial eigenfunctions and their derivatives are evaluated at $r=a_m$.} \label{tab:MEEM-A_mz-matrix-case-1} \end{table} @@ -412,62 +412,62 @@ \section{Forms of Matrix A}\label{sec:Forms of Matrix A} \centering \begin{tabular}{|>{\centering\arraybackslash}p{0.18\linewidth}|c||c|c|c|c|c|} \hline - & & + & & $\vec{C}_{1}^{i_m}$ - & + & $\vec{C}_{2}^{i_m}$ - & - $\vec{C}_{1}^{i_{m+1}}$ - & - $\vec{C}_{2}^{i_{m+1}}$ - \\\hline + & + $\vec{C}_{1}^{i_{m+1}}$ + & + $\vec{C}_{2}^{i_{m+1}}$ + \\\hline & size - & + & $N^{i_m}$ - & + & $N^{i_m}$ - & + & $N^{i_{m+1}}$ - & + & $N^{i_{m+1}}$ - \\ \hline \hline - + \\ \hline \hline + % Row 1 \shortstack{ - $\phi^{i_m}=\phi^{i_{m+1}}$ - \\ - at $r=a_m$} - & - $N^{i_{m+1}}$ - & - $-\boldsymbol{\mathcal{Z}}^{i_{m+1}i_m} $ - & - $-\boldsymbol{\mathcal{Z}}^{i_{m+1}i_m}$ - & - $(h-d_{m+1}) \mathbf{I}^{i_{m+1}}$ - & - $(h-d_{m+1}) \mathbf{I}^{i_{m+1}}$ + $\phi^{i_m}=\phi^{i_{m+1}}$ + \\ + at $r=a_m$} + & + $N^{i_{m+1}}$ + & + $-\boldsymbol{\mathcal{Z}}^{i_{m+1}i_m} $ + & + $-\boldsymbol{\mathcal{Z}}^{i_{m+1}i_m}$ + & + $(h-d_{m+1}) \mathbf{I}^{i_{m+1}}$ + & + $(h-d_{m+1}) \mathbf{I}^{i_{m+1}}$ \\ \hline - + % Row 2 \shortstack{ - $\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ - \\ - at $r=a_m$} - & + $\frac{\partial}{\partial r}\phi^{i_m}=\frac{\partial}{\partial r}\phi^{i_{m+1}}$ + \\ + at $r=a_m$} + & $N^{i_{m}}$ - & - $-(h-d_{m}) \mathbf{I}^{i_{m}}$ - & - $-(h-d_{m}) \mathbf{I}^{i_{m}}$ - & - $\boldsymbol{\mathcal{Z}}^{i_mi_{m+1}} $ - & - $\boldsymbol{\mathcal{Z}}^{i_mi_{m+1}} $ + & + $-(h-d_{m}) \mathbf{I}^{i_{m}}$ + & + $-(h-d_{m}) \mathbf{I}^{i_{m}}$ + & + $\boldsymbol{\mathcal{Z}}^{i_mi_{m+1}} $ + & + $\boldsymbol{\mathcal{Z}}^{i_mi_{m+1}} $ \\ \hline \end{tabular} - \caption{MEEM $\mathbf{A}_{m,z}$ sub-matrix when $d_m Date: Mon, 8 Jun 2026 00:15:01 -0400 Subject: [PATCH 04/48] Fix condition for dispatching workflows on PR close --- .github/workflows/pr-tagging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-tagging.yml b/.github/workflows/pr-tagging.yml index 29dff58f..f16abc3a 100644 --- a/.github/workflows/pr-tagging.yml +++ b/.github/workflows/pr-tagging.yml @@ -68,7 +68,7 @@ jobs: commit_sha: ${{ github.event.pull_request.merge_commit_sha }} - name: Dispatch docs deploy and publish package workflows - if: ${{ github.event.action == 'closed' && github.event.pull_request.merged == false }} == false + if: ${{ github.event.action != 'closed' || github.event.pull_request.merged }} uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} From f5ce4b4a8d39499a694a8ed40aaa722e4f4c7f7a Mon Sep 17 00:00:00 2001 From: Becca <32020426+rebeccamccabe@users.noreply.github.com> Date: Mon, 8 Jun 2026 00:31:55 -0400 Subject: [PATCH 05/48] Add non-fork PR condition to manage-pr-tags job Prevent PR tagging job from running on forked repositories. --- .github/workflows/pr-tagging.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pr-tagging.yml b/.github/workflows/pr-tagging.yml index f16abc3a..0557cc4a 100644 --- a/.github/workflows/pr-tagging.yml +++ b/.github/workflows/pr-tagging.yml @@ -24,6 +24,8 @@ permissions: jobs: manage-pr-tags: + # Don't run on forks + if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork }} runs-on: ubuntu-latest steps: - name: Checkout From 0f1204449f2ac40be7083878968b2cffadc036cf Mon Sep 17 00:00:00 2001 From: Becca <32020426+rebeccamccabe@users.noreply.github.com> Date: Mon, 8 Jun 2026 00:45:32 -0400 Subject: [PATCH 06/48] Add Calkit pipeline workflow from mdocean This workflow runs the Calkit pipeline on push and pull request events, handling Git operations and DVC integration. --- .github/workflows/calkit-run.yml | 86 ++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/workflows/calkit-run.yml diff --git a/.github/workflows/calkit-run.yml b/.github/workflows/calkit-run.yml new file mode 100644 index 00000000..47af9159 --- /dev/null +++ b/.github/workflows/calkit-run.yml @@ -0,0 +1,86 @@ +name: Run calkit pipeline + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: +permissions: + contents: write + +# Make sure we only ever run one per branch so we don't have issues pushing +# after running the pipeline +concurrency: + group: calkit-run-${{ github.ref }} + cancel-in-progress: false + +jobs: + main: + name: Run + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + # For PRs, checkout the head ref to avoid detached HEAD + ref: ${{ github.head_ref || github.ref_name }} + token: ${{ secrets.GITHUB_TOKEN }} + submodules: true + persist-credentials: false + - name: Configure Git credentials + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com + git remote set-url origin https://github-actions[bot]:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git + - name: Setup uv + uses: astral-sh/setup-uv@v7 + - name: Install Calkit + run: uv tool install --upgrade calkit-python + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.x' + - name: pull with retries + run: bash .github/workflows/calkit_pull_with_retries.sh + continue-on-error: true + - name: Run Calkit + id: run_calkit + continue-on-error: true + uses: calkit/run-action@v2 + with: + dvc_token: ${{ secrets.CALKIT_DVC_TOKEN }} + run_args: --keep-going --log + pull_dvc: false + save: false + cache_dvc: false + - name: calkit save + run: | + if ! git status --porcelain | grep -vE '^.. \.calkit/' | grep -q . && dvc status -q --no-updates; then + exit 0 # Exit without saving if nothing changed, or if the only changes are in .calkit/ + fi + + set +e # Continue even if pull fails + git pull --recurse-submodules + PULL_STATUS=$? + + if [ $PULL_STATUS -ne 0 ]; then + BRANCH="calkit-run-${{github.run_number}}-${{github.run_id}}" + echo "Pull failed due to merge conflict. Creating a new branch $BRANCH." + git checkout -b "$BRANCH" + # git config below does the equivalent of the --set-upstream option of git push + git config branch."$BRANCH".remote origin + git config branch."$BRANCH".merge refs/heads/"$BRANCH" + fi + + calkit dvc pull + calkit save dvc.lock dvc.yaml .calkit/ calkit.yaml -m "Run pipeline" + PUSH_STATUS=$? + + if [ $PUSH_STATUS -ne 0 ]; then + echo "Push failed, perhaps due to dvc push timeout. Retrying." + calkit dvc push + git push || true + fi + - run: | + echo "Errors from latex:" + grep -E "^!" pubs/JFM/FLMguide.log || true From 934d5b6fca2d04bcae9c34d160bacc0d0b3ca387 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Mon, 8 Jun 2026 13:39:01 -0400 Subject: [PATCH 07/48] remove dvc token to use github oauth within calkit action --- .github/workflows/calkit-run.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/calkit-run.yml b/.github/workflows/calkit-run.yml index 47af9159..963c49c4 100644 --- a/.github/workflows/calkit-run.yml +++ b/.github/workflows/calkit-run.yml @@ -48,7 +48,6 @@ jobs: continue-on-error: true uses: calkit/run-action@v2 with: - dvc_token: ${{ secrets.CALKIT_DVC_TOKEN }} run_args: --keep-going --log pull_dvc: false save: false From a2aab8126171bca51af43692b28961ecaaa7a305 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Mon, 8 Jun 2026 14:00:15 -0400 Subject: [PATCH 08/48] copy calkit pull with retries from MDOcean --- .github/workflows/calkit-pull-with-retries.sh | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/calkit-pull-with-retries.sh diff --git a/.github/workflows/calkit-pull-with-retries.sh b/.github/workflows/calkit-pull-with-retries.sh new file mode 100644 index 00000000..51a1b53c --- /dev/null +++ b/.github/workflows/calkit-pull-with-retries.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +set -u + +max_tries=10 +try=1 + +while (( try <= max_tries )); do + echo "=== Attempt $try / $max_tries ===" + + # Run pull and capture ALL output (stdout+stderr) + out="$(calkit pull 2>&1)" + echo "$out" + + # Check for the specific retry-able error pattern + if echo "$out" | grep -Eq 'ERROR: failed to pull data from the cloud - [0-9]+ files failed to download'; then + echo "Retryable error detected. Retrying..." + ((try++)) + sleep 2 + else + echo "No matching error found. Done." + exit 0 + fi +done + +echo "ERROR: exceeded maximum retries ($max_tries)." +exit 1 From 1a7939c4a8eebf234c466913ed51638138542a5e Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Mon, 8 Jun 2026 16:34:45 -0400 Subject: [PATCH 09/48] fix underscores should be dashes for calkit pull script --- .github/workflows/calkit_pull_with_retries.sh | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/calkit_pull_with_retries.sh diff --git a/.github/workflows/calkit_pull_with_retries.sh b/.github/workflows/calkit_pull_with_retries.sh new file mode 100644 index 00000000..51a1b53c --- /dev/null +++ b/.github/workflows/calkit_pull_with_retries.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +set -u + +max_tries=10 +try=1 + +while (( try <= max_tries )); do + echo "=== Attempt $try / $max_tries ===" + + # Run pull and capture ALL output (stdout+stderr) + out="$(calkit pull 2>&1)" + echo "$out" + + # Check for the specific retry-able error pattern + if echo "$out" | grep -Eq 'ERROR: failed to pull data from the cloud - [0-9]+ files failed to download'; then + echo "Retryable error detected. Retrying..." + ((try++)) + sleep 2 + else + echo "No matching error found. Done." + exit 0 + fi +done + +echo "ERROR: exceeded maximum retries ($max_tries)." +exit 1 From 212d46cfcad879cdbd0f321974aa8b642542ffdf Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Tue, 9 Jun 2026 12:48:43 -0400 Subject: [PATCH 10/48] use new dvc remove and remove unnecessary python step in calkit CI --- .dvc/config | 3 +-- .github/workflows/calkit-run.yml | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.dvc/config b/.dvc/config index 48998f48..dd5656a1 100644 --- a/.dvc/config +++ b/.dvc/config @@ -2,5 +2,4 @@ remote = calkit autostage = true ['remote "calkit"'] - url = https://api.calkit.io/projects/symbiotic-engineering/openflash/dvc - auth = custom + url = ck://symbiotic-engineering/openflash diff --git a/.github/workflows/calkit-run.yml b/.github/workflows/calkit-run.yml index 963c49c4..913aec93 100644 --- a/.github/workflows/calkit-run.yml +++ b/.github/workflows/calkit-run.yml @@ -36,10 +36,6 @@ jobs: uses: astral-sh/setup-uv@v7 - name: Install Calkit run: uv tool install --upgrade calkit-python - - name: Set up Python - uses: actions/setup-python@v6 - with: - python-version: '3.x' - name: pull with retries run: bash .github/workflows/calkit_pull_with_retries.sh continue-on-error: true From 01105adfbd9e2e2a1f6e5ed93ff91bee08cdc9e1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2026 17:03:07 +0000 Subject: [PATCH 11/48] Run pipeline --- .../openflash-on-branch/linux-64.yml | 2 +- .../env-locks/openflash-on-main/linux-64.yml | 4 +- ...2-38-69eae373754b4423a49d7179d8f49c69.json | 1379 +++++++++++++++++ ...e090d99c356fcbba202169e22d32c90303ebc.json | 28 + dvc.lock | 38 +- 5 files changed, 1429 insertions(+), 22 deletions(-) create mode 100644 .calkit/runs/2026-06-09T17-02-38-69eae373754b4423a49d7179d8f49c69.json create mode 100644 .calkit/systems/198e090d99c356fcbba202169e22d32c90303ebc.json diff --git a/.calkit/env-locks/openflash-on-branch/linux-64.yml b/.calkit/env-locks/openflash-on-branch/linux-64.yml index 44123a24..96105867 100644 --- a/.calkit/env-locks/openflash-on-branch/linux-64.yml +++ b/.calkit/env-locks/openflash-on-branch/linux-64.yml @@ -1,3 +1,4 @@ +name: openflash-openflash-on-branch channels: - conda-forge - defaults @@ -289,4 +290,3 @@ dependencies: - numpy==1.26.4 - -e ../../.. - scipy==1.13.1 -name: openflash-openflash-on-branch diff --git a/.calkit/env-locks/openflash-on-main/linux-64.yml b/.calkit/env-locks/openflash-on-main/linux-64.yml index b13cbfff..21f6e292 100644 --- a/.calkit/env-locks/openflash-on-main/linux-64.yml +++ b/.calkit/env-locks/openflash-on-main/linux-64.yml @@ -1,6 +1,7 @@ +name: openflash-openflash-on-main channels: - - sea-lab - conda-forge + - sea-lab - defaults dependencies: - _openmp_mutex=4.5=20_gnu @@ -283,4 +284,3 @@ dependencies: - zlib=1.3.2=h25fd6f3_2 - zlib-ng=2.3.3=hceb46e0_1 - zstd=1.5.7=hb78ec9c_6 -name: openflash-openflash-on-main diff --git a/.calkit/runs/2026-06-09T17-02-38-69eae373754b4423a49d7179d8f49c69.json b/.calkit/runs/2026-06-09T17-02-38-69eae373754b4423a49d7179d8f49c69.json new file mode 100644 index 00000000..4f3a68d6 --- /dev/null +++ b/.calkit/runs/2026-06-09T17-02-38-69eae373754b4423a49d7179d8f49c69.json @@ -0,0 +1,1379 @@ +{ + "id": "69eae373754b4423a49d7179d8f49c69", + "system_id": "198e090d99c356fcbba202169e22d32c90303ebc", + "start_time": "2026-06-09T17:02:38.021518+00:00", + "end_time": "2026-06-09T17:03:03.995669+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "sparsity-figs": { + "start_time": "2026-06-09T17:02:38.959000", + "end_time": "2026-06-09T17:02:53.594000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-09T17:02:53.594000", + "end_time": "2026-06-09T17:02:55.634000", + "status": "completed" + }, + "validate-w-capy": { + "start_time": "2026-06-09T17:02:55.634000" + }, + "stages: pubs/JFM/figs/Multi_MEEM_Diagram.pdf.dvc, low-m0-figs, pubs/JFM/figs/discretization_scheme_diagrams.pdf.dvc, pubs/JFM/figs/asymptotic_b.png.dvc, analysis/data.dvc, pubs/JFM/figs/slant_figures.pdf.dvc, validate-w-capy, convergence-figs and pubs/JFM/figs/Matching_Diagram.pdf.dvc": { + "end_time": "2026-06-09T17:03:02.795000", + "status": "failed" + } + }, + "git_rev": "212d46cfcad879cdbd0f321974aa8b642542ffdf", + "git_branch": "workflow-macos", + "git_changed_files_before": [ + ".calkit/env-locks/openflash-on-branch/linux-64.yml", + ".calkit/env-locks/openflash-on-main/linux-64.yml" + ], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/198e090d99c356fcbba202169e22d32c90303ebc.json" + ], + "git_changed_files_after": [ + ".calkit/env-locks/openflash-on-branch/linux-64.yml", + ".calkit/env-locks/openflash-on-main/linux-64.yml", + "dvc.lock" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/198e090d99c356fcbba202169e22d32c90303ebc.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "not in cache" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + "package/src": "modified", + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "not in cache" + } + } + ], + "slant-figs": [ + { + "changed deps": { + "analysis/data/slants.pkl": "deleted", + "analysis/data/slope-slants.pkl": "deleted", + "analysis/data/potential-slants.pkl": "deleted", + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "not in cache", + "pubs/JFM/figs/Vary-Slopes.pdf": "not in cache", + "pubs/JFM/figs/Along-Outline.pdf": "not in cache", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "not in cache" + } + } + ], + "timing-figs": [ + { + "changed deps": { + "analysis/data/timing.pkl": "deleted", + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "not in cache", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "not in cache", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/timing_plots.html": "not in cache" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "not in cache", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "not in cache", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/convergence-results.html": "not in cache" + } + } + ], + "sparsity-figs": [ + { + "changed deps": { + ".calkit/env-locks/openflash-on-main": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "graphical-abstract": [ + { + "changed deps": { + ".calkit/env-locks/tex": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/FLMguide.pdf": "not in cache" + } + } + ], + "dev/python/limiting-cases/low-m0-capytaine.pkl.dvc": [ + { + "changed outs": { + "dev/python/limiting-cases/low-m0-capytaine.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/region-count-convergence/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/region-count-convergence/data": "not in cache" + } + } + ], + "dev/python/convergence-study/i-region-convergence/middle-region/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/i-region-convergence/middle-region/data": "not in cache" + } + } + ], + "dev/python/convergence-study/i-region-convergence/innermost-region/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/i-region-convergence/innermost-region/data": "not in cache" + } + } + ], + "dev/python/convergence-study/i-region-convergence/all-regions/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/i-region-convergence/all-regions/data": "not in cache" + } + } + ], + "dev/python/convergence-study/i-region-convergence/outermost-region/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/i-region-convergence/outermost-region/data": "not in cache" + } + } + ], + "dev/python/convergence-study/e-region-convergence/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/e-region-convergence/data": "not in cache" + } + } + ], + "dev/python/convergence-study/RM3/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/RM3/data": "not in cache" + } + } + ], + "dev/python/convergence-study/prediction/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/prediction/data": "not in cache" + } + } + ], + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/timing/data/cpt-timing.pkl.dvc": [ + { + "changed outs": { + "dev/python/timing/data/cpt-timing.pkl": "not in cache" + } + } + ], + "dev/python/slants/correcting-through-hydros/data/m3.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/correcting-through-hydros/data/m3.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl": "not in cache" + } + } + ], + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl": "not in cache" + } + } + ], + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl": "not in cache" + } + } + ], + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl": "not in cache" + } + } + ], + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl": "not in cache" + } + } + ], + "analysis/data.dvc": [ + { + "changed outs": { + "analysis/data": "not in cache" + } + } + ], + "pubs/JFM/figs/Matching_Diagram.pdf.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/Matching_Diagram.pdf": "not in cache" + } + } + ], + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf": "not in cache" + } + } + ], + "pubs/JFM/figs/asymptotic_b.png.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/asymptotic_b.png": "not in cache" + } + } + ], + "pubs/JFM/figs/discretization_scheme_diagrams.pdf.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/discretization_scheme_diagrams.pdf": "not in cache" + } + } + ], + "pubs/JFM/figs/slant_figures.pdf.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/slant_figures.pdf": "not in cache" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "analysis/data/", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Matching_Diagram.pdf", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/slant_figures.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "analysis/data/", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Matching_Diagram.pdf", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/slant_figures.pdf" + ] + }, + "untracked": [], + "unchanged": [] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "not in cache" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + "package/src": "modified", + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "not in cache" + } + } + ], + "slant-figs": [ + { + "changed deps": { + "analysis/data/slants.pkl": "deleted", + "analysis/data/slope-slants.pkl": "deleted", + "analysis/data/potential-slants.pkl": "deleted", + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "not in cache", + "pubs/JFM/figs/Vary-Slopes.pdf": "not in cache", + "pubs/JFM/figs/Along-Outline.pdf": "not in cache", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "not in cache" + } + } + ], + "timing-figs": [ + { + "changed deps": { + "analysis/data/timing.pkl": "deleted", + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "not in cache", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "not in cache", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/timing_plots.html": "not in cache" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "not in cache", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "not in cache", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/convergence-results.html": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/FLMguide.pdf": "not in cache" + } + } + ], + "dev/python/limiting-cases/low-m0-capytaine.pkl.dvc": [ + { + "changed outs": { + "dev/python/limiting-cases/low-m0-capytaine.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/region-count-convergence/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/region-count-convergence/data": "not in cache" + } + } + ], + "dev/python/convergence-study/i-region-convergence/middle-region/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/i-region-convergence/middle-region/data": "not in cache" + } + } + ], + "dev/python/convergence-study/i-region-convergence/innermost-region/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/i-region-convergence/innermost-region/data": "not in cache" + } + } + ], + "dev/python/convergence-study/i-region-convergence/all-regions/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/i-region-convergence/all-regions/data": "not in cache" + } + } + ], + "dev/python/convergence-study/i-region-convergence/outermost-region/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/i-region-convergence/outermost-region/data": "not in cache" + } + } + ], + "dev/python/convergence-study/e-region-convergence/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/e-region-convergence/data": "not in cache" + } + } + ], + "dev/python/convergence-study/RM3/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/RM3/data": "not in cache" + } + } + ], + "dev/python/convergence-study/prediction/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/prediction/data": "not in cache" + } + } + ], + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl": "not in cache" + } + } + ], + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl.dvc": [ + { + "changed outs": { + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl": "not in cache" + } + } + ], + "dev/python/timing/data/cpt-timing.pkl.dvc": [ + { + "changed outs": { + "dev/python/timing/data/cpt-timing.pkl": "not in cache" + } + } + ], + "dev/python/slants/correcting-through-hydros/data/m3.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/correcting-through-hydros/data/m3.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl": "not in cache" + } + } + ], + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl": "not in cache" + } + } + ], + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl": "not in cache" + } + } + ], + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl": "not in cache" + } + } + ], + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl": "not in cache" + } + } + ], + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl.dvc": [ + { + "changed outs": { + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl": "not in cache" + } + } + ], + "analysis/data.dvc": [ + { + "changed outs": { + "analysis/data": "not in cache" + } + } + ], + "pubs/JFM/figs/Matching_Diagram.pdf.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/Matching_Diagram.pdf": "not in cache" + } + } + ], + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf": "not in cache" + } + } + ], + "pubs/JFM/figs/asymptotic_b.png.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/asymptotic_b.png": "not in cache" + } + } + ], + "pubs/JFM/figs/discretization_scheme_diagrams.pdf.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/discretization_scheme_diagrams.pdf": "not in cache" + } + } + ], + "pubs/JFM/figs/slant_figures.pdf.dvc": [ + { + "changed outs": { + "pubs/JFM/figs/slant_figures.pdf": "not in cache" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "analysis/data/", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Matching_Diagram.pdf", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "pubs/JFM/figs/slant_figures.pdf" + ], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb" + ], + "deleted": [ + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "analysis/data/", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Matching_Diagram.pdf", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "pubs/JFM/figs/slant_figures.pdf" + ] + }, + "untracked": [], + "unchanged": [] + } +} \ No newline at end of file diff --git a/.calkit/systems/198e090d99c356fcbba202169e22d32c90303ebc.json b/.calkit/systems/198e090d99c356fcbba202169e22d32c90303ebc.json new file mode 100644 index 00000000..8e4500f2 --- /dev/null +++ b/.calkit/systems/198e090d99c356fcbba202169e22d32c90303ebc.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1015-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.11", + "calkit_git_rev": null, + "hostname": "runnervm3jyl0", + "processor": "x86_64", + "platform": "Linux-6.17.0-1015-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614948272705078, + "cpu_count": 4, + "node_id": 123869635210436, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.19 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "198e090d99c356fcbba202169e22d32c90303ebc" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index c12f3cf7..cb3d48d2 100644 --- a/dvc.lock +++ b/dvc.lock @@ -341,9 +341,9 @@ stages: deps: - path: .calkit/env-locks/openflash-on-main hash: md5 - md5: f54044d40708eae49d172a85254513fa.dir - size: 9592 - nfiles: 1 + md5: 98482ae17ceccf2fb913dca62c3c1c8d.dir + size: 16887 + nfiles: 2 - path: .calkit/notebooks/cleaned/analysis/sparsity_plots.ipynb hash: md5 md5: ee07dfad96a7d0196a3b895c62bc6502 @@ -351,24 +351,24 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 9f677e417bc9f3bc1489082de1ac3c7e - size: 109739 + md5: 444d9d009589aaba367f8102e75051be + size: 109737 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 - md5: 81ffac3dae40fbb64803344eedfcfb20 - size: 416883 + md5: bdc6bfa41a308a72bb96a6fbde91384a + size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: 51308691ed65e0f0324b836298183256 - size: 12561 + md5: 908f78ab7fc8688b9e69e1f56b420522 + size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 5e51a27b563089ec5a0f50f6d830a573 - size: 9202 + md5: 0922ab0557c82a126c19b78fb803aa69 + size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 736a8d4aa4366f94204eeeef422ece15 - size: 9863 + md5: 12e850b022275d18c04510e9253dae77 + size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to html "analysis/convergence-results.ipynb" @@ -413,9 +413,9 @@ stages: deps: - path: .calkit/env-locks/tex hash: md5 - md5: 1d20723629fc752e4776c7e1d6cb328e.dir - size: 1147 - nfiles: 1 + md5: b404863b132f96ede5eaceb8cc787b66.dir + size: 2294 + nfiles: 2 - path: pubs/JFM/figs/graph_abstract.tex hash: md5 md5: ec8dbe649b3b67812906d82d7a78ce23 @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: a9b22b3b8142f53823030431b128ca89 - size: 16701 + md5: 85545abd70948ba95fcb792337fa9f21 + size: 16700 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: ab6898db6da82271616f7b82ad05056a + md5: a9b510663f0ceecdc78b1bb033ee5ebf size: 11873 From a1bdc637b694cdc2b2c32f7630fd19460a2c3857 Mon Sep 17 00:00:00 2001 From: Becca <32020426+rebeccamccabe@users.noreply.github.com> Date: Fri, 12 Jun 2026 21:26:20 -0400 Subject: [PATCH 12/48] Pull calkit as part of calkit run action instead of retry script Comment out the pull with retries step and enable DVC pulling. --- .github/workflows/calkit-run.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/calkit-run.yml b/.github/workflows/calkit-run.yml index 913aec93..09cccbac 100644 --- a/.github/workflows/calkit-run.yml +++ b/.github/workflows/calkit-run.yml @@ -36,16 +36,16 @@ jobs: uses: astral-sh/setup-uv@v7 - name: Install Calkit run: uv tool install --upgrade calkit-python - - name: pull with retries - run: bash .github/workflows/calkit_pull_with_retries.sh - continue-on-error: true + # - name: pull with retries + # run: bash .github/workflows/calkit_pull_with_retries.sh + # continue-on-error: true - name: Run Calkit id: run_calkit continue-on-error: true uses: calkit/run-action@v2 with: run_args: --keep-going --log - pull_dvc: false + pull_dvc: true save: false cache_dvc: false - name: calkit save From 6a2b1eb08a6a79c34864c9a6f836dde9cd9b6757 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 12 Jun 2026 21:30:03 -0400 Subject: [PATCH 13/48] add jq install to calkit workflow --- .github/workflows/calkit-run.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/calkit-run.yml b/.github/workflows/calkit-run.yml index 913aec93..e6ec2dc6 100644 --- a/.github/workflows/calkit-run.yml +++ b/.github/workflows/calkit-run.yml @@ -36,6 +36,8 @@ jobs: uses: astral-sh/setup-uv@v7 - name: Install Calkit run: uv tool install --upgrade calkit-python + - name: Setup jq + uses: dcarbone/install-jq-action@v3 - name: pull with retries run: bash .github/workflows/calkit_pull_with_retries.sh continue-on-error: true From 16083c743d7d4370551e94a552faf4017cc6e26d Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 12 Jun 2026 23:11:09 -0400 Subject: [PATCH 14/48] delete dupliate calkit pull with retries --- .github/workflows/calkit-run.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/calkit-run.yml b/.github/workflows/calkit-run.yml index d6f6a69b..8f5b0737 100644 --- a/.github/workflows/calkit-run.yml +++ b/.github/workflows/calkit-run.yml @@ -38,9 +38,6 @@ jobs: run: uv tool install --upgrade calkit-python - name: Setup jq uses: dcarbone/install-jq-action@v3 - - name: pull with retries - run: bash .github/workflows/calkit_pull_with_retries.sh - continue-on-error: true # - name: pull with retries # run: bash .github/workflows/calkit_pull_with_retries.sh # continue-on-error: true From 756bcab3e91f2897765354496dd7a2a01f86f736 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 12 Jun 2026 23:33:19 -0400 Subject: [PATCH 15/48] set id token permission to write --- .github/workflows/calkit-run.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/calkit-run.yml b/.github/workflows/calkit-run.yml index 8f5b0737..11f917c7 100644 --- a/.github/workflows/calkit-run.yml +++ b/.github/workflows/calkit-run.yml @@ -8,6 +8,7 @@ on: workflow_dispatch: permissions: contents: write + id-token: write # Make sure we only ever run one per branch so we don't have issues pushing # after running the pipeline From a1b8dad1b77b4d8b0ef35d44b7bc129ce9b7e0bb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Jun 2026 03:39:31 +0000 Subject: [PATCH 16/48] Run pipeline --- ...8-49-767bece6d84d42869978081e184185f8.json | 411 ++++++++++++++++++ ...8dfc3855f84ce6c49ee6a4481a2aff969775e.json | 28 ++ dvc.lock | 16 +- 3 files changed, 447 insertions(+), 8 deletions(-) create mode 100644 .calkit/runs/2026-06-13T03-38-49-767bece6d84d42869978081e184185f8.json create mode 100644 .calkit/systems/4288dfc3855f84ce6c49ee6a4481a2aff969775e.json diff --git a/.calkit/runs/2026-06-13T03-38-49-767bece6d84d42869978081e184185f8.json b/.calkit/runs/2026-06-13T03-38-49-767bece6d84d42869978081e184185f8.json new file mode 100644 index 00000000..e5e8786d --- /dev/null +++ b/.calkit/runs/2026-06-13T03-38-49-767bece6d84d42869978081e184185f8.json @@ -0,0 +1,411 @@ +{ + "id": "767bece6d84d42869978081e184185f8", + "system_id": "4288dfc3855f84ce6c49ee6a4481a2aff969775e", + "start_time": "2026-06-13T03:38:49.394243+00:00", + "end_time": "2026-06-13T03:39:12.858777+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "validate-w-capy": { + "start_time": "2026-06-13T03:38:50.256000", + "end_time": "2026-06-13T03:38:58.494000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-13T03:38:58.494000", + "end_time": "2026-06-13T03:39:09.791000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-13T03:39:09.791000" + }, + "stages: low-m0-figs, validate-w-capy, slant-figs, timing-figs and convergence-figs": { + "end_time": "2026-06-13T03:39:11.734000", + "status": "failed" + } + }, + "git_rev": "756bcab3e91f2897765354496dd7a2a01f86f736", + "git_branch": "workflow-macos", + "git_changed_files_before": [], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/4288dfc3855f84ce6c49ee6a4481a2aff969775e.json" + ], + "git_changed_files_after": [ + "dvc.lock" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/4288dfc3855f84ce6c49ee6a4481a2aff969775e.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + "package/src": "modified", + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/convergence-study/region-count-convergence/data/", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "pubs/JFM/figs/Vary-Slopes.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "analysis/data/", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/html/analysis/convergence-results.html", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + ".calkit/notebooks/html/analysis/timing_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "pubs/JFM/figs/Along-Outline.pdf", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/FLMguide.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + "package/src": "modified", + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "deleted", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "deleted", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "deleted", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + "sea-lab-utils": "deleted", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "deleted", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb" + ], + "deleted": [ + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "analysis/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/4288dfc3855f84ce6c49ee6a4481a2aff969775e.json b/.calkit/systems/4288dfc3855f84ce6c49ee6a4481a2aff969775e.json new file mode 100644 index 00000000..25015a61 --- /dev/null +++ b/.calkit/systems/4288dfc3855f84ce6c49ee6a4481a2aff969775e.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.15", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614948272705078, + "cpu_count": 4, + "node_id": 136469679713389, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "4288dfc3855f84ce6c49ee6a4481a2aff969775e" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index cb3d48d2..e40b2a21 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,23 +351,23 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 444d9d009589aaba367f8102e75051be - size: 109737 + md5: dc595b3058b99b733a04c6f98f7b94b4 + size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: 908f78ab7fc8688b9e69e1f56b420522 + md5: b79a92aa74c2f81429a834464d2a0b79 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 0922ab0557c82a126c19b78fb803aa69 + md5: c66edf0265d75b8ff65a913ebe944412 size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 12e850b022275d18c04510e9253dae77 + md5: 0655ed9001cbb438226b7cc32afc650c size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 85545abd70948ba95fcb792337fa9f21 - size: 16700 + md5: 2d023e895ac2791258ec95e985048a7f + size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: a9b510663f0ceecdc78b1bb033ee5ebf + md5: 977e6025e40ecc7e37a4fa1a5f4e0535 size: 11873 From ab37de25a722c4f7c5be74568f3e2bfe84a51fe6 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Tue, 9 Jun 2026 18:52:48 -0400 Subject: [PATCH 17/48] move sea-lab-utils submodule to analysis folder --- .gitmodules | 5 +- analysis/convergence-results.ipynb | 8 +- analysis/low_m0_plots.ipynb | 6 +- analysis/sea-lab-utils/.gitignore | 160 ++++++++++++++++++ analysis/sea-lab-utils/LICENSE | 21 +++ analysis/sea-lab-utils/README.md | 2 + analysis/sea-lab-utils/git-viz.sh | 6 + .../plotutilities/MatlabFontSize_ClassDemos.m | 5 + .../sea-lab-utils/plotutilities/NewCallback.m | 14 ++ .../sea-lab-utils/plotutilities/add_arrow.m | 4 + .../plotutilities/add_arrow_fun.m | 18 ++ .../sea-lab-utils/plotutilities/adjfigsize.m | 28 +++ .../sea-lab-utils/plotutilities/adjfontsize.m | 20 +++ .../sea-lab-utils/plotutilities/draw_box.m | 40 +++++ .../sea-lab-utils/plotutilities/fig_black.m | 19 +++ analysis/sea-lab-utils/plotutilities/figfix.m | 107 ++++++++++++ .../plotutilities/fun_ClassFont.m | 18 ++ .../sea-lab-utils/plotutilities/get_colors.m | 10 ++ .../sea-lab-utils/plotutilities/what_colors.m | 14 ++ .../sea-lab-utils/pyplotutilities/colors.py | 25 +++ .../pyplotutilities/colorstutorial.py | 17 ++ .../sea-lab-utils/pyplotutilities/fonts.py | 6 + analysis/sea-lab-utils/unpushed.sh | 19 +++ analysis/timing_data_generation.ipynb | 3 +- analysis/timing_plots.ipynb | 6 +- calkit.yaml | 8 +- .../validation_with_capytaine_plots.ipynb | 4 +- 27 files changed, 571 insertions(+), 22 deletions(-) create mode 100644 analysis/sea-lab-utils/.gitignore create mode 100644 analysis/sea-lab-utils/LICENSE create mode 100644 analysis/sea-lab-utils/README.md create mode 100644 analysis/sea-lab-utils/git-viz.sh create mode 100644 analysis/sea-lab-utils/plotutilities/MatlabFontSize_ClassDemos.m create mode 100644 analysis/sea-lab-utils/plotutilities/NewCallback.m create mode 100644 analysis/sea-lab-utils/plotutilities/add_arrow.m create mode 100644 analysis/sea-lab-utils/plotutilities/add_arrow_fun.m create mode 100644 analysis/sea-lab-utils/plotutilities/adjfigsize.m create mode 100644 analysis/sea-lab-utils/plotutilities/adjfontsize.m create mode 100644 analysis/sea-lab-utils/plotutilities/draw_box.m create mode 100644 analysis/sea-lab-utils/plotutilities/fig_black.m create mode 100644 analysis/sea-lab-utils/plotutilities/figfix.m create mode 100644 analysis/sea-lab-utils/plotutilities/fun_ClassFont.m create mode 100644 analysis/sea-lab-utils/plotutilities/get_colors.m create mode 100644 analysis/sea-lab-utils/plotutilities/what_colors.m create mode 100644 analysis/sea-lab-utils/pyplotutilities/colors.py create mode 100644 analysis/sea-lab-utils/pyplotutilities/colorstutorial.py create mode 100644 analysis/sea-lab-utils/pyplotutilities/fonts.py create mode 100644 analysis/sea-lab-utils/unpushed.sh diff --git a/.gitmodules b/.gitmodules index 4f9fca08..d18d246c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,4 @@ -[submodule "src/sea-lab-utils"] - path = src/sea-lab-utils - url = https://github.com/symbiotic-engineering/sea-lab-utils.git [submodule "sea-lab-utils"] - path = sea-lab-utils + path = analysis/sea-lab-utils url = https://github.com/symbiotic-engineering/sea-lab-utils.git branch = main \ No newline at end of file diff --git a/analysis/convergence-results.ipynb b/analysis/convergence-results.ipynb index 202aa5fd..a6069ad7 100644 --- a/analysis/convergence-results.ipynb +++ b/analysis/convergence-results.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "fc78e665", "metadata": {}, "outputs": [ @@ -62,7 +62,7 @@ "\n", "dir_path_1_str = str((HERE / \"..\" / \"dev\" / \"python\" / \"convergence-study\"))\n", "dir_path_2_str = str((HERE / \"..\" / \"dev\" / \"python\"))\n", - "dir_path_3_str = str((HERE / \"..\" / \"sea-lab-utils\").resolve())\n", + "dir_path_3_str = str((HERE / \"sea-lab-utils\").resolve())\n", "dir_path_4_str = str((HERE / \"..\" / \"dev\" / \"python\" / \"convergence-study\" / \"prediction\"))\n", "\n", "data_1_str = str((HERE / \"..\" / \"dev\" / \"python\" / \"convergence-study\" / \"i-region-convergence\" / \"middle-region\" / \"data\" / \"predetermined-4.pkl\"))\n", @@ -776,7 +776,7 @@ "# hmdr, m0h, right_ratio = vars\n", "# alpha = a1 * (log_like(1, b1, c1, right_ratio)) * (np.exp(-a2 * m0h) + b2) # need b2 >= 0\n", "# beta = a3 * (np.exp(-a4 * right_ratio) + b4) * (hmdr + b3) * ((m0h ** 0.5) * (m0h > 5) + m0h/(5**0.5) * (m0h <=5))\n", - "# # b4 = 0 in previous \u2014 assumed it trended to zero\n", + "# # b4 = 0 in previous — assumed it trended to zero\n", "# return alpha, beta\n", "# variables_used = [\"(h-d)/radwidth\", \"m0h\", \"h/(h-d)\"]\n", "# guess = [0.5, 0.016, 0, 0.01, 0, 0.09, 2, 0.1, 0]\n", @@ -951,4 +951,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/analysis/low_m0_plots.ipynb b/analysis/low_m0_plots.ipynb index 802a5631..a7ff42d2 100644 --- a/analysis/low_m0_plots.ipynb +++ b/analysis/low_m0_plots.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "d5e23a34", "metadata": {}, "outputs": [ @@ -44,7 +44,7 @@ " sys.path.insert(0, str(low_m0_dir))\n", "from low_m0 import low_get_hydros\n", "\n", - "utils_path = (HERE / \"..\" / \"sea-lab-utils\").resolve()\n", + "utils_path = (HERE / \"sea-lab-utils\").resolve()\n", "utils_str = str(utils_path)\n", "if utils_str not in sys.path:\n", " sys.path.insert(0, utils_str)\n", @@ -295,4 +295,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/analysis/sea-lab-utils/.gitignore b/analysis/sea-lab-utils/.gitignore new file mode 100644 index 00000000..68bc17f9 --- /dev/null +++ b/analysis/sea-lab-utils/.gitignore @@ -0,0 +1,160 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ diff --git a/analysis/sea-lab-utils/LICENSE b/analysis/sea-lab-utils/LICENSE new file mode 100644 index 00000000..424e7d93 --- /dev/null +++ b/analysis/sea-lab-utils/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 symbiotic-engineering + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/analysis/sea-lab-utils/README.md b/analysis/sea-lab-utils/README.md new file mode 100644 index 00000000..fb141b17 --- /dev/null +++ b/analysis/sea-lab-utils/README.md @@ -0,0 +1,2 @@ +# sea-lab-utils +Utilities for plotting and other routine tasks used across the lab diff --git a/analysis/sea-lab-utils/git-viz.sh b/analysis/sea-lab-utils/git-viz.sh new file mode 100644 index 00000000..1868496d --- /dev/null +++ b/analysis/sea-lab-utils/git-viz.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# first remove branches that have been deleted on remote +git remote prune origin + +# show simplified tree of remote branches only +git log --graph --decorate --oneline --simplify-by-decoration --remotes --decorate-refs=refs/remotes/ diff --git a/analysis/sea-lab-utils/plotutilities/MatlabFontSize_ClassDemos.m b/analysis/sea-lab-utils/plotutilities/MatlabFontSize_ClassDemos.m new file mode 100644 index 00000000..0bfedace --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/MatlabFontSize_ClassDemos.m @@ -0,0 +1,5 @@ +s = settings +s.matlab.fonts.codefont.Size.PersonalValue = 20; %set the font size +return +%% To clear the personal value for the font size.... +clearPersonalValue(s.matlab.fonts.codefont.Size) \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/NewCallback.m b/analysis/sea-lab-utils/plotutilities/NewCallback.m new file mode 100644 index 00000000..70fc34fc --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/NewCallback.m @@ -0,0 +1,14 @@ +function output_txt = myfunction(obj,event_obj) +% Display the position of the data cursor +% obj Currently not used (empty) +% event_obj Handle to event object +% output_txt Data cursor text string (string or cell array of strings). + +pos = get(event_obj,'Position'); +output_txt = {['X: ',num2str(pos(1),5)],... + ['Y: ',num2str(pos(2),5)]}; + +% If there is a Z-coordinate in the position, display it as well +if length(pos) > 2 + output_txt{end+1} = ['Z: ',num2str(pos(3),4)]; +end diff --git a/analysis/sea-lab-utils/plotutilities/add_arrow.m b/analysis/sea-lab-utils/plotutilities/add_arrow.m new file mode 100644 index 00000000..aa3ce2bc --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/add_arrow.m @@ -0,0 +1,4 @@ +% Insert an Arrow with a circle head +hdumdum = annotation('arrow'); +set(hdumdum,'HeadStyle','ellipse') +set(hdumdum,'HeadSize',4) \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/add_arrow_fun.m b/analysis/sea-lab-utils/plotutilities/add_arrow_fun.m new file mode 100644 index 00000000..2ffd2f77 --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/add_arrow_fun.m @@ -0,0 +1,18 @@ +function add_arrow_fun(N,S) +% add_arrow_fun(N,S) +% Inserts N arrows with a circular head of size S +% Defaults: N=1, S=3 + +%Set defaults for N and S +if(~exist('N','var')) %if headsize was not supplied, default to 3 + N = 1; +end +if(~exist('S','var')) %if headsize was not supplied, default to 3 + S = 3; +end + +for iii=1:N + hdumdum = annotation('arrow'); + set(hdumdum,'HeadStyle','ellipse') + set(hdumdum,'HeadSize',S) +end \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/adjfigsize.m b/analysis/sea-lab-utils/plotutilities/adjfigsize.m new file mode 100644 index 00000000..b1af9da5 --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/adjfigsize.m @@ -0,0 +1,28 @@ +% adjfigsize +% This script adjusts the dimensions of the current figure based on the +% inputs: +% fwidth - This is the desired width of the figure in inches. Must be +% defined in the calling script + +figtouse = gcf; +set(gcf,'Units','inches'); +Coord=get(figtouse,'Position'); +% fwidth = 3.25; + +% Note: +% Coord(1) is your x +% Coord(2) is your y +% Coord(3) is your width +% Coord(4) is your height + +% Define modified dimensions +NewWidth = fwidth; +NewHeight = fheight; + +% Then set the new handles. + +set(figtouse,'Position',[Coord(1),Coord(2),NewWidth,NewHeight]); + +%Set Figure Colors +set(gca, 'Color', [1 1 1]); % Sets axes background +set(gcf, 'Color', [1 1 1]); % Sets figure background \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/adjfontsize.m b/analysis/sea-lab-utils/plotutilities/adjfontsize.m new file mode 100644 index 00000000..cb2bbcb7 --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/adjfontsize.m @@ -0,0 +1,20 @@ +% Matlab script to adjust the fontsize of the xlabel, ylabel, and axes tic +% labels for the active figure. The variable "fsize" must be defined in the +% calling script. Updated: 3/17/2014 -PTK + +% hAnnotation = get(gcf,'Annotation'); +% hLegendEntry = get(hAnnotation','LegendInformation'); +% set(hLegendEntry,'FontSize',fsize-2) + +set(gca,'FontSize',fsize); %Takes care of tick labels + +%The following lines grab annotation, title, and axis label handles +hText = findall(findobj(gcf),'Type','text'); +set(hText,'FontSize',fsize); +alldatacursors = findall(gcf,'type','hggroup'); +set(alldatacursors,'FontSize',fsize); + +% These commands aren't needed with the newly implemented "findall" command +% set(get(gca,'Ylabel'),'FontSize',fsize); +% set(get(gca,'Xlabel'),'FontSize',fsize); +% set(get(gca,'Title'),'FontSize',fsize); \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/draw_box.m b/analysis/sea-lab-utils/plotutilities/draw_box.m new file mode 100644 index 00000000..1d2ca8fd --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/draw_box.m @@ -0,0 +1,40 @@ +function [box] = draw_box(fig,location,h,w,angle,c,LW,LS) +% This function draws a box around the location. If no w is provided it is +% assumed square. If no angle is is assumed 0. Angle should be in radians. +figure(fig) +if nargin < 4 + w = h; +end +if nargin < 5 + angle = 0; +end +if nargin < 6 + c = 'k'; +end +if nargin < 7 + LW = 1; +end +if nargin < 8 + LS = '-'; +end +xc = location(1); +yc = location(2); + +d = sqrt((h/2).^2 + (w/2).^2); +x = zeros(4,1); +y = zeros(4,1); +a = atan(h/w); + +x(1) = xc + d*cos(a + angle); +y(1) = yc + d*sin(a + angle); +x(2) = xc + d*cos(angle + pi - a); +y(2) = yc + d*sin(angle + pi - a); +x(3) = xc + d*cos(a + angle + pi); +y(3) = yc + d*sin(a + angle + pi); +x(4) = xc + d*cos(angle - a); +y(4) = yc + d*sin(angle - a); + +for i = 1:3 + box(i) = line([x(i) x(i+1)],[y(i) y(i+1)],'color',c,'linewidth',LW,'linestyle',LS); +end +box(4) = line([x(1) x(4)],[y(1) y(4)],'color',c,'linewidth',LW,'linestyle',LS); \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/fig_black.m b/analysis/sea-lab-utils/plotutilities/fig_black.m new file mode 100644 index 00000000..41c852be --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/fig_black.m @@ -0,0 +1,19 @@ +% convert figure to black background +% set(gca,'Color','w') +% set(findobj()) +whitebg(gcf,'k') +set(gcf,'Color','k') +set(gcf,'InvertHardcopy','off') +hText = findall(findobj(gcf),'Type','text'); +set(hText,'Color','w') +set(hText,'BackgroundColor','none') + +hLine = findall(findobj(gcf),'Type','line'); +for ii=1:length(hLine) + if get(hLine(ii),'Color') == [0,0,0] + set(hLine(ii),'Color','w') + else +% set(hLine(ii),'Color','g') + end +% set(hLine(ii),'MarkerEdgeColor','c') +end \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/figfix.m b/analysis/sea-lab-utils/plotutilities/figfix.m new file mode 100644 index 00000000..7ff2a06e --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/figfix.m @@ -0,0 +1,107 @@ +function [fwidth, fheight] = figfix(style,fsize,s) +% figfix +% This function adjusts the font size and figure size +% 'style': string defining the figure style +% 'Pap1' - single column print with W=H +% 'Print1' - single column print with W=4/3H +% 'Print2' - 2 column print out with W = 5/2H +% 'Gold' + +% 'fsize': fontsize (number) in pts +set(gca,'ActivePositionProperty','Outerposition'); + +if exist('fsize','var')==0 + fsize = 20; +elseif exist('style','var')==1 + %the fontsize for the plot was defined in the function call +end + +if exist('style','var')==0 + style = 'ME373_L20'; %if no style is applied, set default +elseif exist('style','var')==1 + %the style for the plot was defined in the function call +else + disp('Is style defined or not???') + return +end + +switch style + case 'square' + fwidth = 4; + fheight = 4; + case 'Pap1' %slightly taller figure than "Print1" + % Single column paper settings + fwidth = 3.25*s; %This is the figure width in inches + fheight = fwidth; + case 'Print1' + % Standard Printout + fwidth = 3.25; + fheight = .75*fwidth; + case 'Print2' + % Wide Printout + fwidth = 6.5; + fheight = 0.4*fwidth; %This is the figure height in inches + case 'Print3' + % Standard Printout + fwidth = 2.9; + fheight = 1.49; + case 'Print3' %slightly widerfigure than "Print1" + % Single column paper settings + fwidth = 4.25*s; %This is the figure width in inches + fheight = 3.25; + case 'Print4' %Single Column Tall + fsize = 10; + fwidth = 3.25 *s; + fheight = 1.1 * fwidth; + case 'Gold' + % Golden ratio + % fheight = 2/(1+sqrt(5))*fwidth; %This is the figure height in inches + case 'ES15' + fwidth = 5; + fheight = .75*fwidth; + case 'ES16' + fwidth = 4.; + fheight = 4.; + case 'ES_deltas' + fwidth = 5.7; + fheight = 5.4; + case 'Pres1' + fwidth = 4.5; + fheight = 5; + case 'Poster' + fwidth = 6; + fheight = .75*fwidth; + case 'PosterTall' + fwidth = 5; + fheight = 5; + case 'BigPic' + fwidth = 5.5; + fheight = 6; + case {'ME373_L20', 'ME373','ME333'} + fwidth = 10; + fheight = 6; + case 'WordCloud' + fwidth = 8; + fheight = 6; + + otherwise + disp('Select a "style"!') + return +end +% set(gca,'LineWidth',1) +% set(gca,'XLim',[800 1600]) +% set(gca,'YLim',[0 10]) +adjfigsize +if strcmp(style, 'WordCloud') + whitebg(gcf,'k') + set(gcf,'Color','none') + set(gcf,'InvertHardcopy','off') + hText = findall(findobj(gcf),'Type','text'); + set(hText,'BackgroundColor','none') +else + +end +adjfontsize +box on +movegui('onscreen') +return \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/fun_ClassFont.m b/analysis/sea-lab-utils/plotutilities/fun_ClassFont.m new file mode 100644 index 00000000..85e16062 --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/fun_ClassFont.m @@ -0,0 +1,18 @@ +function fun_ClassFont(fsize) +% Enter a font size for the variable 'fsize' to modify the font size for +% display OR enter 'clear' for fsize to reset to the default font size. + +s = settings; +if fsize == 'clear' + clearPersonalValue(s.matlab.fonts.codefont.Size) +elseif exist('fsize','var')==0 + fsize = 20; +else + %the fontsize for the plot was defined in the function call +end + +s.matlab.fonts.codefont.Size.PersonalValue = fsize; %set the font size + +end +% return +%% To clear the personal value for the font size.... diff --git a/analysis/sea-lab-utils/plotutilities/get_colors.m b/analysis/sea-lab-utils/plotutilities/get_colors.m new file mode 100644 index 00000000..696b69e8 --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/get_colors.m @@ -0,0 +1,10 @@ +%% Creates color friendly colors +% Just run this code and then use the variable names +black = '#000000'; +orange = '#E69F00'; +skyblue = '#56B4E9'; +green = '#009E73'; +yellow = '#F0E442'; +blue = '#0072B2'; +red = '#D55E00'; +purple = '#CC79A7'; \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/what_colors.m b/analysis/sea-lab-utils/plotutilities/what_colors.m new file mode 100644 index 00000000..40c41652 --- /dev/null +++ b/analysis/sea-lab-utils/plotutilities/what_colors.m @@ -0,0 +1,14 @@ +function what_colors() +% prints the names and hex codes of all the colors in case you forget +disp('Variable Name Hex Code') +disp('=========================') +disp('black #000000') +disp('orange #E69F00') +disp('skyblue #56B4E9') +disp('green #009E73') +disp('yellow #F0E442') +disp('blue #0072B2') +disp('red #D55E00') +disp('purple #CC79A7') +end + diff --git a/analysis/sea-lab-utils/pyplotutilities/colors.py b/analysis/sea-lab-utils/pyplotutilities/colors.py new file mode 100644 index 00000000..f6cbd1ee --- /dev/null +++ b/analysis/sea-lab-utils/pyplotutilities/colors.py @@ -0,0 +1,25 @@ +def get_colors(): + #Creates global variables for color blind friendly colors + global black, orange, skyblue, green, yellow, blue, red, purple + black = '#000000' + orange = '#E69F00' + skyblue = '#56B4E9' + green = '#009E73' + yellow = '#F0E442' + blue = '#0072B2' + red = '#D55E00' + purple = '#CC79A7' + return + +def what_colors(): + # prints the variable names and hex codes for each color in case you forget + print('Variable Name Hex Code') + print('=========================') + print('black #000000') + print('orange #E69F00') + print('skyblue #56B4E9') + print('green #009E73') + print('yellow #F0E442') + print('blue #0072B2') + print('red #D55E00') + print('purple #CC79A7') \ No newline at end of file diff --git a/analysis/sea-lab-utils/pyplotutilities/colorstutorial.py b/analysis/sea-lab-utils/pyplotutilities/colorstutorial.py new file mode 100644 index 00000000..4f4f570b --- /dev/null +++ b/analysis/sea-lab-utils/pyplotutilities/colorstutorial.py @@ -0,0 +1,17 @@ +import numpy as np +import matplotlib.pyplot as plt +import colors # import the colors.py functions +import fonts # import the fonts.py functions +# Generate some data +x = np.linspace(0, 2*np.pi, 100) +y = np.sin(x) + +# Create the plot +colors.get_colors() # create the color variables +colors.what_colors() # remind yourself of the color names if needed +print(colors.purple) # access the color variables using . notation +fonts.get_fonts() +plt.plot(x, y, label='sin(x)', color=colors.purple, linestyle='-', linewidth=2) + +# Show plot +plt.show() diff --git a/analysis/sea-lab-utils/pyplotutilities/fonts.py b/analysis/sea-lab-utils/pyplotutilities/fonts.py new file mode 100644 index 00000000..ace09937 --- /dev/null +++ b/analysis/sea-lab-utils/pyplotutilities/fonts.py @@ -0,0 +1,6 @@ +import matplotlib.pyplot as plt + +def get_fonts(): + plt.rcParams.update({'font.family': 'serif', 'text.usetex': True}) + +#Note: must have MiKTeX or TeX installed on computer \ No newline at end of file diff --git a/analysis/sea-lab-utils/unpushed.sh b/analysis/sea-lab-utils/unpushed.sh new file mode 100644 index 00000000..1a47813e --- /dev/null +++ b/analysis/sea-lab-utils/unpushed.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Bash script to show git commits that haven't been pushed. +# Checks all of the branches of all of the git repos that are under the current directory. + +# Find all .git directories +find . -type d -iname '.git' -exec sh -c ' + # Change to the parent directory of the .git folder + cd "${0}/../" || exit + + # Check if there are any commits in branches not on remotes + if git log --branches --not --remotes --no-walk --decorate --oneline | grep -q ""; then + echo "" # Print an empty line + pwd # Print the current directory + # Print the log of commits + git log --branches --not --remotes --no-walk --decorate --oneline + fi +' "{}" \; + +# code modified from https://stackoverflow.com/a/33391814 and https://stackoverflow.com/a/48180899 diff --git a/analysis/timing_data_generation.ipynb b/analysis/timing_data_generation.ipynb index 68104f37..e5940a03 100644 --- a/analysis/timing_data_generation.ipynb +++ b/analysis/timing_data_generation.ipynb @@ -27,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "9ddd15c3", "metadata": {}, "outputs": [ @@ -69,7 +69,6 @@ "\n", "\n", "# Now you can import from the folder structure\n", - "# Assuming 'pyplotutilities' is a folder inside 'sea-lab-utils'\n", "import sys\n", "from pathlib import Path\n", "HERE = Path.cwd().resolve()\n", diff --git a/analysis/timing_plots.ipynb b/analysis/timing_plots.ipynb index 891f777e..844a6a2b 100644 --- a/analysis/timing_plots.ipynb +++ b/analysis/timing_plots.ipynb @@ -27,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "ed2439b5", "metadata": {}, "outputs": [ @@ -69,7 +69,7 @@ "import sys\n", "from pathlib import Path\n", "HERE = Path.cwd().resolve()\n", - "utils_path = (HERE / \"..\" / \"sea-lab-utils\").resolve()\n", + "utils_path = (HERE / \"sea-lab-utils\").resolve()\n", "utils_str = str(utils_path)\n", "if utils_str not in sys.path:\n", " sys.path.insert(0, utils_str)\n", @@ -582,4 +582,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/calkit.yaml b/calkit.yaml index 1cce0a36..a8a64e6f 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -35,7 +35,7 @@ pipeline: inputs: - package/src/ - dev/python/limiting-cases/low_m0.py - - sea-lab-utils + - analysis/sea-lab-utils outputs: - pubs/JFM/figs/MEEM-Low-Freq.pdf slant-figs: @@ -46,7 +46,7 @@ pipeline: - analysis/data/slants.pkl - analysis/data/slope-slants.pkl - analysis/data/potential-slants.pkl - - sea-lab-utils + - analysis/sea-lab-utils outputs: - pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf - pubs/JFM/figs/Vary-Slopes.pdf @@ -58,7 +58,7 @@ pipeline: environment: openflash-on-branch inputs: - analysis/data/timing.pkl - - sea-lab-utils + - analysis/sea-lab-utils outputs: - pubs/JFM/figs/MEEM-Comp-Distribution.pdf - pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf @@ -68,7 +68,7 @@ pipeline: notebook_path: analysis/convergence-results.ipynb environment: openflash-on-branch inputs: - - sea-lab-utils + - analysis/sea-lab-utils outputs: - pubs/JFM/figs/alpha-beta-explanation.pdf - pubs/JFM/figs/alpha-beta-to-trend.pdf diff --git a/dev/python/validation_with_capytaine_plots.ipynb b/dev/python/validation_with_capytaine_plots.ipynb index a71f5774..1ccb404a 100644 --- a/dev/python/validation_with_capytaine_plots.ipynb +++ b/dev/python/validation_with_capytaine_plots.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "d8810371", "metadata": {}, "outputs": [ @@ -48,7 +48,7 @@ "import os\n", "\n", "# Define the path to the directory containing the package\n", - "utils_path = r\"C:\\Users\\15183\\OpenFLASH\\sea-lab-utils\"\n", + "utils_path = r\"C:\\Users\\15183\\OpenFLASH\\analysis\\sea-lab-utils\"\n", "\n", "if utils_path not in sys.path:\n", " sys.path.append(utils_path)\n", From 4ec1c323d2f6a04f452ff81de8f1c6ac258a403e Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 12 Jun 2026 16:51:16 -0400 Subject: [PATCH 18/48] repair sea-lab-utils submodule that was accidentally committed as regular files --- .gitmodules | 2 +- analysis/sea-lab-utils | 1 + analysis/sea-lab-utils/.gitignore | 160 ------------------ analysis/sea-lab-utils/LICENSE | 21 --- analysis/sea-lab-utils/README.md | 2 - analysis/sea-lab-utils/git-viz.sh | 6 - .../plotutilities/MatlabFontSize_ClassDemos.m | 5 - .../sea-lab-utils/plotutilities/NewCallback.m | 14 -- .../sea-lab-utils/plotutilities/add_arrow.m | 4 - .../plotutilities/add_arrow_fun.m | 18 -- .../sea-lab-utils/plotutilities/adjfigsize.m | 28 --- .../sea-lab-utils/plotutilities/adjfontsize.m | 20 --- .../sea-lab-utils/plotutilities/draw_box.m | 40 ----- .../sea-lab-utils/plotutilities/fig_black.m | 19 --- analysis/sea-lab-utils/plotutilities/figfix.m | 107 ------------ .../plotutilities/fun_ClassFont.m | 18 -- .../sea-lab-utils/plotutilities/get_colors.m | 10 -- .../sea-lab-utils/plotutilities/what_colors.m | 14 -- .../sea-lab-utils/pyplotutilities/colors.py | 25 --- .../pyplotutilities/colorstutorial.py | 17 -- .../sea-lab-utils/pyplotutilities/fonts.py | 6 - analysis/sea-lab-utils/unpushed.sh | 19 --- 22 files changed, 2 insertions(+), 554 deletions(-) create mode 160000 analysis/sea-lab-utils delete mode 100644 analysis/sea-lab-utils/.gitignore delete mode 100644 analysis/sea-lab-utils/LICENSE delete mode 100644 analysis/sea-lab-utils/README.md delete mode 100644 analysis/sea-lab-utils/git-viz.sh delete mode 100644 analysis/sea-lab-utils/plotutilities/MatlabFontSize_ClassDemos.m delete mode 100644 analysis/sea-lab-utils/plotutilities/NewCallback.m delete mode 100644 analysis/sea-lab-utils/plotutilities/add_arrow.m delete mode 100644 analysis/sea-lab-utils/plotutilities/add_arrow_fun.m delete mode 100644 analysis/sea-lab-utils/plotutilities/adjfigsize.m delete mode 100644 analysis/sea-lab-utils/plotutilities/adjfontsize.m delete mode 100644 analysis/sea-lab-utils/plotutilities/draw_box.m delete mode 100644 analysis/sea-lab-utils/plotutilities/fig_black.m delete mode 100644 analysis/sea-lab-utils/plotutilities/figfix.m delete mode 100644 analysis/sea-lab-utils/plotutilities/fun_ClassFont.m delete mode 100644 analysis/sea-lab-utils/plotutilities/get_colors.m delete mode 100644 analysis/sea-lab-utils/plotutilities/what_colors.m delete mode 100644 analysis/sea-lab-utils/pyplotutilities/colors.py delete mode 100644 analysis/sea-lab-utils/pyplotutilities/colorstutorial.py delete mode 100644 analysis/sea-lab-utils/pyplotutilities/fonts.py delete mode 100644 analysis/sea-lab-utils/unpushed.sh diff --git a/.gitmodules b/.gitmodules index d18d246c..ed556264 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ -[submodule "sea-lab-utils"] +[submodule "analysis/sea-lab-utils"] path = analysis/sea-lab-utils url = https://github.com/symbiotic-engineering/sea-lab-utils.git branch = main \ No newline at end of file diff --git a/analysis/sea-lab-utils b/analysis/sea-lab-utils new file mode 160000 index 00000000..f9d69427 --- /dev/null +++ b/analysis/sea-lab-utils @@ -0,0 +1 @@ +Subproject commit f9d69427a24304292c4a140b272e63122df9b6cf diff --git a/analysis/sea-lab-utils/.gitignore b/analysis/sea-lab-utils/.gitignore deleted file mode 100644 index 68bc17f9..00000000 --- a/analysis/sea-lab-utils/.gitignore +++ /dev/null @@ -1,160 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ diff --git a/analysis/sea-lab-utils/LICENSE b/analysis/sea-lab-utils/LICENSE deleted file mode 100644 index 424e7d93..00000000 --- a/analysis/sea-lab-utils/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 symbiotic-engineering - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/analysis/sea-lab-utils/README.md b/analysis/sea-lab-utils/README.md deleted file mode 100644 index fb141b17..00000000 --- a/analysis/sea-lab-utils/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# sea-lab-utils -Utilities for plotting and other routine tasks used across the lab diff --git a/analysis/sea-lab-utils/git-viz.sh b/analysis/sea-lab-utils/git-viz.sh deleted file mode 100644 index 1868496d..00000000 --- a/analysis/sea-lab-utils/git-viz.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -# first remove branches that have been deleted on remote -git remote prune origin - -# show simplified tree of remote branches only -git log --graph --decorate --oneline --simplify-by-decoration --remotes --decorate-refs=refs/remotes/ diff --git a/analysis/sea-lab-utils/plotutilities/MatlabFontSize_ClassDemos.m b/analysis/sea-lab-utils/plotutilities/MatlabFontSize_ClassDemos.m deleted file mode 100644 index 0bfedace..00000000 --- a/analysis/sea-lab-utils/plotutilities/MatlabFontSize_ClassDemos.m +++ /dev/null @@ -1,5 +0,0 @@ -s = settings -s.matlab.fonts.codefont.Size.PersonalValue = 20; %set the font size -return -%% To clear the personal value for the font size.... -clearPersonalValue(s.matlab.fonts.codefont.Size) \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/NewCallback.m b/analysis/sea-lab-utils/plotutilities/NewCallback.m deleted file mode 100644 index 70fc34fc..00000000 --- a/analysis/sea-lab-utils/plotutilities/NewCallback.m +++ /dev/null @@ -1,14 +0,0 @@ -function output_txt = myfunction(obj,event_obj) -% Display the position of the data cursor -% obj Currently not used (empty) -% event_obj Handle to event object -% output_txt Data cursor text string (string or cell array of strings). - -pos = get(event_obj,'Position'); -output_txt = {['X: ',num2str(pos(1),5)],... - ['Y: ',num2str(pos(2),5)]}; - -% If there is a Z-coordinate in the position, display it as well -if length(pos) > 2 - output_txt{end+1} = ['Z: ',num2str(pos(3),4)]; -end diff --git a/analysis/sea-lab-utils/plotutilities/add_arrow.m b/analysis/sea-lab-utils/plotutilities/add_arrow.m deleted file mode 100644 index aa3ce2bc..00000000 --- a/analysis/sea-lab-utils/plotutilities/add_arrow.m +++ /dev/null @@ -1,4 +0,0 @@ -% Insert an Arrow with a circle head -hdumdum = annotation('arrow'); -set(hdumdum,'HeadStyle','ellipse') -set(hdumdum,'HeadSize',4) \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/add_arrow_fun.m b/analysis/sea-lab-utils/plotutilities/add_arrow_fun.m deleted file mode 100644 index 2ffd2f77..00000000 --- a/analysis/sea-lab-utils/plotutilities/add_arrow_fun.m +++ /dev/null @@ -1,18 +0,0 @@ -function add_arrow_fun(N,S) -% add_arrow_fun(N,S) -% Inserts N arrows with a circular head of size S -% Defaults: N=1, S=3 - -%Set defaults for N and S -if(~exist('N','var')) %if headsize was not supplied, default to 3 - N = 1; -end -if(~exist('S','var')) %if headsize was not supplied, default to 3 - S = 3; -end - -for iii=1:N - hdumdum = annotation('arrow'); - set(hdumdum,'HeadStyle','ellipse') - set(hdumdum,'HeadSize',S) -end \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/adjfigsize.m b/analysis/sea-lab-utils/plotutilities/adjfigsize.m deleted file mode 100644 index b1af9da5..00000000 --- a/analysis/sea-lab-utils/plotutilities/adjfigsize.m +++ /dev/null @@ -1,28 +0,0 @@ -% adjfigsize -% This script adjusts the dimensions of the current figure based on the -% inputs: -% fwidth - This is the desired width of the figure in inches. Must be -% defined in the calling script - -figtouse = gcf; -set(gcf,'Units','inches'); -Coord=get(figtouse,'Position'); -% fwidth = 3.25; - -% Note: -% Coord(1) is your x -% Coord(2) is your y -% Coord(3) is your width -% Coord(4) is your height - -% Define modified dimensions -NewWidth = fwidth; -NewHeight = fheight; - -% Then set the new handles. - -set(figtouse,'Position',[Coord(1),Coord(2),NewWidth,NewHeight]); - -%Set Figure Colors -set(gca, 'Color', [1 1 1]); % Sets axes background -set(gcf, 'Color', [1 1 1]); % Sets figure background \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/adjfontsize.m b/analysis/sea-lab-utils/plotutilities/adjfontsize.m deleted file mode 100644 index cb2bbcb7..00000000 --- a/analysis/sea-lab-utils/plotutilities/adjfontsize.m +++ /dev/null @@ -1,20 +0,0 @@ -% Matlab script to adjust the fontsize of the xlabel, ylabel, and axes tic -% labels for the active figure. The variable "fsize" must be defined in the -% calling script. Updated: 3/17/2014 -PTK - -% hAnnotation = get(gcf,'Annotation'); -% hLegendEntry = get(hAnnotation','LegendInformation'); -% set(hLegendEntry,'FontSize',fsize-2) - -set(gca,'FontSize',fsize); %Takes care of tick labels - -%The following lines grab annotation, title, and axis label handles -hText = findall(findobj(gcf),'Type','text'); -set(hText,'FontSize',fsize); -alldatacursors = findall(gcf,'type','hggroup'); -set(alldatacursors,'FontSize',fsize); - -% These commands aren't needed with the newly implemented "findall" command -% set(get(gca,'Ylabel'),'FontSize',fsize); -% set(get(gca,'Xlabel'),'FontSize',fsize); -% set(get(gca,'Title'),'FontSize',fsize); \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/draw_box.m b/analysis/sea-lab-utils/plotutilities/draw_box.m deleted file mode 100644 index 1d2ca8fd..00000000 --- a/analysis/sea-lab-utils/plotutilities/draw_box.m +++ /dev/null @@ -1,40 +0,0 @@ -function [box] = draw_box(fig,location,h,w,angle,c,LW,LS) -% This function draws a box around the location. If no w is provided it is -% assumed square. If no angle is is assumed 0. Angle should be in radians. -figure(fig) -if nargin < 4 - w = h; -end -if nargin < 5 - angle = 0; -end -if nargin < 6 - c = 'k'; -end -if nargin < 7 - LW = 1; -end -if nargin < 8 - LS = '-'; -end -xc = location(1); -yc = location(2); - -d = sqrt((h/2).^2 + (w/2).^2); -x = zeros(4,1); -y = zeros(4,1); -a = atan(h/w); - -x(1) = xc + d*cos(a + angle); -y(1) = yc + d*sin(a + angle); -x(2) = xc + d*cos(angle + pi - a); -y(2) = yc + d*sin(angle + pi - a); -x(3) = xc + d*cos(a + angle + pi); -y(3) = yc + d*sin(a + angle + pi); -x(4) = xc + d*cos(angle - a); -y(4) = yc + d*sin(angle - a); - -for i = 1:3 - box(i) = line([x(i) x(i+1)],[y(i) y(i+1)],'color',c,'linewidth',LW,'linestyle',LS); -end -box(4) = line([x(1) x(4)],[y(1) y(4)],'color',c,'linewidth',LW,'linestyle',LS); \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/fig_black.m b/analysis/sea-lab-utils/plotutilities/fig_black.m deleted file mode 100644 index 41c852be..00000000 --- a/analysis/sea-lab-utils/plotutilities/fig_black.m +++ /dev/null @@ -1,19 +0,0 @@ -% convert figure to black background -% set(gca,'Color','w') -% set(findobj()) -whitebg(gcf,'k') -set(gcf,'Color','k') -set(gcf,'InvertHardcopy','off') -hText = findall(findobj(gcf),'Type','text'); -set(hText,'Color','w') -set(hText,'BackgroundColor','none') - -hLine = findall(findobj(gcf),'Type','line'); -for ii=1:length(hLine) - if get(hLine(ii),'Color') == [0,0,0] - set(hLine(ii),'Color','w') - else -% set(hLine(ii),'Color','g') - end -% set(hLine(ii),'MarkerEdgeColor','c') -end \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/figfix.m b/analysis/sea-lab-utils/plotutilities/figfix.m deleted file mode 100644 index 7ff2a06e..00000000 --- a/analysis/sea-lab-utils/plotutilities/figfix.m +++ /dev/null @@ -1,107 +0,0 @@ -function [fwidth, fheight] = figfix(style,fsize,s) -% figfix -% This function adjusts the font size and figure size -% 'style': string defining the figure style -% 'Pap1' - single column print with W=H -% 'Print1' - single column print with W=4/3H -% 'Print2' - 2 column print out with W = 5/2H -% 'Gold' - -% 'fsize': fontsize (number) in pts -set(gca,'ActivePositionProperty','Outerposition'); - -if exist('fsize','var')==0 - fsize = 20; -elseif exist('style','var')==1 - %the fontsize for the plot was defined in the function call -end - -if exist('style','var')==0 - style = 'ME373_L20'; %if no style is applied, set default -elseif exist('style','var')==1 - %the style for the plot was defined in the function call -else - disp('Is style defined or not???') - return -end - -switch style - case 'square' - fwidth = 4; - fheight = 4; - case 'Pap1' %slightly taller figure than "Print1" - % Single column paper settings - fwidth = 3.25*s; %This is the figure width in inches - fheight = fwidth; - case 'Print1' - % Standard Printout - fwidth = 3.25; - fheight = .75*fwidth; - case 'Print2' - % Wide Printout - fwidth = 6.5; - fheight = 0.4*fwidth; %This is the figure height in inches - case 'Print3' - % Standard Printout - fwidth = 2.9; - fheight = 1.49; - case 'Print3' %slightly widerfigure than "Print1" - % Single column paper settings - fwidth = 4.25*s; %This is the figure width in inches - fheight = 3.25; - case 'Print4' %Single Column Tall - fsize = 10; - fwidth = 3.25 *s; - fheight = 1.1 * fwidth; - case 'Gold' - % Golden ratio - % fheight = 2/(1+sqrt(5))*fwidth; %This is the figure height in inches - case 'ES15' - fwidth = 5; - fheight = .75*fwidth; - case 'ES16' - fwidth = 4.; - fheight = 4.; - case 'ES_deltas' - fwidth = 5.7; - fheight = 5.4; - case 'Pres1' - fwidth = 4.5; - fheight = 5; - case 'Poster' - fwidth = 6; - fheight = .75*fwidth; - case 'PosterTall' - fwidth = 5; - fheight = 5; - case 'BigPic' - fwidth = 5.5; - fheight = 6; - case {'ME373_L20', 'ME373','ME333'} - fwidth = 10; - fheight = 6; - case 'WordCloud' - fwidth = 8; - fheight = 6; - - otherwise - disp('Select a "style"!') - return -end -% set(gca,'LineWidth',1) -% set(gca,'XLim',[800 1600]) -% set(gca,'YLim',[0 10]) -adjfigsize -if strcmp(style, 'WordCloud') - whitebg(gcf,'k') - set(gcf,'Color','none') - set(gcf,'InvertHardcopy','off') - hText = findall(findobj(gcf),'Type','text'); - set(hText,'BackgroundColor','none') -else - -end -adjfontsize -box on -movegui('onscreen') -return \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/fun_ClassFont.m b/analysis/sea-lab-utils/plotutilities/fun_ClassFont.m deleted file mode 100644 index 85e16062..00000000 --- a/analysis/sea-lab-utils/plotutilities/fun_ClassFont.m +++ /dev/null @@ -1,18 +0,0 @@ -function fun_ClassFont(fsize) -% Enter a font size for the variable 'fsize' to modify the font size for -% display OR enter 'clear' for fsize to reset to the default font size. - -s = settings; -if fsize == 'clear' - clearPersonalValue(s.matlab.fonts.codefont.Size) -elseif exist('fsize','var')==0 - fsize = 20; -else - %the fontsize for the plot was defined in the function call -end - -s.matlab.fonts.codefont.Size.PersonalValue = fsize; %set the font size - -end -% return -%% To clear the personal value for the font size.... diff --git a/analysis/sea-lab-utils/plotutilities/get_colors.m b/analysis/sea-lab-utils/plotutilities/get_colors.m deleted file mode 100644 index 696b69e8..00000000 --- a/analysis/sea-lab-utils/plotutilities/get_colors.m +++ /dev/null @@ -1,10 +0,0 @@ -%% Creates color friendly colors -% Just run this code and then use the variable names -black = '#000000'; -orange = '#E69F00'; -skyblue = '#56B4E9'; -green = '#009E73'; -yellow = '#F0E442'; -blue = '#0072B2'; -red = '#D55E00'; -purple = '#CC79A7'; \ No newline at end of file diff --git a/analysis/sea-lab-utils/plotutilities/what_colors.m b/analysis/sea-lab-utils/plotutilities/what_colors.m deleted file mode 100644 index 40c41652..00000000 --- a/analysis/sea-lab-utils/plotutilities/what_colors.m +++ /dev/null @@ -1,14 +0,0 @@ -function what_colors() -% prints the names and hex codes of all the colors in case you forget -disp('Variable Name Hex Code') -disp('=========================') -disp('black #000000') -disp('orange #E69F00') -disp('skyblue #56B4E9') -disp('green #009E73') -disp('yellow #F0E442') -disp('blue #0072B2') -disp('red #D55E00') -disp('purple #CC79A7') -end - diff --git a/analysis/sea-lab-utils/pyplotutilities/colors.py b/analysis/sea-lab-utils/pyplotutilities/colors.py deleted file mode 100644 index f6cbd1ee..00000000 --- a/analysis/sea-lab-utils/pyplotutilities/colors.py +++ /dev/null @@ -1,25 +0,0 @@ -def get_colors(): - #Creates global variables for color blind friendly colors - global black, orange, skyblue, green, yellow, blue, red, purple - black = '#000000' - orange = '#E69F00' - skyblue = '#56B4E9' - green = '#009E73' - yellow = '#F0E442' - blue = '#0072B2' - red = '#D55E00' - purple = '#CC79A7' - return - -def what_colors(): - # prints the variable names and hex codes for each color in case you forget - print('Variable Name Hex Code') - print('=========================') - print('black #000000') - print('orange #E69F00') - print('skyblue #56B4E9') - print('green #009E73') - print('yellow #F0E442') - print('blue #0072B2') - print('red #D55E00') - print('purple #CC79A7') \ No newline at end of file diff --git a/analysis/sea-lab-utils/pyplotutilities/colorstutorial.py b/analysis/sea-lab-utils/pyplotutilities/colorstutorial.py deleted file mode 100644 index 4f4f570b..00000000 --- a/analysis/sea-lab-utils/pyplotutilities/colorstutorial.py +++ /dev/null @@ -1,17 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -import colors # import the colors.py functions -import fonts # import the fonts.py functions -# Generate some data -x = np.linspace(0, 2*np.pi, 100) -y = np.sin(x) - -# Create the plot -colors.get_colors() # create the color variables -colors.what_colors() # remind yourself of the color names if needed -print(colors.purple) # access the color variables using . notation -fonts.get_fonts() -plt.plot(x, y, label='sin(x)', color=colors.purple, linestyle='-', linewidth=2) - -# Show plot -plt.show() diff --git a/analysis/sea-lab-utils/pyplotutilities/fonts.py b/analysis/sea-lab-utils/pyplotutilities/fonts.py deleted file mode 100644 index ace09937..00000000 --- a/analysis/sea-lab-utils/pyplotutilities/fonts.py +++ /dev/null @@ -1,6 +0,0 @@ -import matplotlib.pyplot as plt - -def get_fonts(): - plt.rcParams.update({'font.family': 'serif', 'text.usetex': True}) - -#Note: must have MiKTeX or TeX installed on computer \ No newline at end of file diff --git a/analysis/sea-lab-utils/unpushed.sh b/analysis/sea-lab-utils/unpushed.sh deleted file mode 100644 index 1a47813e..00000000 --- a/analysis/sea-lab-utils/unpushed.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# Bash script to show git commits that haven't been pushed. -# Checks all of the branches of all of the git repos that are under the current directory. - -# Find all .git directories -find . -type d -iname '.git' -exec sh -c ' - # Change to the parent directory of the .git folder - cd "${0}/../" || exit - - # Check if there are any commits in branches not on remotes - if git log --branches --not --remotes --no-walk --decorate --oneline | grep -q ""; then - echo "" # Print an empty line - pwd # Print the current directory - # Print the log of commits - git log --branches --not --remotes --no-walk --decorate --oneline - fi -' "{}" \; - -# code modified from https://stackoverflow.com/a/33391814 and https://stackoverflow.com/a/48180899 From 813fe6c88adc41fa22c32f47aec7cb751df54fc2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Jun 2026 16:52:50 +0000 Subject: [PATCH 19/48] Run pipeline --- ...0-57-8970e80a28454df48447763fd923c920.json | 443 ++++++++++++++++++ ...4f23724def457352579b0e7eb56cce183d34c.json | 28 ++ dvc.lock | 14 +- dvc.yaml | 8 +- 4 files changed, 482 insertions(+), 11 deletions(-) create mode 100644 .calkit/runs/2026-06-13T16-50-57-8970e80a28454df48447763fd923c920.json create mode 100644 .calkit/systems/5984f23724def457352579b0e7eb56cce183d34c.json diff --git a/.calkit/runs/2026-06-13T16-50-57-8970e80a28454df48447763fd923c920.json b/.calkit/runs/2026-06-13T16-50-57-8970e80a28454df48447763fd923c920.json new file mode 100644 index 00000000..85ed643b --- /dev/null +++ b/.calkit/runs/2026-06-13T16-50-57-8970e80a28454df48447763fd923c920.json @@ -0,0 +1,443 @@ +{ + "id": "8970e80a28454df48447763fd923c920", + "system_id": "5984f23724def457352579b0e7eb56cce183d34c", + "start_time": "2026-06-13T16:50:57.529452+00:00", + "end_time": "2026-06-13T16:52:31.680738+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "timing-figs": { + "start_time": "2026-06-13T16:50:58.367000", + "end_time": "2026-06-13T16:51:08.527000", + "status": "completed" + }, + "validate-w-capy": { + "start_time": "2026-06-13T16:51:08.527000", + "end_time": "2026-06-13T16:51:15.100000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-13T16:51:15.100000", + "end_time": "2026-06-13T16:51:21.759000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-13T16:51:21.759000", + "end_time": "2026-06-13T16:51:23.736000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-13T16:51:23.736000", + "end_time": "2026-06-13T16:51:42.022000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-13T16:51:42.022000", + "end_time": "2026-06-13T16:52:19.451000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-13T16:52:19.451000" + }, + "stages: timing-figs, validate-w-capy, slant-figs, convergence-figs and low-m0-figs": { + "end_time": "2026-06-13T16:52:30.547000", + "status": "failed" + } + }, + "git_rev": "946d430e7be539b33260e0b5740b1552175bcd77", + "git_branch": "workflow-macos", + "git_changed_files_before": [ + "dvc.yaml" + ], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/5984f23724def457352579b0e7eb56cce183d34c.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/timing_plots.ipynb", + "dvc.lock", + "dvc.yaml" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/5984f23724def457352579b0e7eb56cce183d34c.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "pubs/JFM/figs/slant_figures.pdf", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + ".calkit/notebooks/html/analysis/timing_plots.html", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "analysis/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "analysis/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/5984f23724def457352579b0e7eb56cce183d34c.json b/.calkit/systems/5984f23724def457352579b0e7eb56cce183d34c.json new file mode 100644 index 00000000..ced471d4 --- /dev/null +++ b/.calkit/systems/5984f23724def457352579b0e7eb56cce183d34c.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.15", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614952087402344, + "cpu_count": 4, + "node_id": 136469672380494, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "5984f23724def457352579b0e7eb56cce183d34c" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index e40b2a21..07a827e2 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,23 +351,23 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: dc595b3058b99b733a04c6f98f7b94b4 - size: 109740 + md5: 5054d47a8db672746768b4bacbfefda1 + size: 109738 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: b79a92aa74c2f81429a834464d2a0b79 + md5: cba93b81e87662e08a8196b0cac089fc size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: c66edf0265d75b8ff65a913ebe944412 + md5: 971ec8f35571b7345b1f692d6724b2aa size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 0655ed9001cbb438226b7cc32afc650c + md5: b5986a22a6decb1b701b6ee43ed4835b size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 2d023e895ac2791258ec95e985048a7f + md5: cdb7e678252265ae05a2090ca7c0d25a size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: 977e6025e40ecc7e37a4fa1a5f4e0535 + md5: fe941a92c84396e576053a07627a3f18 size: 11873 diff --git a/dvc.yaml b/dvc.yaml index 90d4e2f6..da1b0c1a 100644 --- a/dvc.yaml +++ b/dvc.yaml @@ -21,7 +21,7 @@ stages: - .calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb - package/src/ - dev/python/limiting-cases/low_m0.py - - sea-lab-utils + - analysis/sea-lab-utils - .calkit/env-locks/openflash-on-branch outs: - pubs/JFM/figs/MEEM-Low-Freq.pdf @@ -39,7 +39,7 @@ stages: - analysis/data/slants.pkl - analysis/data/slope-slants.pkl - analysis/data/potential-slants.pkl - - sea-lab-utils + - analysis/sea-lab-utils - .calkit/env-locks/openflash-on-branch outs: - pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf @@ -58,7 +58,7 @@ stages: deps: - .calkit/notebooks/cleaned/analysis/timing_plots.ipynb - analysis/data/timing.pkl - - sea-lab-utils + - analysis/sea-lab-utils - .calkit/env-locks/openflash-on-branch outs: - pubs/JFM/figs/MEEM-Comp-Distribution.pdf @@ -75,7 +75,7 @@ stages: --no-check --to html "analysis/convergence-results.ipynb" deps: - .calkit/notebooks/cleaned/analysis/convergence-results.ipynb - - sea-lab-utils + - analysis/sea-lab-utils - .calkit/env-locks/openflash-on-branch outs: - pubs/JFM/figs/alpha-beta-explanation.pdf From f8b61a03884c3416027ff8bb1fca5aa12da43686 Mon Sep 17 00:00:00 2001 From: Becca <32020426+rebeccamccabe@users.noreply.github.com> Date: Sat, 13 Jun 2026 13:20:21 -0400 Subject: [PATCH 20/48] Add sea-lab-util input to validate-w-capy stage --- calkit.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/calkit.yaml b/calkit.yaml index a8a64e6f..0c50cac2 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -26,6 +26,8 @@ pipeline: kind: jupyter-notebook notebook_path: analysis/validation_with_capytaine_plots.ipynb environment: openflash-on-branch + inputs: + - analysis/sea-lab-utils outputs: - pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf low-m0-figs: From 4b802b3b6fefac1f47941af1716b8690dcbebb80 Mon Sep 17 00:00:00 2001 From: Becca <32020426+rebeccamccabe@users.noreply.github.com> Date: Sat, 13 Jun 2026 13:24:15 -0400 Subject: [PATCH 21/48] Fix utils_path to sea-lab-utils --- analysis/validation_with_capytaine_plots.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/analysis/validation_with_capytaine_plots.ipynb b/analysis/validation_with_capytaine_plots.ipynb index 94827805..4c296651 100644 --- a/analysis/validation_with_capytaine_plots.ipynb +++ b/analysis/validation_with_capytaine_plots.ipynb @@ -48,7 +48,7 @@ "import sys\n", "from pathlib import Path\n", "HERE = Path.cwd().resolve()\n", - "utils_path = str((HERE / \"..\" / \"sea-lab-utils\").resolve())\n", + "utils_path = str((HERE / \"sea-lab-utils\").resolve())\n", "# Define the path to the directory containing the package\n", "if utils_path not in sys.path:\n", " sys.path.insert(0, utils_path)\n", @@ -994,4 +994,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} From bef6bc0e36c135202ded2253e2a021ea9ace2363 Mon Sep 17 00:00:00 2001 From: Becca <32020426+rebeccamccabe@users.noreply.github.com> Date: Sat, 13 Jun 2026 13:25:21 -0400 Subject: [PATCH 22/48] Fix path to sea-lab-utils in slant_data_plots --- analysis/slant_data_plots.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/analysis/slant_data_plots.ipynb b/analysis/slant_data_plots.ipynb index d886cd95..df705107 100644 --- a/analysis/slant_data_plots.ipynb +++ b/analysis/slant_data_plots.ipynb @@ -46,7 +46,7 @@ "import sys\n", "from pathlib import Path\n", "HERE = Path.cwd().resolve()\n", - "utils_str = str((HERE / \"..\" / \"sea-lab-utils\").resolve())\n", + "utils_str = str((HERE / \"sea-lab-utils\").resolve())\n", "prob_path = str((HERE / \"..\" / \"dev\" / \"python\").resolve())\n", "modified_meem_path = str((HERE / \"..\" / \"dev\" / \"python\" / \"slants\" / \"a-matrix-b-vector-changes\").resolve())\n", "\n", @@ -937,4 +937,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} From 9a529a8811c7ae8279a816e59b547e1358dfbe29 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Jun 2026 17:27:07 +0000 Subject: [PATCH 23/48] Run pipeline --- ...5-17-9d9df9e4e6684c8fb9d1c4ab4d241c49.json | 445 ++++++++++++++++++ ...5a21bfc7f7a08a9b4cb23f6d37f1af93ec796.json | 28 ++ dvc.lock | 14 +- dvc.yaml | 1 + 4 files changed, 481 insertions(+), 7 deletions(-) create mode 100644 .calkit/runs/2026-06-13T17-25-17-9d9df9e4e6684c8fb9d1c4ab4d241c49.json create mode 100644 .calkit/systems/51e5a21bfc7f7a08a9b4cb23f6d37f1af93ec796.json diff --git a/.calkit/runs/2026-06-13T17-25-17-9d9df9e4e6684c8fb9d1c4ab4d241c49.json b/.calkit/runs/2026-06-13T17-25-17-9d9df9e4e6684c8fb9d1c4ab4d241c49.json new file mode 100644 index 00000000..6e3b6964 --- /dev/null +++ b/.calkit/runs/2026-06-13T17-25-17-9d9df9e4e6684c8fb9d1c4ab4d241c49.json @@ -0,0 +1,445 @@ +{ + "id": "9d9df9e4e6684c8fb9d1c4ab4d241c49", + "system_id": "51e5a21bfc7f7a08a9b4cb23f6d37f1af93ec796", + "start_time": "2026-06-13T17:25:17.753061+00:00", + "end_time": "2026-06-13T17:26:47.990196+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "slant-figs": { + "start_time": "2026-06-13T17:25:18.614000", + "end_time": "2026-06-13T17:25:26.206000", + "status": "completed" + }, + "timing-figs": { + "start_time": "2026-06-13T17:25:26.206000", + "end_time": "2026-06-13T17:25:34.169000", + "status": "completed" + }, + "validate-w-capy": { + "start_time": "2026-06-13T17:25:34.169000", + "end_time": "2026-06-13T17:25:40.227000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-13T17:25:40.227000", + "end_time": "2026-06-13T17:25:57.423000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-13T17:25:57.423000", + "end_time": "2026-06-13T17:26:08.137000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-13T17:26:08.137000", + "end_time": "2026-06-13T17:26:45.125000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-13T17:26:45.125000" + }, + "stages: slant-figs, timing-figs, validate-w-capy, convergence-figs and low-m0-figs": { + "end_time": "2026-06-13T17:26:46.877000", + "status": "failed" + } + }, + "git_rev": "f8b61a03884c3416027ff8bb1fca5aa12da43686", + "git_branch": "workflow-macos", + "git_changed_files_before": [ + "dvc.yaml" + ], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/51e5a21bfc7f7a08a9b4cb23f6d37f1af93ec796.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/timing_plots.ipynb", + "dvc.lock", + "dvc.yaml" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/51e5a21bfc7f7a08a9b4cb23f6d37f1af93ec796.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + ".calkit/notebooks/html/analysis/convergence-results.html", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "pubs/JFM/figs/slant_figures.pdf", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "analysis/data/", + ".calkit/notebooks/html/analysis/low_m0_plots.html" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/prediction/data/", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "analysis/data/", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/51e5a21bfc7f7a08a9b4cb23f6d37f1af93ec796.json b/.calkit/systems/51e5a21bfc7f7a08a9b4cb23f6d37f1af93ec796.json new file mode 100644 index 00000000..843e50ad --- /dev/null +++ b/.calkit/systems/51e5a21bfc7f7a08a9b4cb23f6d37f1af93ec796.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.15", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.61397933959961, + "cpu_count": 4, + "node_id": 137359719743694, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "51e5a21bfc7f7a08a9b4cb23f6d37f1af93ec796" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index 07a827e2..1b28917b 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,23 +351,23 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 5054d47a8db672746768b4bacbfefda1 - size: 109738 + md5: 41b5e7359c62cd79a3e4b6b174b2f963 + size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: cba93b81e87662e08a8196b0cac089fc + md5: 4824eb29f7302aeaf5ce8d0357a7e8af size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 971ec8f35571b7345b1f692d6724b2aa + md5: 085ef056bd3880cd5a339047f5371f5c size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: b5986a22a6decb1b701b6ee43ed4835b + md5: 866c3c86205fee5b8390e117dc88f66b size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: cdb7e678252265ae05a2090ca7c0d25a + md5: ef7b923072a748852cfa7ad30d9e49f5 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: fe941a92c84396e576053a07627a3f18 + md5: 54fc7327025672fd25459adba490723e size: 11873 diff --git a/dvc.yaml b/dvc.yaml index da1b0c1a..4cbeef03 100644 --- a/dvc.yaml +++ b/dvc.yaml @@ -5,6 +5,7 @@ stages: "analysis/validation_with_capytaine_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb + - analysis/sea-lab-utils - .calkit/env-locks/openflash-on-branch outs: - pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf From c5cd6fe7c8b39de12a1ceb407e87d85f9c4ea998 Mon Sep 17 00:00:00 2001 From: Becca <32020426+rebeccamccabe@users.noreply.github.com> Date: Sat, 13 Jun 2026 13:30:36 -0400 Subject: [PATCH 24/48] Add texlive-core to environment-branch.yml --- analysis/environment-branch.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/analysis/environment-branch.yml b/analysis/environment-branch.yml index 6a0f2b97..e122bdb0 100644 --- a/analysis/environment-branch.yml +++ b/analysis/environment-branch.yml @@ -15,6 +15,7 @@ dependencies: - streamlit - ipykernel - seaborn + - texlive-core - pip: - capytaine - -e .. From 9ab14415eccd9fe582d72e063a92c03478596df8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Jun 2026 17:35:11 +0000 Subject: [PATCH 25/48] Run pipeline --- ...2-53-b2a98895b1eb49efab67959e714bbf78.json | 448 ++++++++++++++++++ ...69857ff80a45518d9d699dda85b4aaef7aa35.json | 28 ++ dvc.lock | 12 +- 3 files changed, 482 insertions(+), 6 deletions(-) create mode 100644 .calkit/runs/2026-06-13T17-32-53-b2a98895b1eb49efab67959e714bbf78.json create mode 100644 .calkit/systems/bed69857ff80a45518d9d699dda85b4aaef7aa35.json diff --git a/.calkit/runs/2026-06-13T17-32-53-b2a98895b1eb49efab67959e714bbf78.json b/.calkit/runs/2026-06-13T17-32-53-b2a98895b1eb49efab67959e714bbf78.json new file mode 100644 index 00000000..d9d25dca --- /dev/null +++ b/.calkit/runs/2026-06-13T17-32-53-b2a98895b1eb49efab67959e714bbf78.json @@ -0,0 +1,448 @@ +{ + "id": "b2a98895b1eb49efab67959e714bbf78", + "system_id": "bed69857ff80a45518d9d699dda85b4aaef7aa35", + "start_time": "2026-06-13T17:32:53.666444+00:00", + "end_time": "2026-06-13T17:34:50.116105+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "validate-w-capy": { + "start_time": "2026-06-13T17:32:54.486000", + "end_time": "2026-06-13T17:33:41.527000", + "status": "completed" + }, + "timing-figs": { + "start_time": "2026-06-13T17:33:41.527000", + "end_time": "2026-06-13T17:33:50.065000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-13T17:33:50.065000", + "end_time": "2026-06-13T17:34:08.482000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-13T17:34:08.482000", + "end_time": "2026-06-13T17:34:16.999000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-13T17:34:16.999000", + "end_time": "2026-06-13T17:34:35.297000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-13T17:34:35.297000", + "end_time": "2026-06-13T17:34:46.901000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-13T17:34:46.901000" + }, + "stages: validate-w-capy, timing-figs, low-m0-figs, slant-figs and convergence-figs": { + "end_time": "2026-06-13T17:34:48.889000", + "status": "failed" + } + }, + "git_rev": "9a529a8811c7ae8279a816e59b547e1358dfbe29", + "git_branch": "workflow-macos", + "git_changed_files_before": [], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/bed69857ff80a45518d9d699dda85b4aaef7aa35.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/slant_data_plots.ipynb", + "analysis/timing_plots.ipynb", + "analysis/validation_with_capytaine_plots.ipynb", + "dvc.lock" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/bed69857ff80a45518d9d699dda85b4aaef7aa35.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "analysis/data/", + ".calkit/notebooks/html/analysis/convergence-results.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/prediction/data/", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/asymptotic_b.png", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/RM3/data/", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "analysis/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/bed69857ff80a45518d9d699dda85b4aaef7aa35.json b/.calkit/systems/bed69857ff80a45518d9d699dda85b4aaef7aa35.json new file mode 100644 index 00000000..74a5ace9 --- /dev/null +++ b/.calkit/systems/bed69857ff80a45518d9d699dda85b4aaef7aa35.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.15", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.61898422241211, + "cpu_count": 4, + "node_id": 123869626784022, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "bed69857ff80a45518d9d699dda85b4aaef7aa35" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index 1b28917b..75bccaa2 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,7 +351,7 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 41b5e7359c62cd79a3e4b6b174b2f963 + md5: b20c739ddfbaf535b7867ff695bc3456 size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 @@ -359,15 +359,15 @@ stages: size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: 4824eb29f7302aeaf5ce8d0357a7e8af + md5: 3cf3bcccb905bcd7794b00b8a0c3582e size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 085ef056bd3880cd5a339047f5371f5c + md5: bf69471b1cfa2dc333732b72222b0226 size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 866c3c86205fee5b8390e117dc88f66b + md5: e73627b94a36537dba30cb5acd8edf40 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: ef7b923072a748852cfa7ad30d9e49f5 + md5: 962ae6000ed664071e47afee451bd979 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: 54fc7327025672fd25459adba490723e + md5: 53125d8abf8b0087fd2a60a72dd25116 size: 11873 From 1a2405a35d7172e2309960f8776e049edb039af6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Jun 2026 17:42:46 +0000 Subject: [PATCH 26/48] Run pipeline --- ...0-28-25f47799b7f64626a218fb3604289e9d.json | 448 ++++++++++++++++++ ...33d8c03c26b2b4cea49377e5d12b56f7a5166.json | 28 ++ dvc.lock | 12 +- 3 files changed, 482 insertions(+), 6 deletions(-) create mode 100644 .calkit/runs/2026-06-13T17-40-28-25f47799b7f64626a218fb3604289e9d.json create mode 100644 .calkit/systems/6dd33d8c03c26b2b4cea49377e5d12b56f7a5166.json diff --git a/.calkit/runs/2026-06-13T17-40-28-25f47799b7f64626a218fb3604289e9d.json b/.calkit/runs/2026-06-13T17-40-28-25f47799b7f64626a218fb3604289e9d.json new file mode 100644 index 00000000..73ec08bc --- /dev/null +++ b/.calkit/runs/2026-06-13T17-40-28-25f47799b7f64626a218fb3604289e9d.json @@ -0,0 +1,448 @@ +{ + "id": "25f47799b7f64626a218fb3604289e9d", + "system_id": "6dd33d8c03c26b2b4cea49377e5d12b56f7a5166", + "start_time": "2026-06-13T17:40:28.962656+00:00", + "end_time": "2026-06-13T17:42:27.069766+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "timing-figs": { + "start_time": "2026-06-13T17:40:29.797000", + "end_time": "2026-06-13T17:40:39.701000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-13T17:40:39.701000", + "end_time": "2026-06-13T17:40:51.408000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-13T17:40:51.408000", + "end_time": "2026-06-13T17:40:53.512000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-13T17:40:53.512000", + "end_time": "2026-06-13T17:41:11.404000", + "status": "completed" + }, + "validate-w-capy": { + "start_time": "2026-06-13T17:41:11.404000", + "end_time": "2026-06-13T17:41:57.466000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-13T17:41:57.466000", + "end_time": "2026-06-13T17:42:16.782000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-13T17:42:16.782000" + }, + "stages: timing-figs, convergence-figs, validate-w-capy, low-m0-figs and slant-figs": { + "end_time": "2026-06-13T17:42:25.810000", + "status": "failed" + } + }, + "git_rev": "9ab14415eccd9fe582d72e063a92c03478596df8", + "git_branch": "workflow-macos", + "git_changed_files_before": [], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/6dd33d8c03c26b2b4cea49377e5d12b56f7a5166.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/slant_data_plots.ipynb", + "analysis/timing_plots.ipynb", + "analysis/validation_with_capytaine_plots.ipynb", + "dvc.lock" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/6dd33d8c03c26b2b4cea49377e5d12b56f7a5166.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/RM3/data/", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "pubs/JFM/figs/Along-Outline.pdf", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "pubs/JFM/figs/Vary-Slopes.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "pubs/JFM/figs/slant_figures.pdf", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + ".calkit/notebooks/html/analysis/convergence-results.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "analysis/data/", + "dev/python/convergence-study/region-count-convergence/data/", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/RM3/data/", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "analysis/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/6dd33d8c03c26b2b4cea49377e5d12b56f7a5166.json b/.calkit/systems/6dd33d8c03c26b2b4cea49377e5d12b56f7a5166.json new file mode 100644 index 00000000..0c73a1bf --- /dev/null +++ b/.calkit/systems/6dd33d8c03c26b2b4cea49377e5d12b56f7a5166.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.15", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614948272705078, + "cpu_count": 4, + "node_id": 137359722734057, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "6dd33d8c03c26b2b4cea49377e5d12b56f7a5166" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index 75bccaa2..bdc56dc1 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,7 +351,7 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: b20c739ddfbaf535b7867ff695bc3456 + md5: 1b42898780e6d8f345459a9b54b44d8c size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 @@ -359,15 +359,15 @@ stages: size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: 3cf3bcccb905bcd7794b00b8a0c3582e + md5: e0269d5aaaee25517d8eb9ad98efe59b size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: bf69471b1cfa2dc333732b72222b0226 + md5: c28c156a2771cc4a6e7725e8729c2df2 size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: e73627b94a36537dba30cb5acd8edf40 + md5: 7208545e9801b818820c1b01aca2f188 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 962ae6000ed664071e47afee451bd979 + md5: bd7da432dc95bbfa0b53bbd79f328340 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: 53125d8abf8b0087fd2a60a72dd25116 + md5: b755f7e619e8f3d86f8b1db8122cf03a size: 11873 From 9744536ba5cfcd1dcf2f77cb0d1cadbf3ad87905 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 14:24:40 -0400 Subject: [PATCH 27/48] add texlive-bin and dvipng to environment-branch.yml --- analysis/environment-branch.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/analysis/environment-branch.yml b/analysis/environment-branch.yml index e122bdb0..8a4ca28b 100644 --- a/analysis/environment-branch.yml +++ b/analysis/environment-branch.yml @@ -16,6 +16,8 @@ dependencies: - ipykernel - seaborn - texlive-core + - texlive-bin + - dvipng - pip: - capytaine - -e .. From bcb54d62f1df83e8ebbf17a1c56257fdd1798318 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 14 Jun 2026 18:32:20 +0000 Subject: [PATCH 28/48] Run pipeline --- ...0-05-e1b28a74572944adba07f78dd9a76cbf.json | 448 ++++++++++++++++++ ...c5846c9c1450782e3ff4af8fc3bbdac2fbab4.json | 28 ++ dvc.lock | 12 +- 3 files changed, 482 insertions(+), 6 deletions(-) create mode 100644 .calkit/runs/2026-06-14T18-30-05-e1b28a74572944adba07f78dd9a76cbf.json create mode 100644 .calkit/systems/c67c5846c9c1450782e3ff4af8fc3bbdac2fbab4.json diff --git a/.calkit/runs/2026-06-14T18-30-05-e1b28a74572944adba07f78dd9a76cbf.json b/.calkit/runs/2026-06-14T18-30-05-e1b28a74572944adba07f78dd9a76cbf.json new file mode 100644 index 00000000..792d1be3 --- /dev/null +++ b/.calkit/runs/2026-06-14T18-30-05-e1b28a74572944adba07f78dd9a76cbf.json @@ -0,0 +1,448 @@ +{ + "id": "e1b28a74572944adba07f78dd9a76cbf", + "system_id": "c67c5846c9c1450782e3ff4af8fc3bbdac2fbab4", + "start_time": "2026-06-14T18:30:05.756325+00:00", + "end_time": "2026-06-14T18:32:01.899354+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "validate-w-capy": { + "start_time": "2026-06-14T18:30:06.669000", + "end_time": "2026-06-14T18:30:54.703000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-14T18:30:54.703000", + "end_time": "2026-06-14T18:31:12.809000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-14T18:31:12.809000", + "end_time": "2026-06-14T18:31:21.265000", + "status": "completed" + }, + "timing-figs": { + "start_time": "2026-06-14T18:31:21.265000", + "end_time": "2026-06-14T18:31:29.595000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-14T18:31:29.595000", + "end_time": "2026-06-14T18:31:46.808000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-14T18:31:46.808000", + "end_time": "2026-06-14T18:31:58.199000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-14T18:31:58.199000" + }, + "stages: validate-w-capy, low-m0-figs, slant-figs, timing-figs and convergence-figs": { + "end_time": "2026-06-14T18:32:00.660000", + "status": "failed" + } + }, + "git_rev": "9744536ba5cfcd1dcf2f77cb0d1cadbf3ad87905", + "git_branch": "workflow-macos", + "git_changed_files_before": [], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/c67c5846c9c1450782e3ff4af8fc3bbdac2fbab4.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/slant_data_plots.ipynb", + "analysis/timing_plots.ipynb", + "analysis/validation_with_capytaine_plots.ipynb", + "dvc.lock" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/c67c5846c9c1450782e3ff4af8fc3bbdac2fbab4.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "pubs/JFM/figs/Along-Outline.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "pubs/JFM/figs/Vary-Slopes.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/region-count-convergence/data/", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "analysis/data/", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + ".calkit/notebooks/html/analysis/low_m0_plots.html" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "analysis/data/", + "dev/python/convergence-study/RM3/data/", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/c67c5846c9c1450782e3ff4af8fc3bbdac2fbab4.json b/.calkit/systems/c67c5846c9c1450782e3ff4af8fc3bbdac2fbab4.json new file mode 100644 index 00000000..b40cd5ae --- /dev/null +++ b/.calkit/systems/c67c5846c9c1450782e3ff4af8fc3bbdac2fbab4.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.16", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.61898422241211, + "cpu_count": 4, + "node_id": 137359720387732, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "c67c5846c9c1450782e3ff4af8fc3bbdac2fbab4" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index bdc56dc1..644ec366 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,7 +351,7 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 1b42898780e6d8f345459a9b54b44d8c + md5: b2d9a6cb349965207498094df25e3b46 size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 @@ -359,15 +359,15 @@ stages: size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: e0269d5aaaee25517d8eb9ad98efe59b + md5: 466954d6c2fe8fc5cd39562b45139a33 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: c28c156a2771cc4a6e7725e8729c2df2 + md5: 295c485d0c1b1fafcccc0b0a455d34b1 size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 7208545e9801b818820c1b01aca2f188 + md5: 39643388e8577e81e00c988219444ee8 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: bd7da432dc95bbfa0b53bbd79f328340 + md5: e0d2c67a45185392d5df7de173948ac2 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: b755f7e619e8f3d86f8b1db8122cf03a + md5: fd5640631a1819f879cbbc353ccf02a4 size: 11873 From cda416aa245a96b11821674da240b961d5c5af94 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 20:50:46 -0400 Subject: [PATCH 29/48] add test latex stage for CI debuggin --- analysis/test-latex.ipynb | 76 +++++++++++++++++++++++++++++++++++++++ calkit.yaml | 6 ++++ 2 files changed, 82 insertions(+) create mode 100644 analysis/test-latex.ipynb diff --git a/analysis/test-latex.ipynb b/analysis/test-latex.ipynb new file mode 100644 index 00000000..17aaf93b --- /dev/null +++ b/analysis/test-latex.ipynb @@ -0,0 +1,76 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "ddf92cde", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import shutil\n", + "import subprocess\n", + "\n", + "print(shutil.which(\"latex\"))\n", + "print(os.environ[\"PATH\"])\n", + "\n", + "subprocess.run([\"latex\", \"--version\"], check=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd4e8d5a", + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "from pathlib import Path\n", + "HERE = Path.cwd().resolve()\n", + "utils_path = str((HERE / \"sea-lab-utils\").resolve())\n", + "# Define the path to the directory containing the package\n", + "if utils_path not in sys.path:\n", + " sys.path.insert(0, utils_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c14e4a4", + "metadata": {}, + "outputs": [], + "source": [ + "# Now you can import from the folder structure\n", + "# Assuming 'pyplotutilities' is a folder inside 'sea-lab-utils'\n", + "from pyplotutilities import colors\n", + "from pyplotutilities import fonts\n", + "colors.get_colors()\n", + "print(colors.purple)\n", + "fonts.get_fonts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1000b71d", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "fig, ax = plt.subplots()\n", + "ax.plot([1, 2, 3], [1, 4, 9], color=colors.purple, label='Quadratic')\n", + "ax.set_title('Sample Plot')\n", + "ax.set_xlabel('$\\mathbf{X}$-axis')\n", + "ax.set_ylabel('$\\phi$')\n", + "fig.savefig('sample_plot.pdf', format='pdf', dpi=300, bbox_inches='tight')" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/calkit.yaml b/calkit.yaml index 0c50cac2..ec046078 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -83,6 +83,12 @@ pipeline: - pubs/JFM/figs/A_sparsity_plot.pdf - pubs/JFM/figs/B_sparsity_plot.pdf - pubs/JFM/figs/C_sparsity_plot.pdf + test-latex: + kind: jupyter-notebook + notebook_path: analysis/test_latex.ipynb + environment: openflash-on-branch + inputs: + - analysis/sea-lab-utils graphical-abstract: kind: latex target_path: pubs/JFM/figs/graph_abstract.tex From 124ab6c24bda36114fd35bc49f263f3ecdd43aad Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 00:56:42 +0000 Subject: [PATCH 30/48] Run pipeline --- ...a9aaa4840d09b08058ac571cbe818a2630e69.json | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .calkit/systems/d58a9aaa4840d09b08058ac571cbe818a2630e69.json diff --git a/.calkit/systems/d58a9aaa4840d09b08058ac571cbe818a2630e69.json b/.calkit/systems/d58a9aaa4840d09b08058ac571cbe818a2630e69.json new file mode 100644 index 00000000..e411688c --- /dev/null +++ b/.calkit/systems/d58a9aaa4840d09b08058ac571cbe818a2630e69.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.16", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614948272705078, + "cpu_count": 4, + "node_id": 136469683209593, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "d58a9aaa4840d09b08058ac571cbe818a2630e69" +} \ No newline at end of file From 20dbc9adc5c0d336afd35562b1efad11808b7b10 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 20:57:55 -0400 Subject: [PATCH 31/48] fix _ to - in test filename --- calkit.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calkit.yaml b/calkit.yaml index ec046078..64c36fec 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -85,7 +85,7 @@ pipeline: - pubs/JFM/figs/C_sparsity_plot.pdf test-latex: kind: jupyter-notebook - notebook_path: analysis/test_latex.ipynb + notebook_path: analysis/test-latex.ipynb environment: openflash-on-branch inputs: - analysis/sea-lab-utils From ae41de2b6698a4013776ff2fc55eb3614293979f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 01:05:21 +0000 Subject: [PATCH 32/48] Run pipeline --- ...3-01-1a12874a92e44d279d69247fb46155e7.json | 490 ++++++++++++++++++ ...69c46e7fa33cb862dec6a7eca454990771326.json | 28 + dvc.lock | 14 +- dvc.yaml | 14 + 4 files changed, 539 insertions(+), 7 deletions(-) create mode 100644 .calkit/runs/2026-06-15T01-03-01-1a12874a92e44d279d69247fb46155e7.json create mode 100644 .calkit/systems/2cb69c46e7fa33cb862dec6a7eca454990771326.json diff --git a/.calkit/runs/2026-06-15T01-03-01-1a12874a92e44d279d69247fb46155e7.json b/.calkit/runs/2026-06-15T01-03-01-1a12874a92e44d279d69247fb46155e7.json new file mode 100644 index 00000000..f310a82b --- /dev/null +++ b/.calkit/runs/2026-06-15T01-03-01-1a12874a92e44d279d69247fb46155e7.json @@ -0,0 +1,490 @@ +{ + "id": "1a12874a92e44d279d69247fb46155e7", + "system_id": "2cb69c46e7fa33cb862dec6a7eca454990771326", + "start_time": "2026-06-15T01:03:01.382972+00:00", + "end_time": "2026-06-15T01:05:02.074594+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "validate-w-capy": { + "start_time": "2026-06-15T01:03:02.244000", + "end_time": "2026-06-15T01:03:49.957000", + "status": "completed" + }, + "test-latex": { + "start_time": "2026-06-15T01:03:49.957000", + "end_time": "2026-06-15T01:03:55.577000", + "status": "completed" + }, + "timing-figs": { + "start_time": "2026-06-15T01:03:55.577000", + "end_time": "2026-06-15T01:04:03.979000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-15T01:04:03.979000", + "end_time": "2026-06-15T01:04:12.458000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-15T01:04:12.458000", + "end_time": "2026-06-15T01:04:23.464000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-15T01:04:23.464000", + "end_time": "2026-06-15T01:04:40.868000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-15T01:04:40.868000", + "end_time": "2026-06-15T01:04:58.982000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-15T01:04:58.982000" + }, + "stages: validate-w-capy, test-latex, timing-figs, slant-figs, low-m0-figs and convergence-figs": { + "end_time": "2026-06-15T01:05:00.902000", + "status": "failed" + } + }, + "git_rev": "3b62dddda8f98eccc273ea72c59c4a24987c14be", + "git_branch": "workflow-macos", + "git_changed_files_before": [ + "dvc.yaml" + ], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/2cb69c46e7fa33cb862dec6a7eca454990771326.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/slant_data_plots.ipynb", + "analysis/test-latex.ipynb", + "analysis/timing_plots.ipynb", + "analysis/validation_with_capytaine_plots.ipynb", + "dvc.lock", + "dvc.yaml" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/2cb69c46e7fa33cb862dec6a7eca454990771326.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "test-latex": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/test-latex.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "deleted", + ".calkit/notebooks/html/analysis/test-latex.html": "deleted" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + ".calkit/notebooks/html/analysis/timing_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "pubs/JFM/figs/Along-Outline.pdf", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/convergence-results.html", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "analysis/data/", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "test-latex": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/test-latex.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "modified", + ".calkit/notebooks/html/analysis/test-latex.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/C_sparsity_plot.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb" + ], + "added": [ + ".calkit/notebooks/executed/analysis/test-latex.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "analysis/data/", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/2cb69c46e7fa33cb862dec6a7eca454990771326.json b/.calkit/systems/2cb69c46e7fa33cb862dec6a7eca454990771326.json new file mode 100644 index 00000000..805c3f9a --- /dev/null +++ b/.calkit/systems/2cb69c46e7fa33cb862dec6a7eca454990771326.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.16", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614952087402344, + "cpu_count": 4, + "node_id": 147239957198, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "2cb69c46e7fa33cb862dec6a7eca454990771326" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index 644ec366..fd274ec0 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,23 +351,23 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: b2d9a6cb349965207498094df25e3b46 - size: 109740 + md5: 2c2596b7b56d28bee789a4cf8a43189e + size: 109739 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: 466954d6c2fe8fc5cd39562b45139a33 + md5: e3f9920e987eadfb23072f0b3049e271 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 295c485d0c1b1fafcccc0b0a455d34b1 + md5: 38d4ca85a152285d3f497d05de36b1a5 size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 39643388e8577e81e00c988219444ee8 + md5: 12e3d62b6816554cb7fee5091c962263 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: e0d2c67a45185392d5df7de173948ac2 + md5: 32c0d433f19b5e07ef266da145282b05 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: fd5640631a1819f879cbbc353ccf02a4 + md5: cc39befc0e64ee47b3e5f2cce90d04a3 size: 11873 diff --git a/dvc.yaml b/dvc.yaml index 4cbeef03..90018d79 100644 --- a/dvc.yaml +++ b/dvc.yaml @@ -104,6 +104,20 @@ stages: cache: true desc: Automatically generated from the 'sparsity-figs' stage in calkit.yaml. Changes made here will be overwritten. + test-latex: + cmd: calkit nb execute --environment openflash-on-branch + --no-check --to html "analysis/test-latex.ipynb" + deps: + - .calkit/notebooks/cleaned/analysis/test-latex.ipynb + - analysis/sea-lab-utils + - .calkit/env-locks/openflash-on-branch + outs: + - .calkit/notebooks/executed/analysis/test-latex.ipynb: + cache: true + - .calkit/notebooks/html/analysis/test-latex.html: + cache: true + desc: Automatically generated from the 'test-latex' stage in + calkit.yaml. Changes made here will be overwritten. graphical-abstract: cmd: calkit latex build -e tex --no-check pubs/JFM/figs/graph_abstract.tex From c4964e3be42a25348ddc2135d8c9ae6eeb39f4a0 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 21:11:31 -0400 Subject: [PATCH 33/48] comment out test-latex that would fail without latex --- analysis/test-latex.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/analysis/test-latex.ipynb b/analysis/test-latex.ipynb index 17aaf93b..335a4e7b 100644 --- a/analysis/test-latex.ipynb +++ b/analysis/test-latex.ipynb @@ -14,7 +14,7 @@ "print(shutil.which(\"latex\"))\n", "print(os.environ[\"PATH\"])\n", "\n", - "subprocess.run([\"latex\", \"--version\"], check=True)" + "# subprocess.run([\"latex\", \"--version\"], check=True)" ] }, { @@ -62,7 +62,7 @@ "ax.set_title('Sample Plot')\n", "ax.set_xlabel('$\\mathbf{X}$-axis')\n", "ax.set_ylabel('$\\phi$')\n", - "fig.savefig('sample_plot.pdf', format='pdf', dpi=300, bbox_inches='tight')" + "#fig.savefig('sample_plot.pdf', format='pdf', dpi=300, bbox_inches='tight')" ] } ], From 7f82364224f71e5b17be1521fac9bc3b7d086919 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 01:19:15 +0000 Subject: [PATCH 34/48] Run pipeline --- ...6-52-85e84c4dd1ad4d2984b84cac88aac0d2.json | 487 ++++++++++++++++++ ...9f8cd9b7cfe7d506d1a685dfb100d625b002f.json | 28 + dvc.lock | 12 +- 3 files changed, 521 insertions(+), 6 deletions(-) create mode 100644 .calkit/runs/2026-06-15T01-16-52-85e84c4dd1ad4d2984b84cac88aac0d2.json create mode 100644 .calkit/systems/23c9f8cd9b7cfe7d506d1a685dfb100d625b002f.json diff --git a/.calkit/runs/2026-06-15T01-16-52-85e84c4dd1ad4d2984b84cac88aac0d2.json b/.calkit/runs/2026-06-15T01-16-52-85e84c4dd1ad4d2984b84cac88aac0d2.json new file mode 100644 index 00000000..8a3e872d --- /dev/null +++ b/.calkit/runs/2026-06-15T01-16-52-85e84c4dd1ad4d2984b84cac88aac0d2.json @@ -0,0 +1,487 @@ +{ + "id": "85e84c4dd1ad4d2984b84cac88aac0d2", + "system_id": "23c9f8cd9b7cfe7d506d1a685dfb100d625b002f", + "start_time": "2026-06-15T01:16:52.168942+00:00", + "end_time": "2026-06-15T01:18:56.529123+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "sparsity-figs": { + "start_time": "2026-06-15T01:16:52.997000", + "end_time": "2026-06-15T01:17:06.466000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-15T01:17:06.466000", + "end_time": "2026-06-15T01:17:09.390000", + "status": "completed" + }, + "validate-w-capy": { + "start_time": "2026-06-15T01:17:09.390000", + "end_time": "2026-06-15T01:17:55.638000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-15T01:17:55.638000", + "end_time": "2026-06-15T01:18:13.158000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-15T01:18:13.158000", + "end_time": "2026-06-15T01:18:21.664000", + "status": "completed" + }, + "timing-figs": { + "start_time": "2026-06-15T01:18:21.664000", + "end_time": "2026-06-15T01:18:30.038000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-15T01:18:30.038000", + "end_time": "2026-06-15T01:18:48.036000", + "status": "completed" + }, + "test-latex": { + "start_time": "2026-06-15T01:18:48.036000" + }, + "stages: validate-w-capy, low-m0-figs, slant-figs, timing-figs, convergence-figs and test-latex": { + "end_time": "2026-06-15T01:18:55.373000", + "status": "failed" + } + }, + "git_rev": "1b46e205ee58e10a27f3bb62254d961cd1808d91", + "git_branch": "workflow-macos", + "git_changed_files_before": [], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/23c9f8cd9b7cfe7d506d1a685dfb100d625b002f.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/slant_data_plots.ipynb", + "analysis/test-latex.ipynb", + "analysis/timing_plots.ipynb", + "analysis/validation_with_capytaine_plots.ipynb", + "dvc.lock" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/23c9f8cd9b7cfe7d506d1a685dfb100d625b002f.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "test-latex": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/test-latex.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "deleted", + ".calkit/notebooks/html/analysis/test-latex.html": "deleted" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "analysis/data/", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "dev/python/convergence-study/prediction/data/", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "pubs/JFM/figs/Vary-Slopes.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/Along-Outline.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + ".calkit/notebooks/html/analysis/timing_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "test-latex": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/test-latex.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "modified", + ".calkit/notebooks/html/analysis/test-latex.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb" + ], + "added": [ + ".calkit/notebooks/executed/analysis/test-latex.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "analysis/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/timing/data/cpt-timing.pkl", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "pubs/JFM/figs/asymptotic_b.png" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/23c9f8cd9b7cfe7d506d1a685dfb100d625b002f.json b/.calkit/systems/23c9f8cd9b7cfe7d506d1a685dfb100d625b002f.json new file mode 100644 index 00000000..96668414 --- /dev/null +++ b/.calkit/systems/23c9f8cd9b7cfe7d506d1a685dfb100d625b002f.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.16", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614940643310547, + "cpu_count": 4, + "node_id": 137359729136671, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "23c9f8cd9b7cfe7d506d1a685dfb100d625b002f" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index fd274ec0..1ce34514 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,7 +351,7 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 2c2596b7b56d28bee789a4cf8a43189e + md5: 9e1c9b1f49d2efcecbeb9290d6ea5e96 size: 109739 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 @@ -359,15 +359,15 @@ stages: size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: e3f9920e987eadfb23072f0b3049e271 + md5: f703e6e2ce5dc5e2001aa923e5b78790 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 38d4ca85a152285d3f497d05de36b1a5 + md5: 8c454a059e5af0b980bb20e3e0b88c3c size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 12e3d62b6816554cb7fee5091c962263 + md5: fd4a5d27befafab42c48ac70483d406d size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 32c0d433f19b5e07ef266da145282b05 + md5: 23ff305e74381e04dd27d59d9dad3bb0 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: cc39befc0e64ee47b3e5f2cce90d04a3 + md5: b06fa3732baec11a1b1cf4d24f391ab1 size: 11873 From ff9016b63901976638fb2b7d3508170eac3b9e5b Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 21:33:37 -0400 Subject: [PATCH 35/48] comment out x y labels on text latex plot --- analysis/test-latex.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/analysis/test-latex.ipynb b/analysis/test-latex.ipynb index 335a4e7b..950f639e 100644 --- a/analysis/test-latex.ipynb +++ b/analysis/test-latex.ipynb @@ -60,8 +60,8 @@ "fig, ax = plt.subplots()\n", "ax.plot([1, 2, 3], [1, 4, 9], color=colors.purple, label='Quadratic')\n", "ax.set_title('Sample Plot')\n", - "ax.set_xlabel('$\\mathbf{X}$-axis')\n", - "ax.set_ylabel('$\\phi$')\n", + "# ax.set_xlabel('$\\mathbf{X}$-axis')\n", + "# ax.set_ylabel('$\\phi$')\n", "#fig.savefig('sample_plot.pdf', format='pdf', dpi=300, bbox_inches='tight')" ] } From 6af567b1459883e604852999cb63a36004444e12 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 01:41:37 +0000 Subject: [PATCH 36/48] Run pipeline --- ...9-11-8dfa13da983740e88e9c658583dce04c.json | 487 ++++++++++++++++++ ...3b7fe7c7ef9e0077ac1c743b5d31166448ade.json | 28 + dvc.lock | 14 +- 3 files changed, 522 insertions(+), 7 deletions(-) create mode 100644 .calkit/runs/2026-06-15T01-39-11-8dfa13da983740e88e9c658583dce04c.json create mode 100644 .calkit/systems/0653b7fe7c7ef9e0077ac1c743b5d31166448ade.json diff --git a/.calkit/runs/2026-06-15T01-39-11-8dfa13da983740e88e9c658583dce04c.json b/.calkit/runs/2026-06-15T01-39-11-8dfa13da983740e88e9c658583dce04c.json new file mode 100644 index 00000000..e6417883 --- /dev/null +++ b/.calkit/runs/2026-06-15T01-39-11-8dfa13da983740e88e9c658583dce04c.json @@ -0,0 +1,487 @@ +{ + "id": "8dfa13da983740e88e9c658583dce04c", + "system_id": "0653b7fe7c7ef9e0077ac1c743b5d31166448ade", + "start_time": "2026-06-15T01:39:11.935248+00:00", + "end_time": "2026-06-15T01:41:18.516864+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "validate-w-capy": { + "start_time": "2026-06-15T01:39:12.811000", + "end_time": "2026-06-15T01:40:01.269000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-15T01:40:01.269000", + "end_time": "2026-06-15T01:40:19.392000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-15T01:40:19.392000", + "end_time": "2026-06-15T01:40:28.321000", + "status": "completed" + }, + "timing-figs": { + "start_time": "2026-06-15T01:40:28.321000", + "end_time": "2026-06-15T01:40:37.213000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-15T01:40:37.213000", + "end_time": "2026-06-15T01:40:55.605000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-15T01:40:55.605000", + "end_time": "2026-06-15T01:41:07.624000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-15T01:41:07.624000", + "end_time": "2026-06-15T01:41:09.552000", + "status": "completed" + }, + "test-latex": { + "start_time": "2026-06-15T01:41:09.552000" + }, + "stages: validate-w-capy, low-m0-figs, slant-figs, timing-figs, convergence-figs and test-latex": { + "end_time": "2026-06-15T01:41:17.248000", + "status": "failed" + } + }, + "git_rev": "c705cb696b8401264f8aeaf346d918f449959821", + "git_branch": "workflow-macos", + "git_changed_files_before": [], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/0653b7fe7c7ef9e0077ac1c743b5d31166448ade.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/slant_data_plots.ipynb", + "analysis/test-latex.ipynb", + "analysis/timing_plots.ipynb", + "analysis/validation_with_capytaine_plots.ipynb", + "dvc.lock" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/0653b7fe7c7ef9e0077ac1c743b5d31166448ade.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "test-latex": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/test-latex.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "deleted", + ".calkit/notebooks/html/analysis/test-latex.html": "deleted" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + ".calkit/notebooks/html/analysis/convergence-results.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "analysis/data/", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "pubs/JFM/figs/Along-Outline.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + ".calkit/notebooks/html/analysis/timing_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "pubs/JFM/figs/Matching_Diagram.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "test-latex": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/test-latex.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "modified", + ".calkit/notebooks/html/analysis/test-latex.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/C_sparsity_plot.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb" + ], + "added": [ + ".calkit/notebooks/executed/analysis/test-latex.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "analysis/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/convergence-study/RM3/data/", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/0653b7fe7c7ef9e0077ac1c743b5d31166448ade.json b/.calkit/systems/0653b7fe7c7ef9e0077ac1c743b5d31166448ade.json new file mode 100644 index 00000000..b913bfb0 --- /dev/null +++ b/.calkit/systems/0653b7fe7c7ef9e0077ac1c743b5d31166448ade.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.16", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614940643310547, + "cpu_count": 4, + "node_id": 147239614777, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "0653b7fe7c7ef9e0077ac1c743b5d31166448ade" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index 1ce34514..d18cc334 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,23 +351,23 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 9e1c9b1f49d2efcecbeb9290d6ea5e96 - size: 109739 + md5: 68736f48137a1bcbd7c3fe3a3d05a42c + size: 109738 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: f703e6e2ce5dc5e2001aa923e5b78790 + md5: 71a298d23dc2bec9b23bd5f87e9f9872 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 8c454a059e5af0b980bb20e3e0b88c3c + md5: 8f9ae75c13bde53774f7fc910aa16c58 size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: fd4a5d27befafab42c48ac70483d406d + md5: cec34a8404c62327c80e8f33189920ea size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,9 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 23ff305e74381e04dd27d59d9dad3bb0 + md5: 57f2cf4d6278487f5025d243ca6911d8 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: b06fa3732baec11a1b1cf4d24f391ab1 + md5: a050392617db93778644bd8f6c6a10e5 size: 11873 From 6502275b903d3d32ab7917aeb6a67078048d253e Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 21:43:20 -0400 Subject: [PATCH 37/48] comment out all matplotlib in test --- analysis/test-latex.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/analysis/test-latex.ipynb b/analysis/test-latex.ipynb index 950f639e..def49141 100644 --- a/analysis/test-latex.ipynb +++ b/analysis/test-latex.ipynb @@ -56,10 +56,10 @@ "metadata": {}, "outputs": [], "source": [ - "import matplotlib.pyplot as plt\n", - "fig, ax = plt.subplots()\n", - "ax.plot([1, 2, 3], [1, 4, 9], color=colors.purple, label='Quadratic')\n", - "ax.set_title('Sample Plot')\n", + "# import matplotlib.pyplot as plt\n", + "# fig, ax = plt.subplots()\n", + "# ax.plot([1, 2, 3], [1, 4, 9], color=colors.purple, label='Quadratic')\n", + "# ax.set_title('Sample Plot')\n", "# ax.set_xlabel('$\\mathbf{X}$-axis')\n", "# ax.set_ylabel('$\\phi$')\n", "#fig.savefig('sample_plot.pdf', format='pdf', dpi=300, bbox_inches='tight')" From ea74ae776500860029a6faef0d49e3e5ef180f54 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 01:52:06 +0000 Subject: [PATCH 38/48] Run pipeline --- ...9-41-4d15476dbb814e90afdc5a3ea8ddd1ec.json | 473 ++++++++++++++++++ ...e733edafed5e5e8600bf3d52ec2bcdb99b87f.json | 28 ++ dvc.lock | 41 +- 3 files changed, 535 insertions(+), 7 deletions(-) create mode 100644 .calkit/runs/2026-06-15T01-49-41-4d15476dbb814e90afdc5a3ea8ddd1ec.json create mode 100644 .calkit/systems/6ede733edafed5e5e8600bf3d52ec2bcdb99b87f.json diff --git a/.calkit/runs/2026-06-15T01-49-41-4d15476dbb814e90afdc5a3ea8ddd1ec.json b/.calkit/runs/2026-06-15T01-49-41-4d15476dbb814e90afdc5a3ea8ddd1ec.json new file mode 100644 index 00000000..caf1899d --- /dev/null +++ b/.calkit/runs/2026-06-15T01-49-41-4d15476dbb814e90afdc5a3ea8ddd1ec.json @@ -0,0 +1,473 @@ +{ + "id": "4d15476dbb814e90afdc5a3ea8ddd1ec", + "system_id": "6ede733edafed5e5e8600bf3d52ec2bcdb99b87f", + "start_time": "2026-06-15T01:49:41.562207+00:00", + "end_time": "2026-06-15T01:51:47.288352+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "validate-w-capy": { + "start_time": "2026-06-15T01:49:42.417000", + "end_time": "2026-06-15T01:50:30.569000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-15T01:50:30.569000", + "end_time": "2026-06-15T01:50:48.869000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-15T01:50:48.869000", + "end_time": "2026-06-15T01:50:57.243000", + "status": "completed" + }, + "timing-figs": { + "start_time": "2026-06-15T01:50:57.243000", + "end_time": "2026-06-15T01:51:05.568000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-15T01:51:05.568000", + "end_time": "2026-06-15T01:51:23.697000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-15T01:51:23.697000", + "end_time": "2026-06-15T01:51:35.315000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-15T01:51:35.315000", + "end_time": "2026-06-15T01:51:37.345000", + "status": "completed" + }, + "test-latex": { + "start_time": "2026-06-15T01:51:37.345000" + }, + "stages: validate-w-capy, low-m0-figs, slant-figs, timing-figs and convergence-figs": { + "end_time": "2026-06-15T01:51:46.018000", + "status": "failed" + } + }, + "git_rev": "727a1ae4154bdd4e8a03fbe74a21ee5559325fc4", + "git_branch": "workflow-macos", + "git_changed_files_before": [], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/6ede733edafed5e5e8600bf3d52ec2bcdb99b87f.json" + ], + "git_changed_files_after": [ + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/slant_data_plots.ipynb", + "analysis/test-latex.ipynb", + "analysis/timing_plots.ipynb", + "analysis/validation_with_capytaine_plots.ipynb", + "dvc.lock" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/6ede733edafed5e5e8600bf3d52ec2bcdb99b87f.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + } + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "test-latex": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/test-latex.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "deleted", + ".calkit/notebooks/html/analysis/test-latex.html": "deleted" + } + } + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "pubs/JFM/figs/Along-Outline.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + ".calkit/notebooks/html/analysis/convergence-results.html", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "analysis/data/", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "dev/python/convergence-study/e-region-convergence/data/", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "pubs/JFM/figs/Matching_Diagram.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + } + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + } + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + } + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "modified", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + } + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch": "modified" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "modified", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ], + "added": [ + ".calkit/notebooks/executed/analysis/test-latex.ipynb", + ".calkit/notebooks/html/analysis/test-latex.html" + ] + }, + "uncommitted": { + "modified": [ + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb" + ], + "deleted": [ + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "analysis/data/", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/timing/data/cpt-timing.pkl" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/6ede733edafed5e5e8600bf3d52ec2bcdb99b87f.json b/.calkit/systems/6ede733edafed5e5e8600bf3d52ec2bcdb99b87f.json new file mode 100644 index 00000000..97805c15 --- /dev/null +++ b/.calkit/systems/6ede733edafed5e5e8600bf3d52ec2bcdb99b87f.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.16", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614940643310547, + "cpu_count": 4, + "node_id": 137359727293761, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "6ede733edafed5e5e8600bf3d52ec2bcdb99b87f" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index d18cc334..f08d7b0b 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,23 +351,23 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 68736f48137a1bcbd7c3fe3a3d05a42c - size: 109738 + md5: 859719d6c19fe1e4376100e2e2e0fc31 + size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: 71a298d23dc2bec9b23bd5f87e9f9872 + md5: ee36fd0b1cb759b0142f2718ba6a52a3 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 8f9ae75c13bde53774f7fc910aa16c58 + md5: 789d0ee77b9daf2972c1a278e614d792 size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: cec34a8404c62327c80e8f33189920ea + md5: ce06023b17e607b229930b4aff889945 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,9 +423,36 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 57f2cf4d6278487f5025d243ca6911d8 + md5: 66a6313a408bd03fbb40594addd7eccb size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: a050392617db93778644bd8f6c6a10e5 + md5: 1af34fc3a90bbf3b119ac2822b276fe6 size: 11873 + test-latex: + cmd: calkit nb execute --environment openflash-on-branch --no-check --to + html "analysis/test-latex.ipynb" + deps: + - path: .calkit/env-locks/openflash-on-branch + hash: md5 + md5: a8531510db7bc090e5af25da030aa542.dir + size: 17106 + nfiles: 2 + - path: .calkit/notebooks/cleaned/analysis/test-latex.ipynb + hash: md5 + md5: 42b2bcc4fc7904f7320328006a722e72 + size: 2044 + - path: analysis/sea-lab-utils + hash: md5 + md5: 3675aac9212e0a553666999c51f8fa36.dir + size: 16633 + nfiles: 22 + outs: + - path: .calkit/notebooks/executed/analysis/test-latex.ipynb + hash: md5 + md5: d0c86f089a6c8f2e2fd93aef4d21e364 + size: 5165 + - path: .calkit/notebooks/html/analysis/test-latex.html + hash: md5 + md5: a6d4ec3f12588f3a84d335b43b350f19 + size: 282926 From 79918e8135dbafa3fbab0200c4d30c1887cc2c5d Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 22:16:49 -0400 Subject: [PATCH 39/48] store executed ipynb in git --- calkit.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/calkit.yaml b/calkit.yaml index 64c36fec..2477c98d 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -89,6 +89,7 @@ pipeline: environment: openflash-on-branch inputs: - analysis/sea-lab-utils + executed_ipynb_storage: git graphical-abstract: kind: latex target_path: pubs/JFM/figs/graph_abstract.tex From 566e14c6a6e533a49c9ad4e1a7ddcd9f4324b55a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 02:24:24 +0000 Subject: [PATCH 40/48] Run pipeline --- .../executed/analysis/test-latex.ipynb | 179 ++++++++++++++++++ dvc.lock | 18 +- dvc.yaml | 2 +- 3 files changed, 189 insertions(+), 10 deletions(-) create mode 100644 .calkit/notebooks/executed/analysis/test-latex.ipynb diff --git a/.calkit/notebooks/executed/analysis/test-latex.ipynb b/.calkit/notebooks/executed/analysis/test-latex.ipynb new file mode 100644 index 00000000..1e24ab44 --- /dev/null +++ b/.calkit/notebooks/executed/analysis/test-latex.ipynb @@ -0,0 +1,179 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "ddf92cde", + "metadata": { + "execution": { + "iopub.execute_input": "2026-06-15T02:23:12.737254Z", + "iopub.status.busy": "2026-06-15T02:23:12.737029Z", + "iopub.status.idle": "2026-06-15T02:23:12.747816Z", + "shell.execute_reply": "2026-06-15T02:23:12.747103Z" + }, + "papermill": { + "duration": 0.013561, + "end_time": "2026-06-15T02:23:12.748404+00:00", + "exception": false, + "start_time": "2026-06-15T02:23:12.734843+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "None\n", + "/home/runner/work/_temp/uv-python-dir:/opt/hostedtoolcache/uv/0.11.21/x86_64:/home/runner/.local/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n" + ] + } + ], + "source": [ + "import os\n", + "import shutil\n", + "import subprocess\n", + "\n", + "print(shutil.which(\"latex\"))\n", + "print(os.environ[\"PATH\"])\n", + "\n", + "# subprocess.run([\"latex\", \"--version\"], check=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "fd4e8d5a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-06-15T02:23:12.751371Z", + "iopub.status.busy": "2026-06-15T02:23:12.751209Z", + "iopub.status.idle": "2026-06-15T02:23:12.754780Z", + "shell.execute_reply": "2026-06-15T02:23:12.754194Z" + }, + "papermill": { + "duration": 0.005845, + "end_time": "2026-06-15T02:23:12.755429+00:00", + "exception": false, + "start_time": "2026-06-15T02:23:12.749584+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import sys\n", + "from pathlib import Path\n", + "HERE = Path.cwd().resolve()\n", + "utils_path = str((HERE / \"sea-lab-utils\").resolve())\n", + "# Define the path to the directory containing the package\n", + "if utils_path not in sys.path:\n", + " sys.path.insert(0, utils_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9c14e4a4", + "metadata": { + "execution": { + "iopub.execute_input": "2026-06-15T02:23:12.757959Z", + "iopub.status.busy": "2026-06-15T02:23:12.757798Z", + "iopub.status.idle": "2026-06-15T02:23:13.121869Z", + "shell.execute_reply": "2026-06-15T02:23:13.121055Z" + }, + "papermill": { + "duration": 0.366075, + "end_time": "2026-06-15T02:23:13.122435+00:00", + "exception": false, + "start_time": "2026-06-15T02:23:12.756360+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#CC79A7\n" + ] + } + ], + "source": [ + "# Now you can import from the folder structure\n", + "# Assuming 'pyplotutilities' is a folder inside 'sea-lab-utils'\n", + "from pyplotutilities import colors\n", + "from pyplotutilities import fonts\n", + "colors.get_colors()\n", + "print(colors.purple)\n", + "fonts.get_fonts()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "1000b71d", + "metadata": { + "execution": { + "iopub.execute_input": "2026-06-15T02:23:13.125612Z", + "iopub.status.busy": "2026-06-15T02:23:13.125380Z", + "iopub.status.idle": "2026-06-15T02:23:13.129089Z", + "shell.execute_reply": "2026-06-15T02:23:13.128122Z" + }, + "papermill": { + "duration": 0.005894, + "end_time": "2026-06-15T02:23:13.129628+00:00", + "exception": false, + "start_time": "2026-06-15T02:23:13.123734+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# import matplotlib.pyplot as plt\n", + "# fig, ax = plt.subplots()\n", + "# ax.plot([1, 2, 3], [1, 4, 9], color=colors.purple, label='Quadratic')\n", + "# ax.set_title('Sample Plot')\n", + "# ax.set_xlabel('$\\mathbf{X}$-axis')\n", + "# ax.set_ylabel('$\\phi$')\n", + "#fig.savefig('sample_plot.pdf', format='pdf', dpi=300, bbox_inches='tight')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "openflash: openflash-on-branch", + "language": "python", + "name": "openflash.openflash-on-branch" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + }, + "papermill": { + "default_parameters": {}, + "duration": 1.525237, + "end_time": "2026-06-15T02:23:13.344970+00:00", + "environment_variables": {}, + "exception": null, + "input_path": "analysis/test-latex.ipynb", + "output_path": ".calkit/notebooks/executed/analysis/test-latex.ipynb", + "parameters": {}, + "start_time": "2026-06-15T02:23:11.819733+00:00", + "version": "2.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index f08d7b0b..c5e7d178 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,7 +351,7 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 859719d6c19fe1e4376100e2e2e0fc31 + md5: 435cbdeb3b14bb3eab2be06cf5b8f616 size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 @@ -359,15 +359,15 @@ stages: size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: ee36fd0b1cb759b0142f2718ba6a52a3 + md5: d1ebb9ce241f6e82e7ea41c6477ee7a0 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 789d0ee77b9daf2972c1a278e614d792 + md5: 845c88092f4501f7034c2cd66e57a3b1 size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: ce06023b17e607b229930b4aff889945 + md5: 32c6ba841b1cdc2f22bc1693e85dd186 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,11 +423,11 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 66a6313a408bd03fbb40594addd7eccb + md5: 23c229651818cec431f9d187b15bce2e size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: 1af34fc3a90bbf3b119ac2822b276fe6 + md5: 66e6abbf4cfb97efc647bfb2786a179e size: 11873 test-latex: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -444,14 +444,14 @@ stages: size: 2044 - path: analysis/sea-lab-utils hash: md5 - md5: 3675aac9212e0a553666999c51f8fa36.dir + md5: fe5483576cca8a3c0558dd8ef9be99cc.dir size: 16633 nfiles: 22 outs: - path: .calkit/notebooks/executed/analysis/test-latex.ipynb hash: md5 - md5: d0c86f089a6c8f2e2fd93aef4d21e364 - size: 5165 + md5: d81a1eb1c326b1035bda4d6187800181 + size: 5166 - path: .calkit/notebooks/html/analysis/test-latex.html hash: md5 md5: a6d4ec3f12588f3a84d335b43b350f19 diff --git a/dvc.yaml b/dvc.yaml index 90018d79..f6a04725 100644 --- a/dvc.yaml +++ b/dvc.yaml @@ -113,7 +113,7 @@ stages: - .calkit/env-locks/openflash-on-branch outs: - .calkit/notebooks/executed/analysis/test-latex.ipynb: - cache: true + cache: false - .calkit/notebooks/html/analysis/test-latex.html: cache: true desc: Automatically generated from the 'test-latex' stage in From e17c043a3d08c9db04e543945294586e89340784 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 22:55:40 -0400 Subject: [PATCH 41/48] use dockerfile that combines conda and tex --- analysis/.Dockerfile | 19 +++++++++++++++++++ calkit.yaml | 18 +++++++++++------- 2 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 analysis/.Dockerfile diff --git a/analysis/.Dockerfile b/analysis/.Dockerfile new file mode 100644 index 00000000..1b7ad799 --- /dev/null +++ b/analysis/.Dockerfile @@ -0,0 +1,19 @@ +FROM continuumio/miniconda3 AS miniconda + +FROM texlive/texlive:latest-full + +COPY --from=miniconda /opt/conda /opt/conda + +ENV PATH=/opt/conda/bin:$PATH + +COPY analysis/environment-branch.yml /tmp/build_env.yaml + +RUN conda env create \ + -n openflash-openflash-on-branch \ + -f /tmp/build_env.yaml + +ENV PATH=/opt/conda/envs/openflash-openflash-on-branch/bin:$PATH + +WORKDIR /workspace + +CMD ["bash"] \ No newline at end of file diff --git a/calkit.yaml b/calkit.yaml index 2477c98d..9f8a0f05 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -13,19 +13,23 @@ environments: openflash-on-branch: path: analysis/environment-branch.yml kind: conda + openflash-on-branch-tex: + kind: docker + path: analysis/.Dockerfile + description: openflash-on-branch conda environment with TeXlive via Docker. openflash-on-main: path: analysis/environment-main.yml kind: conda openflash-dev: path: analysis/environment-dev.yml kind: conda - + pipeline: stages: validate-w-capy: kind: jupyter-notebook notebook_path: analysis/validation_with_capytaine_plots.ipynb - environment: openflash-on-branch + environment: openflash-on-branch-tex inputs: - analysis/sea-lab-utils outputs: @@ -33,7 +37,7 @@ pipeline: low-m0-figs: kind: jupyter-notebook notebook_path: analysis/low_m0_plots.ipynb - environment: openflash-on-branch + environment: openflash-on-branch-tex inputs: - package/src/ - dev/python/limiting-cases/low_m0.py @@ -43,7 +47,7 @@ pipeline: slant-figs: kind: jupyter-notebook notebook_path: analysis/slant_data_plots.ipynb - environment: openflash-on-branch + environment: openflash-on-branch-tex inputs: - analysis/data/slants.pkl - analysis/data/slope-slants.pkl @@ -57,7 +61,7 @@ pipeline: timing-figs: kind: jupyter-notebook notebook_path: analysis/timing_plots.ipynb - environment: openflash-on-branch + environment: openflash-on-branch-tex inputs: - analysis/data/timing.pkl - analysis/sea-lab-utils @@ -68,7 +72,7 @@ pipeline: convergence-figs: kind: jupyter-notebook notebook_path: analysis/convergence-results.ipynb - environment: openflash-on-branch + environment: openflash-on-branch-tex inputs: - analysis/sea-lab-utils outputs: @@ -86,7 +90,7 @@ pipeline: test-latex: kind: jupyter-notebook notebook_path: analysis/test-latex.ipynb - environment: openflash-on-branch + environment: openflash-on-branch-tex inputs: - analysis/sea-lab-utils executed_ipynb_storage: git From de9f43322688fe5c8b92f4bd8b331f6f0dd1bd49 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 03:00:43 +0000 Subject: [PATCH 42/48] Run pipeline --- .../executed/analysis/test-latex.ipynb | 179 ------- ...0-05-72c04e748e4e4b0f86dea166e9789d69.json | 464 ++++++++++++++++++ ...876441afbd22e3bf09caaeb92d07bc1e9efca.json | 28 ++ dvc.lock | 12 +- dvc.yaml | 24 +- 5 files changed, 510 insertions(+), 197 deletions(-) delete mode 100644 .calkit/notebooks/executed/analysis/test-latex.ipynb create mode 100644 .calkit/runs/2026-06-15T03-00-05-72c04e748e4e4b0f86dea166e9789d69.json create mode 100644 .calkit/systems/d11876441afbd22e3bf09caaeb92d07bc1e9efca.json diff --git a/.calkit/notebooks/executed/analysis/test-latex.ipynb b/.calkit/notebooks/executed/analysis/test-latex.ipynb deleted file mode 100644 index 1e24ab44..00000000 --- a/.calkit/notebooks/executed/analysis/test-latex.ipynb +++ /dev/null @@ -1,179 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "ddf92cde", - "metadata": { - "execution": { - "iopub.execute_input": "2026-06-15T02:23:12.737254Z", - "iopub.status.busy": "2026-06-15T02:23:12.737029Z", - "iopub.status.idle": "2026-06-15T02:23:12.747816Z", - "shell.execute_reply": "2026-06-15T02:23:12.747103Z" - }, - "papermill": { - "duration": 0.013561, - "end_time": "2026-06-15T02:23:12.748404+00:00", - "exception": false, - "start_time": "2026-06-15T02:23:12.734843+00:00", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "None\n", - "/home/runner/work/_temp/uv-python-dir:/opt/hostedtoolcache/uv/0.11.21/x86_64:/home/runner/.local/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin\n" - ] - } - ], - "source": [ - "import os\n", - "import shutil\n", - "import subprocess\n", - "\n", - "print(shutil.which(\"latex\"))\n", - "print(os.environ[\"PATH\"])\n", - "\n", - "# subprocess.run([\"latex\", \"--version\"], check=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "fd4e8d5a", - "metadata": { - "execution": { - "iopub.execute_input": "2026-06-15T02:23:12.751371Z", - "iopub.status.busy": "2026-06-15T02:23:12.751209Z", - "iopub.status.idle": "2026-06-15T02:23:12.754780Z", - "shell.execute_reply": "2026-06-15T02:23:12.754194Z" - }, - "papermill": { - "duration": 0.005845, - "end_time": "2026-06-15T02:23:12.755429+00:00", - "exception": false, - "start_time": "2026-06-15T02:23:12.749584+00:00", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import sys\n", - "from pathlib import Path\n", - "HERE = Path.cwd().resolve()\n", - "utils_path = str((HERE / \"sea-lab-utils\").resolve())\n", - "# Define the path to the directory containing the package\n", - "if utils_path not in sys.path:\n", - " sys.path.insert(0, utils_path)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "9c14e4a4", - "metadata": { - "execution": { - "iopub.execute_input": "2026-06-15T02:23:12.757959Z", - "iopub.status.busy": "2026-06-15T02:23:12.757798Z", - "iopub.status.idle": "2026-06-15T02:23:13.121869Z", - "shell.execute_reply": "2026-06-15T02:23:13.121055Z" - }, - "papermill": { - "duration": 0.366075, - "end_time": "2026-06-15T02:23:13.122435+00:00", - "exception": false, - "start_time": "2026-06-15T02:23:12.756360+00:00", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "#CC79A7\n" - ] - } - ], - "source": [ - "# Now you can import from the folder structure\n", - "# Assuming 'pyplotutilities' is a folder inside 'sea-lab-utils'\n", - "from pyplotutilities import colors\n", - "from pyplotutilities import fonts\n", - "colors.get_colors()\n", - "print(colors.purple)\n", - "fonts.get_fonts()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "1000b71d", - "metadata": { - "execution": { - "iopub.execute_input": "2026-06-15T02:23:13.125612Z", - "iopub.status.busy": "2026-06-15T02:23:13.125380Z", - "iopub.status.idle": "2026-06-15T02:23:13.129089Z", - "shell.execute_reply": "2026-06-15T02:23:13.128122Z" - }, - "papermill": { - "duration": 0.005894, - "end_time": "2026-06-15T02:23:13.129628+00:00", - "exception": false, - "start_time": "2026-06-15T02:23:13.123734+00:00", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# import matplotlib.pyplot as plt\n", - "# fig, ax = plt.subplots()\n", - "# ax.plot([1, 2, 3], [1, 4, 9], color=colors.purple, label='Quadratic')\n", - "# ax.set_title('Sample Plot')\n", - "# ax.set_xlabel('$\\mathbf{X}$-axis')\n", - "# ax.set_ylabel('$\\phi$')\n", - "#fig.savefig('sample_plot.pdf', format='pdf', dpi=300, bbox_inches='tight')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "openflash: openflash-on-branch", - "language": "python", - "name": "openflash.openflash-on-branch" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.13" - }, - "papermill": { - "default_parameters": {}, - "duration": 1.525237, - "end_time": "2026-06-15T02:23:13.344970+00:00", - "environment_variables": {}, - "exception": null, - "input_path": "analysis/test-latex.ipynb", - "output_path": ".calkit/notebooks/executed/analysis/test-latex.ipynb", - "parameters": {}, - "start_time": "2026-06-15T02:23:11.819733+00:00", - "version": "2.7.0" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/.calkit/runs/2026-06-15T03-00-05-72c04e748e4e4b0f86dea166e9789d69.json b/.calkit/runs/2026-06-15T03-00-05-72c04e748e4e4b0f86dea166e9789d69.json new file mode 100644 index 00000000..fcbcecb3 --- /dev/null +++ b/.calkit/runs/2026-06-15T03-00-05-72c04e748e4e4b0f86dea166e9789d69.json @@ -0,0 +1,464 @@ +{ + "id": "72c04e748e4e4b0f86dea166e9789d69", + "system_id": "d11876441afbd22e3bf09caaeb92d07bc1e9efca", + "start_time": "2026-06-15T03:00:05.431301+00:00", + "end_time": "2026-06-15T03:00:24.709432+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "failed", + "stages": { + "graphical-abstract": { + "start_time": "2026-06-15T03:00:06.297000", + "end_time": "2026-06-15T03:00:10.418000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-15T03:00:10.418000" + }, + "stages: timing-figs, slant-figs, low-m0-figs, test-latex, convergence-figs and validate-w-capy": { + "end_time": "2026-06-15T03:00:23.490000", + "status": "failed" + } + }, + "git_rev": "e17c043a3d08c9db04e543945294586e89340784", + "git_branch": "workflow-macos", + "git_changed_files_before": [ + "dvc.yaml" + ], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/d11876441afbd22e3bf09caaeb92d07bc1e9efca.json" + ], + "git_changed_files_after": [ + ".calkit/notebooks/executed/analysis/test-latex.ipynb", + "dvc.lock", + "dvc.yaml" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/d11876441afbd22e3bf09caaeb92d07bc1e9efca.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + "changed command" + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + "changed command" + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + "changed command" + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + "changed command" + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + "changed command" + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "test-latex": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + { + "changed outs": { + ".calkit/notebooks/html/analysis/test-latex.html": "not in cache" + } + }, + "changed command" + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + ".calkit/notebooks/html/analysis/test-latex.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + ".calkit/notebooks/html/analysis/test-latex.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + ".calkit/notebooks/html/analysis/timing_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/RM3/data/", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "dev/python/timing/data/cpt-timing.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + ".calkit/notebooks/html/analysis/convergence-results.html", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "analysis/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/region-count-convergence/data/", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html" + ] + }, + "dvc_status_after": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf": "deleted", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb": "deleted", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html": "deleted" + } + }, + "changed command" + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Low-Freq.pdf": "deleted", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb": "deleted", + ".calkit/notebooks/html/analysis/low_m0_plots.html": "deleted" + } + }, + "changed command" + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf": "deleted", + "pubs/JFM/figs/Vary-Slopes.pdf": "deleted", + "pubs/JFM/figs/Along-Outline.pdf": "deleted", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf": "deleted", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb": "deleted", + ".calkit/notebooks/html/analysis/slant_data_plots.html": "deleted" + } + }, + "changed command" + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + { + "changed outs": { + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf": "deleted", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf": "deleted", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb": "deleted", + ".calkit/notebooks/html/analysis/timing_plots.html": "deleted" + } + }, + "changed command" + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + { + "changed outs": { + "pubs/JFM/figs/alpha-beta-explanation.pdf": "deleted", + "pubs/JFM/figs/alpha-beta-to-trend.pdf": "deleted", + "pubs/JFM/figs/convergence-fit-assessment.pdf": "deleted", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb": "deleted", + ".calkit/notebooks/html/analysis/convergence-results.html": "deleted" + } + }, + "changed command" + ], + "test-latex": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "deleted" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "deleted", + ".calkit/notebooks/html/analysis/test-latex.html": "not in cache" + } + }, + "changed command" + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [ + ".calkit/notebooks/html/analysis/test-latex.html" + ], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/C_sparsity_plot.pdf", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb" + ] + }, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/test-latex.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/RM3/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "analysis/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/region-count-convergence/data/", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/d11876441afbd22e3bf09caaeb92d07bc1e9efca.json b/.calkit/systems/d11876441afbd22e3bf09caaeb92d07bc1e9efca.json new file mode 100644 index 00000000..15263f38 --- /dev/null +++ b/.calkit/systems/d11876441afbd22e3bf09caaeb92d07bc1e9efca.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.16", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614948272705078, + "cpu_count": 4, + "node_id": 136469681560066, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "d11876441afbd22e3bf09caaeb92d07bc1e9efca" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index c5e7d178..d253008d 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,7 +351,7 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 435cbdeb3b14bb3eab2be06cf5b8f616 + md5: 851734e0cefe3564f4273f904e233e57 size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 @@ -359,15 +359,15 @@ stages: size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: d1ebb9ce241f6e82e7ea41c6477ee7a0 + md5: 65c83016fcdff7481a773582065c2242 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 845c88092f4501f7034c2cd66e57a3b1 + md5: 00f2015c8d8caa317bfb1b77a681263c size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 32c6ba841b1cdc2f22bc1693e85dd186 + md5: b5e2c931a6e3a1457db9c23a46f62946 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,11 +423,11 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 23c229651818cec431f9d187b15bce2e + md5: f484d7a1753005b7021e2ab084dfff42 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: 66e6abbf4cfb97efc647bfb2786a179e + md5: f51bc4a3a0e975b193537351d1b8b48d size: 11873 test-latex: cmd: calkit nb execute --environment openflash-on-branch --no-check --to diff --git a/dvc.yaml b/dvc.yaml index f6a04725..848b91b5 100644 --- a/dvc.yaml +++ b/dvc.yaml @@ -1,12 +1,12 @@ stages: validate-w-capy: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/validation_with_capytaine_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf - .calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb: @@ -16,14 +16,14 @@ stages: desc: Automatically generated from the 'validate-w-capy' stage in calkit.yaml. Changes made here will be overwritten. low-m0-figs: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/low_m0_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb - package/src/ - dev/python/limiting-cases/low_m0.py - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/MEEM-Low-Freq.pdf - .calkit/notebooks/executed/analysis/low_m0_plots.ipynb: @@ -33,7 +33,7 @@ stages: desc: Automatically generated from the 'low-m0-figs' stage in calkit.yaml. Changes made here will be overwritten. slant-figs: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/slant_data_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb @@ -41,7 +41,7 @@ stages: - analysis/data/slope-slants.pkl - analysis/data/potential-slants.pkl - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf - pubs/JFM/figs/Vary-Slopes.pdf @@ -54,13 +54,13 @@ stages: desc: Automatically generated from the 'slant-figs' stage in calkit.yaml. Changes made here will be overwritten. timing-figs: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/timing_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/timing_plots.ipynb - analysis/data/timing.pkl - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/MEEM-Comp-Distribution.pdf - pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf @@ -72,12 +72,12 @@ stages: desc: Automatically generated from the 'timing-figs' stage in calkit.yaml. Changes made here will be overwritten. convergence-figs: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/convergence-results.ipynb" deps: - .calkit/notebooks/cleaned/analysis/convergence-results.ipynb - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/alpha-beta-explanation.pdf - pubs/JFM/figs/alpha-beta-to-trend.pdf @@ -105,12 +105,12 @@ stages: desc: Automatically generated from the 'sparsity-figs' stage in calkit.yaml. Changes made here will be overwritten. test-latex: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/test-latex.ipynb" deps: - .calkit/notebooks/cleaned/analysis/test-latex.ipynb - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - .calkit/notebooks/executed/analysis/test-latex.ipynb: cache: false From c84b4a0027b6738de8001a1ec02be1c53e31a218 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sun, 14 Jun 2026 23:39:04 -0400 Subject: [PATCH 43/48] debug Dockerfile --- .Dockerfile | 24 +++++++++++ .../openflash-on-branch-tex/amd64.json | 40 +++++++++++++++++++ analysis/.Dockerfile | 19 --------- analysis/environment-branch.yml | 3 -- calkit.yaml | 13 +++++- dvc.yaml | 24 +++++------ 6 files changed, 88 insertions(+), 35 deletions(-) create mode 100644 .Dockerfile create mode 100644 .calkit/env-locks/openflash-on-branch-tex/amd64.json delete mode 100644 analysis/.Dockerfile diff --git a/.Dockerfile b/.Dockerfile new file mode 100644 index 00000000..688385d0 --- /dev/null +++ b/.Dockerfile @@ -0,0 +1,24 @@ +FROM condaforge/miniforge3:latest AS miniconda + +FROM texlive/texlive:latest-full + +COPY --from=miniconda /opt/conda /opt/conda + +ENV PATH=/opt/conda/bin:$PATH + +COPY analysis/environment-branch.yml /tmp/analysis/environment-branch.yml +COPY pyproject.toml /tmp/pyproject.toml +COPY package/src /tmp/package/src +COPY README.md /tmp/README.md +COPY LICENSE /tmp/LICENSE +COPY CITATION.cff /tmp/CITATION.cff + +RUN mamba env create \ + -n openflash-openflash-on-branch \ + -f /tmp/analysis/environment-branch.yml + +ENV PATH=/opt/conda/envs/openflash-openflash-on-branch/bin:$PATH + +WORKDIR /workspace + +CMD ["bash"] \ No newline at end of file diff --git a/.calkit/env-locks/openflash-on-branch-tex/amd64.json b/.calkit/env-locks/openflash-on-branch-tex/amd64.json new file mode 100644 index 00000000..f57b6e76 --- /dev/null +++ b/.calkit/env-locks/openflash-on-branch-tex/amd64.json @@ -0,0 +1,40 @@ +{ + "RepoTags": [ + "openflash-on-branch-tex" + ], + "RepoDigests": [], + "Architecture": "amd64", + "Os": "linux", + "RootFS": { + "Type": "layers", + "Layers": [ + "sha256:abebb53bff61953e65b46dbda5a22dc58a129f4ab8ee6f9dce086f7cdfbceb99", + "sha256:95041faa93c136b39b8bc87c7dd3165062657e7d800e24cfd5fec11cdc3571ca", + "sha256:2807514102d5c628707dd8ad3a3bcd34e29a3cb12ca665aa7257ba3734b2d042", + "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef", + "sha256:3f4921c5fb9da515e989a8161bfeafc13cde65a78383e490b073b0bcd3c7f5af", + "sha256:b0f421ab29458ce669b9cec526b66d103f9121bea60dd57a00772d160bdd1f69", + "sha256:6d9bd5b935f302e6cb87ded2e2b82d7ebde6481f77da81ba463d786a850fd0f3", + "sha256:0501335b0a75af9b0fc7821ee7d48310210be38bce21047d56138de3d54f9172", + "sha256:06a9f13df64a1ca8e621660ddc006ca65b48f6786c2cf2a8aec885d0a87dd65c", + "sha256:bde22c7a670b33b4250cacc21784f0d581bbb7197091bf5377b41277dbe5265b", + "sha256:7955c3ee14d35126ee18f1c0d71a1ca3f01b7d1a0a4a9b0a26048c55f9e10fb3", + "sha256:ab940444ea90fa63b7d41cf2b36e953b96c184935129026518dace9822fda99c", + "sha256:58d05da224c2ca2213cb7cb2b8cf5797077633c43d0d07ebcb1e4f39e535f0d8", + "sha256:81ba823f3547b71563e26cd8f76dd22781f35d744deae3c2dc833b7618b8fc55", + "sha256:dbff6e564cd793ce32b089ec5e525ed963149e060de21af9422c76749bd75178", + "sha256:fdf56019538ce8c0ed21c9eed6b6d781b642e1fc4aee3a5942551515c57c0281", + "sha256:97cd141db7127ec792a96935267578fdb40f62e8da7c8213a503252531cc271f", + "sha256:9bd30d3a0aaf6b0cd30838d3b0b0247df01c242d9e4a249e4d2a99b519c9b68e" + ] + }, + "DockerfileMD5": "7422ba42ae3014179729e1a5719ad5a5", + "DepsMD5s": { + "analysis/environment-branch.yml": "b0dee0e031e8d2e208fb88b89416b7a8", + "package/src": "a452631e5ff3e15fe7a166a77275771e", + "pyproject.toml": "c036c82893293e1fa9eae68f5731d451", + "README.md": "d4ecb4e9de12fcfac2094778ad29fbf5", + "LICENSE": "313afdf541ca2b338eaa77f1b698333c", + "CITATION.cff": "0ee89a93fb410b3526806206205500af" + } +} \ No newline at end of file diff --git a/analysis/.Dockerfile b/analysis/.Dockerfile deleted file mode 100644 index 1b7ad799..00000000 --- a/analysis/.Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM continuumio/miniconda3 AS miniconda - -FROM texlive/texlive:latest-full - -COPY --from=miniconda /opt/conda /opt/conda - -ENV PATH=/opt/conda/bin:$PATH - -COPY analysis/environment-branch.yml /tmp/build_env.yaml - -RUN conda env create \ - -n openflash-openflash-on-branch \ - -f /tmp/build_env.yaml - -ENV PATH=/opt/conda/envs/openflash-openflash-on-branch/bin:$PATH - -WORKDIR /workspace - -CMD ["bash"] \ No newline at end of file diff --git a/analysis/environment-branch.yml b/analysis/environment-branch.yml index 8a4ca28b..6a0f2b97 100644 --- a/analysis/environment-branch.yml +++ b/analysis/environment-branch.yml @@ -15,9 +15,6 @@ dependencies: - streamlit - ipykernel - seaborn - - texlive-core - - texlive-bin - - dvipng - pip: - capytaine - -e .. diff --git a/calkit.yaml b/calkit.yaml index 9f8a0f05..306579aa 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -13,10 +13,21 @@ environments: openflash-on-branch: path: analysis/environment-branch.yml kind: conda + deps: + - package/src + - pyproject.toml openflash-on-branch-tex: kind: docker - path: analysis/.Dockerfile + path: .Dockerfile + image: openflash-on-branch-tex description: openflash-on-branch conda environment with TeXlive via Docker. + deps: + - analysis/environment-branch.yml + - package/src + - pyproject.toml + - README.md + - LICENSE + - CITATION.cff openflash-on-main: path: analysis/environment-main.yml kind: conda diff --git a/dvc.yaml b/dvc.yaml index f6a04725..848b91b5 100644 --- a/dvc.yaml +++ b/dvc.yaml @@ -1,12 +1,12 @@ stages: validate-w-capy: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/validation_with_capytaine_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf - .calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb: @@ -16,14 +16,14 @@ stages: desc: Automatically generated from the 'validate-w-capy' stage in calkit.yaml. Changes made here will be overwritten. low-m0-figs: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/low_m0_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb - package/src/ - dev/python/limiting-cases/low_m0.py - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/MEEM-Low-Freq.pdf - .calkit/notebooks/executed/analysis/low_m0_plots.ipynb: @@ -33,7 +33,7 @@ stages: desc: Automatically generated from the 'low-m0-figs' stage in calkit.yaml. Changes made here will be overwritten. slant-figs: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/slant_data_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb @@ -41,7 +41,7 @@ stages: - analysis/data/slope-slants.pkl - analysis/data/potential-slants.pkl - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf - pubs/JFM/figs/Vary-Slopes.pdf @@ -54,13 +54,13 @@ stages: desc: Automatically generated from the 'slant-figs' stage in calkit.yaml. Changes made here will be overwritten. timing-figs: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/timing_plots.ipynb" deps: - .calkit/notebooks/cleaned/analysis/timing_plots.ipynb - analysis/data/timing.pkl - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/MEEM-Comp-Distribution.pdf - pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf @@ -72,12 +72,12 @@ stages: desc: Automatically generated from the 'timing-figs' stage in calkit.yaml. Changes made here will be overwritten. convergence-figs: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/convergence-results.ipynb" deps: - .calkit/notebooks/cleaned/analysis/convergence-results.ipynb - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - pubs/JFM/figs/alpha-beta-explanation.pdf - pubs/JFM/figs/alpha-beta-to-trend.pdf @@ -105,12 +105,12 @@ stages: desc: Automatically generated from the 'sparsity-figs' stage in calkit.yaml. Changes made here will be overwritten. test-latex: - cmd: calkit nb execute --environment openflash-on-branch + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/test-latex.ipynb" deps: - .calkit/notebooks/cleaned/analysis/test-latex.ipynb - analysis/sea-lab-utils - - .calkit/env-locks/openflash-on-branch + - .calkit/env-locks/openflash-on-branch-tex outs: - .calkit/notebooks/executed/analysis/test-latex.ipynb: cache: false From 5c516389a7f8cffb2b14e07b093b20e0b8a66a33 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 03:47:47 +0000 Subject: [PATCH 44/48] Run pipeline --- .../openflash-on-branch-tex/amd64.json | 36 +++++++++---------- dvc.lock | 14 ++++---- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.calkit/env-locks/openflash-on-branch-tex/amd64.json b/.calkit/env-locks/openflash-on-branch-tex/amd64.json index f57b6e76..1f60db67 100644 --- a/.calkit/env-locks/openflash-on-branch-tex/amd64.json +++ b/.calkit/env-locks/openflash-on-branch-tex/amd64.json @@ -8,30 +8,30 @@ "RootFS": { "Type": "layers", "Layers": [ - "sha256:abebb53bff61953e65b46dbda5a22dc58a129f4ab8ee6f9dce086f7cdfbceb99", - "sha256:95041faa93c136b39b8bc87c7dd3165062657e7d800e24cfd5fec11cdc3571ca", - "sha256:2807514102d5c628707dd8ad3a3bcd34e29a3cb12ca665aa7257ba3734b2d042", + "sha256:4d416f5802b27e35b72bc7cf23b9a0135b5810f321b33213976f7b6e603004e2", + "sha256:1d70e638e6fc47166ab7f99695374817b8bd1a4f76f6855add9723e5d4600ad8", + "sha256:f6abbfcb16d15267190636a64d129388c1017c63e0ba88d6645cc7e2ba96cf71", "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef", - "sha256:3f4921c5fb9da515e989a8161bfeafc13cde65a78383e490b073b0bcd3c7f5af", - "sha256:b0f421ab29458ce669b9cec526b66d103f9121bea60dd57a00772d160bdd1f69", - "sha256:6d9bd5b935f302e6cb87ded2e2b82d7ebde6481f77da81ba463d786a850fd0f3", - "sha256:0501335b0a75af9b0fc7821ee7d48310210be38bce21047d56138de3d54f9172", - "sha256:06a9f13df64a1ca8e621660ddc006ca65b48f6786c2cf2a8aec885d0a87dd65c", - "sha256:bde22c7a670b33b4250cacc21784f0d581bbb7197091bf5377b41277dbe5265b", - "sha256:7955c3ee14d35126ee18f1c0d71a1ca3f01b7d1a0a4a9b0a26048c55f9e10fb3", - "sha256:ab940444ea90fa63b7d41cf2b36e953b96c184935129026518dace9822fda99c", - "sha256:58d05da224c2ca2213cb7cb2b8cf5797077633c43d0d07ebcb1e4f39e535f0d8", - "sha256:81ba823f3547b71563e26cd8f76dd22781f35d744deae3c2dc833b7618b8fc55", - "sha256:dbff6e564cd793ce32b089ec5e525ed963149e060de21af9422c76749bd75178", - "sha256:fdf56019538ce8c0ed21c9eed6b6d781b642e1fc4aee3a5942551515c57c0281", - "sha256:97cd141db7127ec792a96935267578fdb40f62e8da7c8213a503252531cc271f", - "sha256:9bd30d3a0aaf6b0cd30838d3b0b0247df01c242d9e4a249e4d2a99b519c9b68e" + "sha256:084a300d9aa225c7c8dddcf1f4b52943962a71f5293bfe315fb45b4979b26d98", + "sha256:94341c5a851fa791ecf9496f0d4b80d81d358681972644d599b088683ea29f60", + "sha256:64a8268e4aa9457c8301cc85de712ae83298f3cb67bd9e4e69a8b687e854963b", + "sha256:da4b7294439259ab23e03a525267ddfb3fda5dcf90094ca1657a402fcefdc76a", + "sha256:498fe8fca7f3a287f0e2d91505c4e2576f243fcf18175b0ee0b9a1bc64f8d340", + "sha256:f27bb62381345485310c78363abed9ac4670faccec14446bea11829e676e61db", + "sha256:c14548ccf8dfd090107edefe5ba995b001df61cc5acae81a58fe490317466508", + "sha256:4d7d081c5c19cc5b6d5bdae20f8903d28d69227034e5517ce6ea2bac7e931c07", + "sha256:3651baa86213780b73d383a18667cdb58f1e2ffaf4f1b97236b45b30f74a8005", + "sha256:c63b4ee200b363d299fd01b8ea94ed4f8efe2dd61f3c4c34329e89bc2adb19d2", + "sha256:6143a61bc3651cbdf77aed5d81f67a5dbac776ea14647aca0884f61a2693b8fd", + "sha256:303c343b60316f51794a2acf1ea5b6f99698cae192d6a2cdda83fbc65ed0f30e", + "sha256:0b11ad56546767ff3a0943c891e0bde58b133aa8f48d5199c2be8f9e4a2e2187", + "sha256:b56d6519baae9a807291a4feae3a6556be41ddca5aadcc1f38d59796820db40b" ] }, "DockerfileMD5": "7422ba42ae3014179729e1a5719ad5a5", "DepsMD5s": { "analysis/environment-branch.yml": "b0dee0e031e8d2e208fb88b89416b7a8", - "package/src": "a452631e5ff3e15fe7a166a77275771e", + "package/src": "fb1d513041f63ba9e0fd9703f43b59ac", "pyproject.toml": "c036c82893293e1fa9eae68f5731d451", "README.md": "d4ecb4e9de12fcfac2094778ad29fbf5", "LICENSE": "313afdf541ca2b338eaa77f1b698333c", diff --git a/dvc.lock b/dvc.lock index d253008d..a422ebb0 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,23 +351,23 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 851734e0cefe3564f4273f904e233e57 - size: 109740 + md5: 2d6e769bc12ec810ac90db807e6f67f8 + size: 109739 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: 65c83016fcdff7481a773582065c2242 + md5: c3f88b08123dc003ab69c1eec0a6f26d size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 00f2015c8d8caa317bfb1b77a681263c + md5: e132c7a49e29719fe641b991a654e43f size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: b5e2c931a6e3a1457db9c23a46f62946 + md5: 6c1a4b9eb957811874954e0446183183 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,11 +423,11 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: f484d7a1753005b7021e2ab084dfff42 + md5: e8888fd96755e5030d3014d9bd68cbd6 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: f51bc4a3a0e975b193537351d1b8b48d + md5: 5ce3358b688387020fd262d294b53d41 size: 11873 test-latex: cmd: calkit nb execute --environment openflash-on-branch --no-check --to From 504d8d2c115b54c21533bd7ba9f6b974273a270f Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Mon, 15 Jun 2026 02:08:44 -0400 Subject: [PATCH 45/48] edit dockerfile to move past permission error to now face no such kernel error --- .Dockerfile | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.Dockerfile b/.Dockerfile index 688385d0..46e4e789 100644 --- a/.Dockerfile +++ b/.Dockerfile @@ -14,11 +14,38 @@ COPY LICENSE /tmp/LICENSE COPY CITATION.cff /tmp/CITATION.cff RUN mamba env create \ - -n openflash-openflash-on-branch \ + -n openflash.openflash-on-branch-tex \ -f /tmp/analysis/environment-branch.yml -ENV PATH=/opt/conda/envs/openflash-openflash-on-branch/bin:$PATH +ENV PATH=/opt/conda/envs/openflash.openflash-on-branch-tex/bin:$PATH +ENV PYTHONUNBUFFERED=1 +ENV PIP_DISABLE_PIP_VERSION_CHECK=1 +ENV PIP_NO_CACHE_DIR=1 + +RUN useradd -m openflash + +RUN mkdir -p /workspace \ + && chown -R openflash:openflash /workspace + +RUN mkdir -p /home/openflash/.ipython /home/openflash/.cache /home/openflash/.config \ + && chown -R openflash:openflash /home/openflash + +RUN mkdir -p /tmp/home/.local /tmp/home/.ipython /tmp/home/.cache /tmp/home/.config \ + /tmp/ipython /tmp/matplotlib /tmp/cache /tmp/jupyter \ + && chmod -R 777 /tmp/home /tmp/ipython /tmp/matplotlib /tmp/cache /tmp/jupyter + +RUN python -m ipykernel install \ + --prefix=/opt/conda/envs/openflash.openflash-on-branch-tex + +USER openflash WORKDIR /workspace +ENV HOME=/tmp/home +ENV IPYTHONDIR=/tmp/home/.ipython +ENV XDG_CACHE_HOME=/tmp/home/.cache +ENV XDG_CONFIG_HOME=/tmp/home/.config +ENV MPLCONFIGDIR=/tmp/matplotlib +ENV JUPYTER_DATA_DIR=/tmp/jupyter + CMD ["bash"] \ No newline at end of file From 829dd2d353723b9fde018f58023a4e73c7aea604 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 06:16:21 +0000 Subject: [PATCH 46/48] Run pipeline --- .../openflash-on-branch-tex/amd64.json | 41 +++--- .../executed/analysis/test-latex.ipynb | 129 ++++++++++++++++++ dvc.lock | 14 +- 3 files changed, 159 insertions(+), 25 deletions(-) create mode 100644 .calkit/notebooks/executed/analysis/test-latex.ipynb diff --git a/.calkit/env-locks/openflash-on-branch-tex/amd64.json b/.calkit/env-locks/openflash-on-branch-tex/amd64.json index 1f60db67..538c49f4 100644 --- a/.calkit/env-locks/openflash-on-branch-tex/amd64.json +++ b/.calkit/env-locks/openflash-on-branch-tex/amd64.json @@ -8,27 +8,32 @@ "RootFS": { "Type": "layers", "Layers": [ - "sha256:4d416f5802b27e35b72bc7cf23b9a0135b5810f321b33213976f7b6e603004e2", - "sha256:1d70e638e6fc47166ab7f99695374817b8bd1a4f76f6855add9723e5d4600ad8", - "sha256:f6abbfcb16d15267190636a64d129388c1017c63e0ba88d6645cc7e2ba96cf71", + "sha256:abebb53bff61953e65b46dbda5a22dc58a129f4ab8ee6f9dce086f7cdfbceb99", + "sha256:95041faa93c136b39b8bc87c7dd3165062657e7d800e24cfd5fec11cdc3571ca", + "sha256:2807514102d5c628707dd8ad3a3bcd34e29a3cb12ca665aa7257ba3734b2d042", "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef", - "sha256:084a300d9aa225c7c8dddcf1f4b52943962a71f5293bfe315fb45b4979b26d98", - "sha256:94341c5a851fa791ecf9496f0d4b80d81d358681972644d599b088683ea29f60", - "sha256:64a8268e4aa9457c8301cc85de712ae83298f3cb67bd9e4e69a8b687e854963b", - "sha256:da4b7294439259ab23e03a525267ddfb3fda5dcf90094ca1657a402fcefdc76a", - "sha256:498fe8fca7f3a287f0e2d91505c4e2576f243fcf18175b0ee0b9a1bc64f8d340", - "sha256:f27bb62381345485310c78363abed9ac4670faccec14446bea11829e676e61db", - "sha256:c14548ccf8dfd090107edefe5ba995b001df61cc5acae81a58fe490317466508", - "sha256:4d7d081c5c19cc5b6d5bdae20f8903d28d69227034e5517ce6ea2bac7e931c07", - "sha256:3651baa86213780b73d383a18667cdb58f1e2ffaf4f1b97236b45b30f74a8005", - "sha256:c63b4ee200b363d299fd01b8ea94ed4f8efe2dd61f3c4c34329e89bc2adb19d2", - "sha256:6143a61bc3651cbdf77aed5d81f67a5dbac776ea14647aca0884f61a2693b8fd", - "sha256:303c343b60316f51794a2acf1ea5b6f99698cae192d6a2cdda83fbc65ed0f30e", - "sha256:0b11ad56546767ff3a0943c891e0bde58b133aa8f48d5199c2be8f9e4a2e2187", - "sha256:b56d6519baae9a807291a4feae3a6556be41ddca5aadcc1f38d59796820db40b" + "sha256:3f4921c5fb9da515e989a8161bfeafc13cde65a78383e490b073b0bcd3c7f5af", + "sha256:b0f421ab29458ce669b9cec526b66d103f9121bea60dd57a00772d160bdd1f69", + "sha256:6d9bd5b935f302e6cb87ded2e2b82d7ebde6481f77da81ba463d786a850fd0f3", + "sha256:0501335b0a75af9b0fc7821ee7d48310210be38bce21047d56138de3d54f9172", + "sha256:06a9f13df64a1ca8e621660ddc006ca65b48f6786c2cf2a8aec885d0a87dd65c", + "sha256:4eef5163408e71dff5b637d59516a0eff231c42397797179afed8897e050fb32", + "sha256:f5507661f0833953a5ad4eda984de467880d0272d9cdbe7bd162556e2d9e8dde", + "sha256:1ae27e0bf52bd7f76ddcd88589cd8aa48c81f7ff6f6e58ba8da2caed46e1f7f7", + "sha256:d482a1e8ae4f6658f3b7f8a264ec768aa28d57e03d5ce329addfd27957678ffe", + "sha256:c86fb8466c4a79930416619805f46aa6aec5c70a6984a3fd43a037c9ff5d354d", + "sha256:7c9b3fdac8919ebbb8caf8ba8b7ff525aa722fb0a1b2fd1d29cbf1c3bc5df78f", + "sha256:5e26d5b23ad0b5c27eccfa33cce3087c1fc2eee397d8164837ba9cfb5d542347", + "sha256:035d8f1435621fbdc05213d915a122ec88011d79f6f9bbcf2b22ab55080029f4", + "sha256:35099672726836292c0b5f5b5d0662dd700dec97994590b39468e38320af1c20", + "sha256:fa61db8f0ef87ee2d637dff020b00e89a2dacbe0ce60bf394f7e1bff89317cd4", + "sha256:8b9306be2becfd24ebb6b94c5b82bcf19e9e2548e3f7fd85a105089845bd847a", + "sha256:4b49900705df0c8e3debe4b2c5e2b9ff53c88c2bfede5fd8b2a8bab5d5ee9d26", + "sha256:6eab6a3eca267bb8081c5430d798bf85e0c1649a93895e943b97edcdf5c7cfd0", + "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" ] }, - "DockerfileMD5": "7422ba42ae3014179729e1a5719ad5a5", + "DockerfileMD5": "dee035dd110ac89ba9b0208f6f6faa9f", "DepsMD5s": { "analysis/environment-branch.yml": "b0dee0e031e8d2e208fb88b89416b7a8", "package/src": "fb1d513041f63ba9e0fd9703f43b59ac", diff --git a/.calkit/notebooks/executed/analysis/test-latex.ipynb b/.calkit/notebooks/executed/analysis/test-latex.ipynb new file mode 100644 index 00000000..58c9e019 --- /dev/null +++ b/.calkit/notebooks/executed/analysis/test-latex.ipynb @@ -0,0 +1,129 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "ddf92cde", + "metadata": { + "papermill": { + "duration": null, + "end_time": null, + "exception": null, + "start_time": null, + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import os\n", + "import shutil\n", + "import subprocess\n", + "\n", + "print(shutil.which(\"latex\"))\n", + "print(os.environ[\"PATH\"])\n", + "\n", + "# subprocess.run([\"latex\", \"--version\"], check=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd4e8d5a", + "metadata": { + "papermill": { + "duration": null, + "end_time": null, + "exception": null, + "start_time": null, + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import sys\n", + "from pathlib import Path\n", + "HERE = Path.cwd().resolve()\n", + "utils_path = str((HERE / \"sea-lab-utils\").resolve())\n", + "# Define the path to the directory containing the package\n", + "if utils_path not in sys.path:\n", + " sys.path.insert(0, utils_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c14e4a4", + "metadata": { + "papermill": { + "duration": null, + "end_time": null, + "exception": null, + "start_time": null, + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# Now you can import from the folder structure\n", + "# Assuming 'pyplotutilities' is a folder inside 'sea-lab-utils'\n", + "from pyplotutilities import colors\n", + "from pyplotutilities import fonts\n", + "colors.get_colors()\n", + "print(colors.purple)\n", + "fonts.get_fonts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1000b71d", + "metadata": { + "papermill": { + "duration": null, + "end_time": null, + "exception": null, + "start_time": null, + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# import matplotlib.pyplot as plt\n", + "# fig, ax = plt.subplots()\n", + "# ax.plot([1, 2, 3], [1, 4, 9], color=colors.purple, label='Quadratic')\n", + "# ax.set_title('Sample Plot')\n", + "# ax.set_xlabel('$\\mathbf{X}$-axis')\n", + "# ax.set_ylabel('$\\phi$')\n", + "#fig.savefig('sample_plot.pdf', format='pdf', dpi=300, bbox_inches='tight')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "openflash: openflash-on-branch-tex", + "language": "python", + "name": "openflash.openflash-on-branch-tex" + }, + "language_info": { + "name": "python" + }, + "papermill": { + "default_parameters": {}, + "duration": 0.24489, + "end_time": "2026-06-15T06:15:48.022778+00:00", + "environment_variables": {}, + "exception": null, + "input_path": "analysis/test-latex.ipynb", + "output_path": ".calkit/notebooks/executed/analysis/test-latex.ipynb", + "parameters": {}, + "start_time": "2026-06-15T06:15:47.777888+00:00", + "version": "2.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index a422ebb0..84b22a49 100644 --- a/dvc.lock +++ b/dvc.lock @@ -351,23 +351,23 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 2d6e769bc12ec810ac90db807e6f67f8 - size: 109739 + md5: 6895dee1dac752382da7af0c6c7def70 + size: 109740 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: c3f88b08123dc003ab69c1eec0a6f26d + md5: 30d4b18ebba7d1a84e2c6c795a7b754c size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: e132c7a49e29719fe641b991a654e43f + md5: 2a9f8893ff202b15c75651f2afdda96d size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 6c1a4b9eb957811874954e0446183183 + md5: 420d989430ff3db2c829f58047a50893 size: 9857 convergence-figs: cmd: calkit nb execute --environment openflash-on-branch --no-check --to @@ -423,11 +423,11 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: e8888fd96755e5030d3014d9bd68cbd6 + md5: 205e0a2155824b8f5c026cac3688bce5 size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: 5ce3358b688387020fd262d294b53d41 + md5: e450d92f12cbb9c97ca75fc167254819 size: 11873 test-latex: cmd: calkit nb execute --environment openflash-on-branch --no-check --to From 8d8df3626000f6269cb4c784c7b1f09e8db85ccf Mon Sep 17 00:00:00 2001 From: Pete Bachant Date: Mon, 15 Jun 2026 08:00:13 -0700 Subject: [PATCH 47/48] Update to allow running TeX/matplotlib Docker env on arm64 --- .Dockerfile | 36 +++++++++++++++++++++++++++++---- analysis/environment-branch.yml | 6 ++++++ 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/.Dockerfile b/.Dockerfile index 46e4e789..9588118c 100644 --- a/.Dockerfile +++ b/.Dockerfile @@ -13,9 +13,37 @@ COPY README.md /tmp/README.md COPY LICENSE /tmp/LICENSE COPY CITATION.cff /tmp/CITATION.cff -RUN mamba env create \ - -n openflash.openflash-on-branch-tex \ - -f /tmp/analysis/environment-branch.yml +# Build the Conda environment in three phases to work around the absence of +# libquadmath on aarch64: no native libquadmath package exists for arm64, yet +# gfortran still emits -lquadmath, which breaks capytaine's from-source build +# (capytaine ships no arm64 wheel). +# +# 1. Create the environment with the Conda packages only (strip the pip +# section), which installs the compiler toolchain. +RUN sed '/^[[:space:]]*- pip:/,$d' /tmp/analysis/environment-branch.yml \ + > /tmp/analysis/environment-nopip.yml \ + && mamba env create \ + -n openflash.openflash-on-branch-tex \ + -f /tmp/analysis/environment-nopip.yml + +# 2. If libquadmath is missing (i.e. on aarch64), drop an empty stub into the +# env so the linker is satisfied. capytaine references no quadmath symbols, +# and Conda links extensions with an rpath to $CONDA_PREFIX/lib, so the stub +# resolves at both link and run time. +RUN mamba run -n openflash.openflash-on-branch-tex bash -c '\ + if [ ! -e "$CONDA_PREFIX/lib/libquadmath.so" ]; then \ + echo "void __quadmath_stub(void){}" > /tmp/quadmath_stub.c \ + && "$CC" -shared -fPIC -Wl,-soname,libquadmath.so.0 \ + -o "$CONDA_PREFIX/lib/libquadmath.so.0" /tmp/quadmath_stub.c \ + && ln -sf libquadmath.so.0 "$CONDA_PREFIX/lib/libquadmath.so" \ + && rm /tmp/quadmath_stub.c; \ + fi' + +# 3. Install the pip packages; capytaine compiles its Fortran extension against +# the stub. +RUN mamba env update \ + -n openflash.openflash-on-branch-tex \ + -f /tmp/analysis/environment-branch.yml ENV PATH=/opt/conda/envs/openflash.openflash-on-branch-tex/bin:$PATH @@ -48,4 +76,4 @@ ENV XDG_CONFIG_HOME=/tmp/home/.config ENV MPLCONFIGDIR=/tmp/matplotlib ENV JUPYTER_DATA_DIR=/tmp/jupyter -CMD ["bash"] \ No newline at end of file +CMD ["bash"] diff --git a/analysis/environment-branch.yml b/analysis/environment-branch.yml index 6a0f2b97..31a50acd 100644 --- a/analysis/environment-branch.yml +++ b/analysis/environment-branch.yml @@ -15,6 +15,12 @@ dependencies: - streamlit - ipykernel - seaborn + # Compiler toolchain so pip can build capytaine's Fortran extension from + # source (no prebuilt arm64 wheel exists). Sets CC/FC during env activation. + # Note: on aarch64 these don't provide libquadmath, which gfortran still + # links against; .Dockerfile supplies an empty stub to satisfy the linker. + - c-compiler + - fortran-compiler - pip: - capytaine - -e .. From ac0d31e4dab81f6fdb4db43da1b7294b737b47cf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 21:42:09 +0000 Subject: [PATCH 48/48] Run pipeline --- .../openflash-on-branch-tex/amd64.json | 48 +-- .../executed/analysis/test-latex.ipynb | 106 +++-- ...5-51-da008441b6dc493297c010fb212c7213.json | 380 ++++++++++++++++++ ...14d81befde938a7a41fe5568af136c21fd7bf.json | 28 ++ dvc.lock | 249 ++++++------ 5 files changed, 638 insertions(+), 173 deletions(-) create mode 100644 .calkit/runs/2026-06-15T21-35-51-da008441b6dc493297c010fb212c7213.json create mode 100644 .calkit/systems/ab614d81befde938a7a41fe5568af136c21fd7bf.json diff --git a/.calkit/env-locks/openflash-on-branch-tex/amd64.json b/.calkit/env-locks/openflash-on-branch-tex/amd64.json index 538c49f4..7ce393aa 100644 --- a/.calkit/env-locks/openflash-on-branch-tex/amd64.json +++ b/.calkit/env-locks/openflash-on-branch-tex/amd64.json @@ -8,34 +8,36 @@ "RootFS": { "Type": "layers", "Layers": [ - "sha256:abebb53bff61953e65b46dbda5a22dc58a129f4ab8ee6f9dce086f7cdfbceb99", - "sha256:95041faa93c136b39b8bc87c7dd3165062657e7d800e24cfd5fec11cdc3571ca", - "sha256:2807514102d5c628707dd8ad3a3bcd34e29a3cb12ca665aa7257ba3734b2d042", + "sha256:4d416f5802b27e35b72bc7cf23b9a0135b5810f321b33213976f7b6e603004e2", + "sha256:1d70e638e6fc47166ab7f99695374817b8bd1a4f76f6855add9723e5d4600ad8", + "sha256:f6abbfcb16d15267190636a64d129388c1017c63e0ba88d6645cc7e2ba96cf71", "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef", - "sha256:3f4921c5fb9da515e989a8161bfeafc13cde65a78383e490b073b0bcd3c7f5af", - "sha256:b0f421ab29458ce669b9cec526b66d103f9121bea60dd57a00772d160bdd1f69", - "sha256:6d9bd5b935f302e6cb87ded2e2b82d7ebde6481f77da81ba463d786a850fd0f3", - "sha256:0501335b0a75af9b0fc7821ee7d48310210be38bce21047d56138de3d54f9172", - "sha256:06a9f13df64a1ca8e621660ddc006ca65b48f6786c2cf2a8aec885d0a87dd65c", - "sha256:4eef5163408e71dff5b637d59516a0eff231c42397797179afed8897e050fb32", - "sha256:f5507661f0833953a5ad4eda984de467880d0272d9cdbe7bd162556e2d9e8dde", - "sha256:1ae27e0bf52bd7f76ddcd88589cd8aa48c81f7ff6f6e58ba8da2caed46e1f7f7", - "sha256:d482a1e8ae4f6658f3b7f8a264ec768aa28d57e03d5ce329addfd27957678ffe", - "sha256:c86fb8466c4a79930416619805f46aa6aec5c70a6984a3fd43a037c9ff5d354d", - "sha256:7c9b3fdac8919ebbb8caf8ba8b7ff525aa722fb0a1b2fd1d29cbf1c3bc5df78f", - "sha256:5e26d5b23ad0b5c27eccfa33cce3087c1fc2eee397d8164837ba9cfb5d542347", - "sha256:035d8f1435621fbdc05213d915a122ec88011d79f6f9bbcf2b22ab55080029f4", - "sha256:35099672726836292c0b5f5b5d0662dd700dec97994590b39468e38320af1c20", - "sha256:fa61db8f0ef87ee2d637dff020b00e89a2dacbe0ce60bf394f7e1bff89317cd4", - "sha256:8b9306be2becfd24ebb6b94c5b82bcf19e9e2548e3f7fd85a105089845bd847a", - "sha256:4b49900705df0c8e3debe4b2c5e2b9ff53c88c2bfede5fd8b2a8bab5d5ee9d26", - "sha256:6eab6a3eca267bb8081c5430d798bf85e0c1649a93895e943b97edcdf5c7cfd0", + "sha256:084a300d9aa225c7c8dddcf1f4b52943962a71f5293bfe315fb45b4979b26d98", + "sha256:94341c5a851fa791ecf9496f0d4b80d81d358681972644d599b088683ea29f60", + "sha256:64a8268e4aa9457c8301cc85de712ae83298f3cb67bd9e4e69a8b687e854963b", + "sha256:da4b7294439259ab23e03a525267ddfb3fda5dcf90094ca1657a402fcefdc76a", + "sha256:498fe8fca7f3a287f0e2d91505c4e2576f243fcf18175b0ee0b9a1bc64f8d340", + "sha256:0d1f4606c616748fae54b09ff503ad65a71d78f2fcd5b021fe0687620df8ea2f", + "sha256:081d458749d39610b2a48b06865f1dc02c33881b2eef43d92340bd1d9f7baf05", + "sha256:dd2cbea58177687881831968274f139b28a824be1b62d511d1dafa6bcf07c7bb", + "sha256:76b11e3c8b4ed6ba20c6f9c9d2a730fc43dff6dee005a328a2c9d50478bfd2ed", + "sha256:09d66d49f79d73649ee359f0e779424bf1ad2ae39e0cf6a2ca549ead8c72ea7b", + "sha256:5f0703082b86eda911eeeb51dad3bad9edb031dd036f7c2ff1741a6f9a8d5f48", + "sha256:57c7c0264d0699c6e96bff84a05897a7ec2f2858c59f5027c6d1a9dfe99ddb66", + "sha256:7000b23019a134e7b1d0bdb2fb2e5bf2117feb6bc3b660d65388c74df7c3a241", + "sha256:4c92e5e694696c39f1fbc9404a87c32e8fe8fec5f726bddde89911af56e8844a", + "sha256:69df376923a6706959fc106e1baeb3c4b1c3d41df6a090ef79046511490c4dde", + "sha256:5397c133875e96b819e46b889469d637e3821052f15f209b1ccb55369b8ac897", + "sha256:5ad73e56b66b7cf5f680a53edaf1188f76cfa8cc5f2bb5bc56b77d1d4622250c", + "sha256:48a6ff8201487f933d23983f02a3bdf238a1f0fae8fbfab065728b5b8848227e", + "sha256:957ef72c745080f61639ca84baaefe26f25d857b9e37a0caa98946f02cd033c3", + "sha256:033aa7700526dc25d2e8c8f2b4313a7d5c77f6ed154f0d02d3445ed75f2a9b1b", "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" ] }, - "DockerfileMD5": "dee035dd110ac89ba9b0208f6f6faa9f", + "DockerfileMD5": "8930fae8c7fef0feb3311446fba042be", "DepsMD5s": { - "analysis/environment-branch.yml": "b0dee0e031e8d2e208fb88b89416b7a8", + "analysis/environment-branch.yml": "4be82009aeae596a40be0248e15d2f2f", "package/src": "fb1d513041f63ba9e0fd9703f43b59ac", "pyproject.toml": "c036c82893293e1fa9eae68f5731d451", "README.md": "d4ecb4e9de12fcfac2094778ad29fbf5", diff --git a/.calkit/notebooks/executed/analysis/test-latex.ipynb b/.calkit/notebooks/executed/analysis/test-latex.ipynb index 58c9e019..efc7a237 100644 --- a/.calkit/notebooks/executed/analysis/test-latex.ipynb +++ b/.calkit/notebooks/executed/analysis/test-latex.ipynb @@ -2,19 +2,34 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "ddf92cde", "metadata": { + "execution": { + "iopub.execute_input": "2026-06-15T21:41:44.137328Z", + "iopub.status.busy": "2026-06-15T21:41:44.137142Z", + "iopub.status.idle": "2026-06-15T21:41:44.141533Z", + "shell.execute_reply": "2026-06-15T21:41:44.140508Z" + }, "papermill": { - "duration": null, - "end_time": null, - "exception": null, - "start_time": null, + "duration": 0.0071, + "end_time": "2026-06-15T21:41:44.142215+00:00", + "exception": false, + "start_time": "2026-06-15T21:41:44.135115+00:00", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/usr/bin/latex\n", + "/opt/conda/envs/openflash.openflash-on-branch-tex/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n" + ] + } + ], "source": [ "import os\n", "import shutil\n", @@ -28,14 +43,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "fd4e8d5a", "metadata": { + "execution": { + "iopub.execute_input": "2026-06-15T21:41:44.145388Z", + "iopub.status.busy": "2026-06-15T21:41:44.145236Z", + "iopub.status.idle": "2026-06-15T21:41:44.148587Z", + "shell.execute_reply": "2026-06-15T21:41:44.147862Z" + }, "papermill": { - "duration": null, - "end_time": null, - "exception": null, - "start_time": null, + "duration": 0.005804, + "end_time": "2026-06-15T21:41:44.149337+00:00", + "exception": false, + "start_time": "2026-06-15T21:41:44.143533+00:00", "status": "completed" }, "tags": [] @@ -53,19 +74,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "9c14e4a4", "metadata": { + "execution": { + "iopub.execute_input": "2026-06-15T21:41:44.152209Z", + "iopub.status.busy": "2026-06-15T21:41:44.152035Z", + "iopub.status.idle": "2026-06-15T21:41:45.237623Z", + "shell.execute_reply": "2026-06-15T21:41:45.236632Z" + }, "papermill": { - "duration": null, - "end_time": null, - "exception": null, - "start_time": null, + "duration": 1.087907, + "end_time": "2026-06-15T21:41:45.238311+00:00", + "exception": false, + "start_time": "2026-06-15T21:41:44.150404+00:00", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "#CC79A7\n" + ] + } + ], "source": [ "# Now you can import from the folder structure\n", "# Assuming 'pyplotutilities' is a folder inside 'sea-lab-utils'\n", @@ -78,14 +113,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "1000b71d", "metadata": { + "execution": { + "iopub.execute_input": "2026-06-15T21:41:45.241716Z", + "iopub.status.busy": "2026-06-15T21:41:45.241481Z", + "iopub.status.idle": "2026-06-15T21:41:45.244416Z", + "shell.execute_reply": "2026-06-15T21:41:45.243621Z" + }, "papermill": { - "duration": null, - "end_time": null, - "exception": null, - "start_time": null, + "duration": 0.005408, + "end_time": "2026-06-15T21:41:45.245009+00:00", + "exception": false, + "start_time": "2026-06-15T21:41:45.239601+00:00", "status": "completed" }, "tags": [] @@ -104,23 +145,32 @@ ], "metadata": { "kernelspec": { - "display_name": "openflash: openflash-on-branch-tex", + "display_name": "python3", "language": "python", - "name": "openflash.openflash-on-branch-tex" + "name": "python3" }, "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" }, "papermill": { "default_parameters": {}, - "duration": 0.24489, - "end_time": "2026-06-15T06:15:48.022778+00:00", + "duration": 2.395901, + "end_time": "2026-06-15T21:41:45.460738+00:00", "environment_variables": {}, "exception": null, "input_path": "analysis/test-latex.ipynb", "output_path": ".calkit/notebooks/executed/analysis/test-latex.ipynb", "parameters": {}, - "start_time": "2026-06-15T06:15:47.777888+00:00", + "start_time": "2026-06-15T21:41:43.064837+00:00", "version": "2.7.0" } }, diff --git a/.calkit/runs/2026-06-15T21-35-51-da008441b6dc493297c010fb212c7213.json b/.calkit/runs/2026-06-15T21-35-51-da008441b6dc493297c010fb212c7213.json new file mode 100644 index 00000000..0405abe6 --- /dev/null +++ b/.calkit/runs/2026-06-15T21-35-51-da008441b6dc493297c010fb212c7213.json @@ -0,0 +1,380 @@ +{ + "id": "da008441b6dc493297c010fb212c7213", + "system_id": "ab614d81befde938a7a41fe5568af136c21fd7bf", + "start_time": "2026-06-15T21:35:51.237401+00:00", + "end_time": "2026-06-15T21:41:50.337229+00:00", + "targets": [], + "force": false, + "dvc_args": [ + "--keep-going" + ], + "status": "completed", + "stages": { + "validate-w-capy": { + "start_time": "2026-06-15T21:35:52.205000", + "end_time": "2026-06-15T21:36:55.505000", + "status": "completed" + }, + "low-m0-figs": { + "start_time": "2026-06-15T21:36:55.505000", + "end_time": "2026-06-15T21:37:51.088000", + "status": "completed" + }, + "slant-figs": { + "start_time": "2026-06-15T21:37:51.088000", + "end_time": "2026-06-15T21:39:28.047000", + "status": "completed" + }, + "timing-figs": { + "start_time": "2026-06-15T21:39:28.047000", + "end_time": "2026-06-15T21:40:12.818000", + "status": "completed" + }, + "convergence-figs": { + "start_time": "2026-06-15T21:40:12.818000", + "end_time": "2026-06-15T21:41:14.276000", + "status": "completed" + }, + "sparsity-figs": { + "start_time": "2026-06-15T21:41:14.276000", + "end_time": "2026-06-15T21:41:26.254000", + "status": "completed" + }, + "graphical-abstract": { + "start_time": "2026-06-15T21:41:26.254000", + "end_time": "2026-06-15T21:41:28.270000", + "status": "completed" + }, + "compile-overleaf": { + "start_time": "2026-06-15T21:41:28.270000", + "end_time": "2026-06-15T21:41:36.433000", + "status": "completed" + }, + "test-latex": { + "start_time": "2026-06-15T21:41:36.433000" + } + }, + "git_rev": "7c78b1ad513f416d8c76a689bf9b840a307f456e", + "git_branch": "workflow-macos", + "git_changed_files_before": [ + ".calkit/env-locks/openflash-on-branch-tex/amd64.json" + ], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/ab614d81befde938a7a41fe5568af136c21fd7bf.json" + ], + "git_changed_files_after": [ + ".calkit/env-locks/openflash-on-branch-tex/amd64.json", + ".calkit/notebooks/executed/analysis/test-latex.ipynb", + "analysis/convergence-results.ipynb", + "analysis/low_m0_plots.ipynb", + "analysis/slant_data_plots.ipynb", + "analysis/test-latex.ipynb", + "analysis/timing_plots.ipynb", + "analysis/validation_with_capytaine_plots.ipynb" + ], + "git_staged_files_after": [ + "dvc.lock" + ], + "git_untracked_files_after": [ + ".calkit/systems/ab614d81befde938a7a41fe5568af136c21fd7bf.json" + ], + "dvc_status_before": { + "validate-w-capy": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "modified" + } + }, + "changed command" + ], + "low-m0-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb": "modified", + "package/src": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "modified" + } + }, + "changed command" + ], + "slant-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "modified" + } + }, + "changed command" + ], + "timing-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/timing_plots.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "modified" + } + }, + "changed command" + ], + "convergence-figs": [ + { + "changed deps": { + ".calkit/notebooks/cleaned/analysis/convergence-results.ipynb": "modified", + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "modified" + } + }, + "changed command" + ], + "sparsity-figs": [ + { + "changed outs": { + "pubs/JFM/figs/A_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/B_sparsity_plot.pdf": "not in cache", + "pubs/JFM/figs/C_sparsity_plot.pdf": "not in cache", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb": "not in cache", + ".calkit/notebooks/html/analysis/sparsity_plots.html": "not in cache" + } + } + ], + "test-latex": [ + { + "changed deps": { + "analysis/sea-lab-utils": "modified", + ".calkit/env-locks/openflash-on-branch-tex": "modified" + } + }, + { + "changed outs": { + ".calkit/notebooks/executed/analysis/test-latex.ipynb": "modified", + ".calkit/notebooks/html/analysis/test-latex.html": "not in cache" + } + }, + "changed command" + ], + "graphical-abstract": [ + { + "changed outs": { + "pubs/JFM/figs/graph_abstract.pdf": "not in cache", + "pubs/JFM/figs/graph_abstract.log": "not in cache" + } + } + ], + "compile-overleaf": [ + { + "changed deps": { + "pubs/JFM/figs": "modified", + "pubs/JFM/jfm-appendix.tex": "modified", + ".calkit/env-locks/tex": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + ".calkit/notebooks/html/analysis/test-latex.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ], + "not_in_remote": [], + "committed": {}, + "uncommitted": { + "deleted": [ + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + ".calkit/notebooks/html/analysis/test-latex.html", + "pubs/JFM/figs/A_sparsity_plot.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/graph_abstract.pdf" + ] + }, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "pubs/JFM/FLMguide.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + "pubs/JFM/figs/asymptotic_b.png", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + ".calkit/notebooks/html/analysis/timing_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/prediction/data/", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "dev/python/convergence-study/RM3/data/", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "pubs/JFM/figs/Along-Outline.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "analysis/data/", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + ".calkit/notebooks/html/analysis/convergence-results.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "pubs/JFM/figs/Vary-Slopes.pdf", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "pubs/JFM/figs/Matching_Diagram.pdf", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl" + ] + }, + "dvc_status_after": {}, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "modified": [ + "pubs/JFM/FLMguide.pdf", + "pubs/JFM/figs/Vary-Slopes.pdf", + "pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf", + "pubs/JFM/figs/convergence-fit-assessment.pdf", + "pubs/JFM/figs/MEEM-Comp-Distribution.pdf", + "pubs/JFM/figs/alpha-beta-explanation.pdf", + "pubs/JFM/figs/MEEM-Low-Freq.pdf", + "pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf", + "pubs/JFM/figs/graph_abstract.log", + "pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf", + "pubs/JFM/figs/alpha-beta-to-trend.pdf", + "pubs/JFM/figs/B_sparsity_plot.pdf", + "pubs/JFM/figs/Along-Outline.pdf", + "pubs/JFM/figs/graph_abstract.pdf", + "pubs/JFM/figs/C_sparsity_plot.pdf", + "pubs/JFM/figs/Cross-Section-Potential-Slant.pdf", + "pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf", + "pubs/JFM/figs/A_sparsity_plot.pdf", + ".calkit/notebooks/html/analysis/low_m0_plots.html", + ".calkit/notebooks/html/analysis/test-latex.html", + ".calkit/notebooks/html/analysis/slant_data_plots.html", + ".calkit/notebooks/html/analysis/validation_with_capytaine_plots.html", + ".calkit/notebooks/html/analysis/timing_plots.html", + ".calkit/notebooks/html/analysis/convergence-results.html", + ".calkit/notebooks/executed/analysis/sparsity_plots.ipynb", + ".calkit/notebooks/executed/analysis/timing_plots.ipynb", + ".calkit/notebooks/executed/analysis/low_m0_plots.ipynb", + ".calkit/notebooks/executed/analysis/convergence-results.ipynb", + ".calkit/notebooks/executed/analysis/slant_data_plots.ipynb", + ".calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb" + ] + }, + "uncommitted": {}, + "untracked": [], + "unchanged": [ + "dev/python/convergence-study/i-region-convergence/all-regions/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h55_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/middle-region/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h51_convergence_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h80_convergence_data.pkl", + "dev/python/slants/a-matrix-b-vector-changes/data/ps6.pkl", + "dev/python/timing/data/cpt-timing.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_convergence_data.pkl", + "pubs/JFM/figs/asymptotic_b.png", + "dev/python/slants/behavior-with-basic-meem/data/ps3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps5.pkl", + ".calkit/notebooks/html/analysis/sparsity_plots.html", + "dev/python/slants/behavior-with-basic-meem/data/ps5-res-nmk-grid.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2i2i_conv_data.pkl", + "dev/python/convergence-study/prediction/data/", + "dev/python/convergence-study/RM3/data/", + "dev/python/slants/potential-visualizer/data/capytaine-point-values.pkl", + "dev/python/convergence-study/i-region-convergence/innermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_ii2i_conv_data.pkl", + "analysis/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-all-configs-res-nmk.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h52_convergence_data.pkl", + "dev/python/convergence-study/i-region-convergence/outermost-region/data/", + "dev/python/convergence-study/early-work/nmk-per-region-data/h35_convergence_data.pkl", + "dev/python/slants/correcting-through-hydros/data/m3.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_2ii2i_conv_data.pkl", + "pubs/JFM/figs/slant_figures.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/h53_convergence_data.pkl", + "pubs/JFM/figs/Multi_MEEM_Diagram.pdf", + "dev/python/convergence-study/e-region-convergence/data/", + "dev/python/slants/behavior-with-basic-meem/data/ps4-convergence-to-nmk-100.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i4ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3i3i_conv_data.pkl", + "dev/python/convergence-study/neighbor-convergence-effects/outermost-e-neighbors/data/", + "dev/python/convergence-study/region-count-convergence/data/", + "dev/python/limiting-cases/low-m0-capytaine.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i3ii_conv_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-2.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_iii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h56_convergence_data.pkl", + "pubs/JFM/figs/Matching_Diagram.pdf", + "pubs/JFM/figs/discretization_scheme_diagrams.pdf", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h54_convergence_data.pkl", + "dev/python/slants/behavior-with-basic-meem/data/ps4-nmk-convergence-at-res-50.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h65_convergence_data.pkl", + "dev/python/slants/pure-capytaine/data/cpt-slant-variations-1.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_i2ii_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/h50_ii2i_conv_data.pkl", + "dev/python/convergence-study/early-work/nmk-per-region-data/small_bicylinder_2iii_conv_data.pkl" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/ab614d81befde938a7a41fe5568af136c21fd7bf.json b/.calkit/systems/ab614d81befde938a7a41fe5568af136c21fd7bf.json new file mode 100644 index 00000000..8d86d3ff --- /dev/null +++ b/.calkit/systems/ab614d81befde938a7a41fe5568af136c21fd7bf.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "6.17.0-1018-azure", + "python_version": "3.12.3", + "calkit_version": "0.41.17", + "calkit_git_rev": null, + "hostname": "runnervm1li68", + "processor": "x86_64", + "platform": "Linux-6.17.0-1018-azure-x86_64-with-glibc2.39", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 13.3.0", + "memory_gb": 15.614948272705078, + "cpu_count": 4, + "node_id": 147239930664, + "git_version": "git version 2.54.0", + "docker_version": "Docker version 28.0.4, build b8034c0", + "conda_version": "conda 26.3.2", + "mamba_version": null, + "uv_version": "uv 0.11.21 (x86_64-unknown-linux-gnu)", + "pixi_version": null, + "Rscript_version": null, + "juliaup_version": null, + "julia_version": "julia version 1.12.6", + "apt_version": "apt 2.8.3 (amd64)", + "yum_version": null, + "id": "ab614d81befde938a7a41fe5568af136c21fd7bf" +} \ No newline at end of file diff --git a/dvc.lock b/dvc.lock index 84b22a49..96b90272 100644 --- a/dvc.lock +++ b/dvc.lock @@ -24,9 +24,9 @@ stages: deps: - path: .calkit/env-locks/tex hash: md5 - md5: 1d20723629fc752e4776c7e1d6cb328e.dir - size: 1147 - nfiles: 1 + md5: b404863b132f96ede5eaceb8cc787b66.dir + size: 2294 + nfiles: 2 - path: pubs/JFM/FLMguide.tex hash: md5 md5: b18ab48f6a2a2b07053d9fad57307dfa @@ -45,13 +45,13 @@ stages: size: 3942 - path: pubs/JFM/figs/ hash: md5 - md5: 946c4054a6e3f57f6370510717616bb1.dir - size: 3030216 - nfiles: 30 + md5: 02e8935adcb25ade89b1d8bbbfe696ee.dir + size: 3057061 + nfiles: 34 - path: pubs/JFM/jfm-appendix.tex hash: md5 - md5: 52770e0cffdb81b9601fd8a08032dd55 - size: 29074 + md5: 59854076d75ccb3d68e204bbe2b302cc + size: 28854 - path: pubs/JFM/jfm.bib hash: md5 md5: 94debb13be1e536dfceb909122f78e97 @@ -71,36 +71,41 @@ stages: outs: - path: pubs/JFM/FLMguide.pdf hash: md5 - md5: 8a85411ba9f03859b8c4a6fd6079f03e - size: 1471009 + md5: 5bd4911566aa33441471766e9c2678a5 + size: 1470985 validate-w-capy: - cmd: calkit nb execute --environment openflash-on-branch --no-check --to + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/validation_with_capytaine_plots.ipynb" deps: - - path: .calkit/env-locks/openflash-on-branch + - path: .calkit/env-locks/openflash-on-branch-tex hash: md5 - md5: 6fee7550c7f8d298fc987043523e190e.dir - size: 9764 + md5: ac0655df47557fc89aae3e74f4e0cbab.dir + size: 2838 nfiles: 1 - path: .calkit/notebooks/cleaned/analysis/validation_with_capytaine_plots.ipynb hash: md5 - md5: cb24277a46743be663ca11d97c5ccc66 - size: 29270 + md5: e592214a6e8b43b22060431f6412ad04 + size: 29261 + - path: analysis/sea-lab-utils + hash: md5 + md5: 22cff2f89b0191c779029f1a327c6977.dir + size: 16569 + nfiles: 22 outs: - path: .calkit/notebooks/executed/analysis/validation_with_capytaine_plots.ipynb hash: md5 - md5: f5d56751fbddd58583df31cab8f4fe56 - size: 874326 + md5: 229bce83cf419734d521652aae41bddf + size: 874832 - path: .calkit/notebooks/html/analysis/validation_with_capytaine_plots.html hash: md5 - md5: db1b9525ad6d75cd4bd6742934de5917 - size: 1191408 + md5: bae0db1cffa14d6a90af0fa41a4a997e + size: 1199208 - path: pubs/JFM/figs/MEEM_vs_Capytaine_Nonslant_Validation.pdf hash: md5 - md5: ac37fee7716bda0ff7e4f4cb62823d2a - size: 167991 + md5: 49df974ed2886c24daa885d4b452d935 + size: 167999 _check-env-openflash-on-branch: cmd: calkit check environment --name openflash-on-branch deps: @@ -174,45 +179,45 @@ stages: md5: 6a832537745ca618c89db30ddffa8e5d size: 11041 low-m0-figs: - cmd: calkit nb execute --environment openflash-on-branch --no-check --to + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/low_m0_plots.ipynb" deps: - - path: .calkit/env-locks/openflash-on-branch + - path: .calkit/env-locks/openflash-on-branch-tex hash: md5 - md5: 6fee7550c7f8d298fc987043523e190e.dir - size: 9764 + md5: ac0655df47557fc89aae3e74f4e0cbab.dir + size: 2838 nfiles: 1 - path: .calkit/notebooks/cleaned/analysis/low_m0_plots.ipynb hash: md5 - md5: b4dbb74d88dfa46140698a49a87947d4 - size: 11593 + md5: ea093bc530b8589101fad2355fc53a04 + size: 11584 + - path: analysis/sea-lab-utils + hash: md5 + md5: 22cff2f89b0191c779029f1a327c6977.dir + size: 16569 + nfiles: 22 - path: dev/python/limiting-cases/low_m0.py hash: md5 md5: 14c26f7e714c57e0de0a9b507a4a8091 size: 5745 - path: package/src/ hash: md5 - md5: d5e40e2f0a2e7b547d3e8ec700c6a269.dir - size: 228300 - nfiles: 27 - - path: sea-lab-utils - hash: md5 - md5: bee8da5063bc568e5251764466d97f5c.dir - size: 18456 - nfiles: 24 + md5: d4d82c0b73d7851bdad2f7252251875f.dir + size: 92043 + nfiles: 11 outs: - path: .calkit/notebooks/executed/analysis/low_m0_plots.ipynb hash: md5 - md5: a8547653d62e3711ba5ed8ee05f647d3 - size: 79695 + md5: ceab0818f0ad6834560c42b96c46f66f + size: 80405 - path: .calkit/notebooks/html/analysis/low_m0_plots.html hash: md5 - md5: f523c9b99747fc1d795116283f48806a - size: 384476 + md5: d7c4a98d2188c5ecd90f1a123bdcc059 + size: 392480 - path: pubs/JFM/figs/MEEM-Low-Freq.pdf hash: md5 - md5: 2642f708fe85c22730dd626452dd3ac8 - size: 402985 + md5: 1275e1c8bd4a42bb2a95f9571098ecbc + size: 402979 _clean-nb-slant-figs: cmd: calkit nb clean "analysis/slant_data_plots.ipynb" deps: @@ -226,18 +231,18 @@ stages: md5: d0f3626ddf4a5f876f6e028ec1ea5ca4 size: 10931 slant-figs: - cmd: calkit nb execute --environment openflash-on-branch --no-check --to + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/slant_data_plots.ipynb" deps: - - path: .calkit/env-locks/openflash-on-branch + - path: .calkit/env-locks/openflash-on-branch-tex hash: md5 - md5: 6fee7550c7f8d298fc987043523e190e.dir - size: 9764 + md5: ac0655df47557fc89aae3e74f4e0cbab.dir + size: 2838 nfiles: 1 - path: .calkit/notebooks/cleaned/analysis/slant_data_plots.ipynb hash: md5 - md5: effb86232aa402753c74bf7fd4ffaa1a - size: 44500 + md5: 86dbc507ee974a6d95b27bc18c2a2391 + size: 44491 - path: analysis/data/potential-slants.pkl hash: md5 md5: 31cd3c8c05c5951db5f91ef631c166a0 @@ -250,36 +255,36 @@ stages: hash: md5 md5: 3cb581a4d2a2774c678c1ab000b5bcdc size: 6664 - - path: sea-lab-utils + - path: analysis/sea-lab-utils hash: md5 - md5: bee8da5063bc568e5251764466d97f5c.dir - size: 18456 - nfiles: 24 + md5: 22cff2f89b0191c779029f1a327c6977.dir + size: 16569 + nfiles: 22 outs: - path: .calkit/notebooks/executed/analysis/slant_data_plots.ipynb hash: md5 - md5: e0dec938a208e9500fa799ed8031c277 - size: 469931 + md5: b8dd48656232d88cce9c239f0e1fb7cf + size: 470469 - path: .calkit/notebooks/html/analysis/slant_data_plots.html hash: md5 - md5: 9a3e09badb1f42fa46c4e3676fe17de2 - size: 881760 + md5: e4d8ac76a00d535d17dae63d9c16fc79 + size: 889593 - path: pubs/JFM/figs/Along-Outline.pdf hash: md5 - md5: d7bdf9c9285573974252d475e3cf8a79 - size: 109531 + md5: 9cc71561d25519436159c2f39b3c2925 + size: 109525 - path: pubs/JFM/figs/Cross-Section-Potential-Slant.pdf hash: md5 - md5: 03325e72175cbeffe3a038a6efe86794 - size: 363449 + md5: 5f66e7d5d77d0f9c53d737b29f8760e8 + size: 363443 - path: pubs/JFM/figs/MEEM-CPT-Slant-Freq.pdf hash: md5 - md5: 87632752d88b4acd04e25368ff5541ea - size: 137300 + md5: 0a995f31d8f77e5c04e919121923342d + size: 137294 - path: pubs/JFM/figs/Vary-Slopes.pdf hash: md5 - md5: d870c74ff963d9b5d0ac909657d86f31 - size: 178446 + md5: e4b4fc6d45dcf5164714e1f79ef4c8b4 + size: 178440 _clean-nb-timing-figs: cmd: calkit nb clean "analysis/timing_plots.ipynb" deps: @@ -293,48 +298,48 @@ stages: md5: 6b1b55ca488e86706de62d5caab79a13 size: 20403 timing-figs: - cmd: calkit nb execute --environment openflash-on-branch --no-check --to + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/timing_plots.ipynb" deps: - - path: .calkit/env-locks/openflash-on-branch + - path: .calkit/env-locks/openflash-on-branch-tex hash: md5 - md5: 6fee7550c7f8d298fc987043523e190e.dir - size: 9764 + md5: ac0655df47557fc89aae3e74f4e0cbab.dir + size: 2838 nfiles: 1 - path: .calkit/notebooks/cleaned/analysis/timing_plots.ipynb hash: md5 - md5: 3d8acfcba713200795b331612bbb3d1e - size: 22441 + md5: 246e8563b970cb9963fdd816baadc47a + size: 22432 - path: analysis/data/timing.pkl hash: md5 md5: 8f44378ee5eed677e435c38ac905d0af size: 4035 - - path: sea-lab-utils + - path: analysis/sea-lab-utils hash: md5 - md5: bee8da5063bc568e5251764466d97f5c.dir - size: 18456 - nfiles: 24 + md5: 22cff2f89b0191c779029f1a327c6977.dir + size: 16569 + nfiles: 22 outs: - path: .calkit/notebooks/executed/analysis/timing_plots.ipynb hash: md5 - md5: 06854bad21c3244180cab6fba4f884db - size: 358957 + md5: e285e78bfb80cd8c5c7537e022328cdb + size: 358735 - path: .calkit/notebooks/html/analysis/timing_plots.html hash: md5 - md5: 35b5a43d18ba7232476414935e17c72b - size: 699004 + md5: 0a9c6545f1fce6f651868dbf0ea72459 + size: 706070 - path: pubs/JFM/figs/MEEM-CPT-Speed-Comparison.pdf hash: md5 - md5: 045f6fb53f9cb56bdcf6153110d4574d - size: 136511 + md5: 1e9eb7738380bccdf596ec78da5d8fbe + size: 136505 - path: pubs/JFM/figs/MEEM-CPT-Time-Matrix-Comparison.pdf hash: md5 - md5: 136f64c475df70c3a029d8c96d3ea507 - size: 104576 + md5: f3839a8a42af7a0287e670ae1b7380c1 + size: 104570 - path: pubs/JFM/figs/MEEM-Comp-Distribution.pdf hash: md5 - md5: d05d914346cd03a9b4662b36903a423d - size: 137530 + md5: c58f151d7213e12e807a43c0bc4caa97 + size: 137524 sparsity-figs: cmd: calkit nb execute --environment openflash-on-main --no-check --to html "analysis/sparsity_plots.ipynb" @@ -351,63 +356,63 @@ stages: outs: - path: .calkit/notebooks/executed/analysis/sparsity_plots.ipynb hash: md5 - md5: 6895dee1dac752382da7af0c6c7def70 - size: 109740 + md5: b52f7cce4519baf4d43702f3f3c05add + size: 109739 - path: .calkit/notebooks/html/analysis/sparsity_plots.html hash: md5 md5: bdc6bfa41a308a72bb96a6fbde91384a size: 424173 - path: pubs/JFM/figs/A_sparsity_plot.pdf hash: md5 - md5: 30d4b18ebba7d1a84e2c6c795a7b754c + md5: a50e3735d603490c6d452660bdd21829 size: 12555 - path: pubs/JFM/figs/B_sparsity_plot.pdf hash: md5 - md5: 2a9f8893ff202b15c75651f2afdda96d + md5: e96ff0df15997d1299f9cb14d4c0695b size: 9196 - path: pubs/JFM/figs/C_sparsity_plot.pdf hash: md5 - md5: 420d989430ff3db2c829f58047a50893 + md5: 5a1dc95ecb3ca3a5a7d2c5dd3372099e size: 9857 convergence-figs: - cmd: calkit nb execute --environment openflash-on-branch --no-check --to + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/convergence-results.ipynb" deps: - - path: .calkit/env-locks/openflash-on-branch + - path: .calkit/env-locks/openflash-on-branch-tex hash: md5 - md5: 6fee7550c7f8d298fc987043523e190e.dir - size: 9764 + md5: ac0655df47557fc89aae3e74f4e0cbab.dir + size: 2838 nfiles: 1 - path: .calkit/notebooks/cleaned/analysis/convergence-results.ipynb hash: md5 - md5: 8cf6a258c632999e7b933e7dcdff214a - size: 45478 - - path: sea-lab-utils + md5: 4cd2afb7b3d65985bde73850590d2e49 + size: 45469 + - path: analysis/sea-lab-utils hash: md5 - md5: bee8da5063bc568e5251764466d97f5c.dir - size: 18456 - nfiles: 24 + md5: 22cff2f89b0191c779029f1a327c6977.dir + size: 16569 + nfiles: 22 outs: - path: .calkit/notebooks/executed/analysis/convergence-results.ipynb hash: md5 - md5: acf2047d06b687e067222f7d6392dcc6 - size: 232924 + md5: 5445112241e21d97349d2c0f3e1ea977 + size: 232695 - path: .calkit/notebooks/html/analysis/convergence-results.html hash: md5 - md5: ea60e8624fe5133832c957c460f6232c - size: 609842 + md5: bc2f89a8da3403c8acde90f6ff558be9 + size: 616908 - path: pubs/JFM/figs/alpha-beta-explanation.pdf hash: md5 - md5: c5ccd7b1c7f815aeca90c3e5dfc0b0f4 - size: 380172 + md5: 96bb0c76660c0b2a431c06951e936536 + size: 380162 - path: pubs/JFM/figs/alpha-beta-to-trend.pdf hash: md5 - md5: fc2a573dbc4458d901d43f22c3d40ce7 - size: 403400 + md5: 21a70e0dd0c6cb605c684c1bb64a648b + size: 403379 - path: pubs/JFM/figs/convergence-fit-assessment.pdf hash: md5 - md5: e61b9659ab6a5593c1ec1e62f388dd56 - size: 209396 + md5: 5eeba467250e37dd2cf68b7f3534d65b + size: 209390 graphical-abstract: cmd: calkit latex build -e tex --no-check pubs/JFM/figs/graph_abstract.tex deps: @@ -423,36 +428,36 @@ stages: outs: - path: pubs/JFM/figs/graph_abstract.log hash: md5 - md5: 205e0a2155824b8f5c026cac3688bce5 + md5: bd6c96400ddc73af24ef25723bb87d9c size: 16701 - path: pubs/JFM/figs/graph_abstract.pdf hash: md5 - md5: e450d92f12cbb9c97ca75fc167254819 + md5: 0410b888c57ee3da4d4deb1f69979613 size: 11873 test-latex: - cmd: calkit nb execute --environment openflash-on-branch --no-check --to + cmd: calkit nb execute --environment openflash-on-branch-tex --no-check --to html "analysis/test-latex.ipynb" deps: - - path: .calkit/env-locks/openflash-on-branch + - path: .calkit/env-locks/openflash-on-branch-tex hash: md5 - md5: a8531510db7bc090e5af25da030aa542.dir - size: 17106 - nfiles: 2 + md5: ac0655df47557fc89aae3e74f4e0cbab.dir + size: 2838 + nfiles: 1 - path: .calkit/notebooks/cleaned/analysis/test-latex.ipynb hash: md5 md5: 42b2bcc4fc7904f7320328006a722e72 size: 2044 - path: analysis/sea-lab-utils hash: md5 - md5: fe5483576cca8a3c0558dd8ef9be99cc.dir - size: 16633 + md5: 22cff2f89b0191c779029f1a327c6977.dir + size: 16569 nfiles: 22 outs: - path: .calkit/notebooks/executed/analysis/test-latex.ipynb hash: md5 - md5: d81a1eb1c326b1035bda4d6187800181 - size: 5166 + md5: 329a5516b384390108939537b49e0948 + size: 4897 - path: .calkit/notebooks/html/analysis/test-latex.html hash: md5 - md5: a6d4ec3f12588f3a84d335b43b350f19 - size: 282926 + md5: 3044494d054f0b335da1c0bc691d9c3d + size: 282704