Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: wrf-model/WRF
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: WRF-CMake/wrf
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: wrf-cmake
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
Loading
Showing with 5,334 additions and 229 deletions.
  1. +103 −0 .ci/azure-pipelines/matrix.yml
  2. +55 −0 .ci/azure-pipelines/release.yml
  3. +49 −0 .ci/azure-pipelines/unix.yml
  4. +50 −0 .ci/azure-pipelines/wats_diff.yml
  5. +125 −0 .ci/azure-pipelines/wats_plots.yml
  6. +32 −0 .ci/azure-pipelines/wats_run.yml
  7. +38 −0 .ci/azure-pipelines/windows.yml
  8. +7 −0 .ci/unix/Brewfile
  9. +47 −0 .ci/unix/delocate.sh
  10. +38 −0 .ci/unix/dump-vm-specs.sh
  11. +14 −0 .ci/unix/increase-swap-space.sh
  12. +15 −0 .ci/unix/install-wats.sh
  13. +135 −0 .ci/unix/install-wrf.sh
  14. +19 −0 .ci/unix/retry.sh
  15. +38 −0 .ci/unix/run-in-docker.sh
  16. +41 −0 .ci/unix/run-wats.sh
  17. +187 −0 .ci/unix/setup-dependencies.sh
  18. +37 −0 .ci/unix/use-conda.sh
  19. +41 −0 .ci/windows/dump-vm-specs.ps1
  20. +35 −0 .ci/windows/install-netcdf.sh
  21. +13 −0 .ci/windows/install-wrf.bat
  22. +35 −0 .ci/windows/install-wrf.sh
  23. +15 −0 .ci/windows/patch-msmpi-v10.sh
  24. +16 −0 .ci/windows/patch-msmpi-v9.sh
  25. +61 −0 .ci/windows/setup-dependencies.bat
  26. +20 −0 .ci/windows/test-msmpi.sh
  27. +14 −0 .gitattributes
  28. +0 −113 .github/CODEOWNERS
  29. +9 −13 .github/ISSUE_TEMPLATE/bug_report.md
  30. +17 −0 .github/ISSUE_TEMPLATE/feature_request.md
  31. +4 −0 .gitignore
  32. +32 −0 .zenodo.json
  33. +503 −0 CMakeLists.txt
  34. +30 −0 CONTRIBUTING.md
  35. +21 −0 LICENSE_CMAKE.txt
  36. +149 −6 README.md
  37. +10 −0 README_NCAR.md
  38. +14 −0 Registry/CMakeLists.txt
  39. +2 −2 arch/postamble
  40. +26 −0 azure-pipelines-full.yml
  41. +21 −0 azure-pipelines-release.yml
  42. +20 −0 azure-pipelines.yml
  43. +148 −0 cmake/FindNetCDF.cmake
  44. +22 −0 cmake/FindRPC.cmake
  45. +15 −0 cmake/WRFConfig.cmake.in
  46. +66 −0 cmake/WRFHelpers.cmake
  47. +14 −0 cmake/arch/custom/README
  48. +18 −0 cmake/arch/custom/gnu_example.cmake
  49. +6 −0 cmake/arch/default/AppleClang_C.cmake
  50. +6 −0 cmake/arch/default/Clang_C.cmake
  51. +5 −0 cmake/arch/default/Cray.cmake
  52. +4 −0 cmake/arch/default/Cray_C.cmake
  53. +8 −0 cmake/arch/default/Cray_Fortran.cmake
  54. +6 −0 cmake/arch/default/GNU.cmake
  55. +11 −0 cmake/arch/default/GNU_Fortran.cmake
  56. +4 −0 cmake/arch/default/GNU_Fortran_UNIX.cmake
  57. +6 −0 cmake/arch/default/GNU_Windows.cmake
  58. +4 −0 cmake/arch/default/Intel_Darwin.cmake
  59. +5 −0 cmake/arch/default/Intel_Fortran_Darwin.cmake
  60. +9 −0 cmake/arch/default/Intel_Fortran_UNIX.cmake
  61. +6 −0 cmake/arch/default/Intel_UNIX.cmake
  62. +102 −0 cmake/arch/default/README
  63. +26 −0 cmake/post_install/CMakeLists.txt
  64. +57 −0 cmake/post_install/symlink_exe.cmake
  65. +1 −0 configure
  66. +142 −0 doc/cmake/INSTALL.md
  67. +142 −0 doc/cmake/LIBS.md
  68. +61 −0 dyn_em/CMakeLists.txt
  69. +3 −3 dyn_em/module_big_step_utilities_em.F
  70. +19 −0 external/CMakeLists.txt
  71. +33 −0 external/RSL_LITE/CMakeLists.txt
  72. +6 −4 external/RSL_LITE/c_code.c
  73. +14 −4 external/RSL_LITE/module_dm.F
  74. +1 −1 external/RSL_LITE/rsl_malloc.c
  75. +34 −0 external/esmf_time_f90/CMakeLists.txt
  76. +4 −0 external/fftpack/CMakeLists.txt
  77. +11 −0 external/fftpack/fftpack5/CMakeLists.txt
  78. +63 −0 external/io_grib1/CMakeLists.txt
  79. +66 −0 external/io_grib1/MEL_grib1/CMakeLists.txt
  80. +0 −9 external/io_grib1/MEL_grib1/grib_enc.c
  81. +0 −9 external/io_grib1/MEL_grib1/gribputgds.c
  82. +0 −9 external/io_grib1/MEL_grib1/pack_spatial.c
  83. +55 −0 external/io_grib1/WGRIB/CMakeLists.txt
  84. +29 −0 external/io_grib1/grib1_util/CMakeLists.txt
  85. +31 −0 external/io_grib2/CMakeLists.txt
  86. +26 −0 external/io_grib2/bacio-1.3/CMakeLists.txt
  87. +13 −10 external/io_grib2/bacio-1.3/bacio.v1.3.c
  88. +109 −0 external/io_grib2/g2lib/CMakeLists.txt
  89. +1 −2 external/io_grib2/g2lib/dec_png.c
  90. +0 −1 external/io_grib2/g2lib/enc_jpeg2000.c
  91. +1 −2 external/io_grib2/g2lib/enc_png.c
  92. +27 −0 external/io_grib_share/CMakeLists.txt
  93. +3 −1 external/io_grib_share/open_file.c
  94. +54 −0 external/io_int/CMakeLists.txt
  95. +11 −1 external/io_int/io_int_idx.c
  96. +11 −0 external/io_int/mman-win32/CMakeLists.txt
  97. +204 −0 external/io_int/mman-win32/mman.c
  98. +90 −0 external/io_int/mman-win32/mman.h
  99. +29 −0 external/io_netcdf/CMakeLists.txt
  100. +16 −1 external/io_netcdf/wrf_io.F90
  101. +122 −0 frame/CMakeLists.txt
  102. +4 −2 frame/module_io_quilt_old.F
  103. +58 −0 inc/CMakeLists.txt
  104. +1 −0 inc/commit_decl.in
  105. +88 −0 main/CMakeLists.txt
  106. +1 −0 paper/.gitignore
  107. BIN paper/figures/nrmse_range_make_cmake_t0.pdf
  108. BIN paper/figures/nrmse_range_make_cmake_t6.pdf
  109. BIN paper/figures/nrmse_range_single_ref_t0.pdf
  110. BIN paper/figures/nrmse_range_single_ref_t6.pdf
  111. BIN paper/figures/rel_err_ext_boxplot_make_cmake_t6.pdf
  112. BIN paper/figures/rel_err_ext_boxplot_single_ref_t6.pdf
  113. +109 −0 paper/paper.bib
  114. +142 −0 paper/paper.md
  115. +249 −0 phys/CMakeLists.txt
  116. +4 −0 phys/module_sf_clm.F
  117. +32 −32 phys/module_shcu_camuwshcu.F
  118. +16 −0 run/CMakeLists.txt
  119. +86 −0 share/CMakeLists.txt
  120. +6 −1 share/landread.c
  121. +17 −0 test/CMakeLists.txt
  122. +18 −0 test/em_b_wave/CMakeLists.txt
  123. +24 −0 test/em_convrad/CMakeLists.txt
  124. +21 −0 test/em_fire/CMakeLists.txt
  125. +16 −0 test/em_grav2d_x/CMakeLists.txt
  126. +10 −0 test/em_heldsuarez/CMakeLists.txt
  127. +12 −0 test/em_hill2d_x/CMakeLists.txt
  128. +17 −0 test/em_les/CMakeLists.txt
  129. +32 −0 test/em_quarter_ss/CMakeLists.txt
  130. +123 −0 test/em_real/CMakeLists.txt
  131. +28 −0 test/em_scm_xy/CMakeLists.txt
  132. +21 −0 test/em_seabreeze2d_x/CMakeLists.txt
  133. +10 −0 test/em_squall2d_x/CMakeLists.txt
  134. +10 −0 test/em_squall2d_y/CMakeLists.txt
  135. +19 −0 test/em_tropical_cyclone/CMakeLists.txt
  136. +35 −0 tools/CMakeLists.txt
  137. +1 −0 tools/gen_interp.c
  138. +5 −1 tools/gen_irr_diag.c
  139. +1 −1 tools/registry.c
  140. +0 −1 var/run/crtm_coeffs
103 changes: 103 additions & 0 deletions .ci/azure-pipelines/matrix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# WRF-CMake (https://github.com/WRF-CMake/wrf).
# Copyright 2019 M. Riechert and D. Meyer. Licensed under the MIT License.

parameters:
templates:
Ubuntu: unix.yml
CentOS: unix.yml
macOS: unix.yml
Windows: windows.yml

Ubuntu:
CC: gcc-11
FC: gfortran-11
CentOS:
CC: gcc
FC: gfortran
macOS:
CC: gcc-11
FC: gfortran-11
Windows:
CC: gcc
FC: gfortran

common:
WATS_REPO: WRF-CMake/wats
WATS_BRANCH: master
WATS_MODE: wrf
WATS_WPS_PKG_VERSION: 0.0.2
NESTING: basic
GRIB1: 0
GRIB2: 1
REAL8: 0

RELEASE: false

# Loop/matrix parameters.
# Note that these may be overridden by the including yml (typically azure-pipelines.yml).
#OS_NAMES: [Windows, Ubuntu, CentOS, macOS]
# macOS temporarily disabled due to segfaults.
OS_NAMES: [Windows, Ubuntu, CentOS]
BUILD_SYSTEMS: [Make, CMake]
BUILD_TYPES: [Debug, Release]
MODES: [serial, smpar, dmpar, dm_sm]

jobs:
- ${{ each OS_NAME in parameters.OS_NAMES }}:
- ${{ each BUILD_TYPE in parameters.BUILD_TYPES }}:
- ${{ each MODE in parameters.MODES }}:

- ${{ each BUILD_SYSTEM in parameters.BUILD_SYSTEMS }}:
# For Windows, since there is no Make-based build, skip that combination.
- ${{ if not(and(eq(OS_NAME, 'Windows'), eq(BUILD_SYSTEM, 'Make'))) }}:
- template: ${{ parameters.templates[OS_NAME] }}
parameters:
RELEASE: ${{ parameters.RELEASE }}
OS_NAME: ${{ OS_NAME }}
BUILD_SYSTEM: ${{ BUILD_SYSTEM }}
BUILD_TYPE: ${{ BUILD_TYPE }}
MODE: ${{ MODE }}
${{ insert }}: ${{ parameters[OS_NAME] }}
${{ insert }}: ${{ parameters.common }}
${{ if or(eq(parameters.WATS_PLOTS, 'true'), eq(parameters.WATS_DIFF, 'true')) }}:
WATS_RUN: true

# Make vs CMake comparison
- ${{ if eq(parameters.WATS_DIFF, 'true') }}:
- template: wats_diff.yml
parameters:
# For Windows, since there is no Make-based reference, compare against Ubuntu.
${{ if eq(OS_NAME, 'Windows') }}:
OS_NAME_LEFT: Ubuntu
${{ if ne(OS_NAME, 'Windows') }}:
OS_NAME_LEFT: ${{ OS_NAME }}
OS_NAME_RIGHT: ${{ OS_NAME }}
BUILD_SYSTEM_LEFT: Make
BUILD_SYSTEM_RIGHT: CMake
BUILD_TYPE: ${{ BUILD_TYPE }}
MODE: ${{ MODE }}
${{ insert }}: ${{ parameters.common }}

# Make vs Make comparison
- ${{ if eq(parameters.WATS_DIFF, 'true') }}:
- ${{ each BUILD_TYPE in parameters.BUILD_TYPES }}:
- ${{ each MODE in parameters.MODES }}:
- template: wats_diff.yml
parameters:
OS_NAME_LEFT: Ubuntu
OS_NAME_RIGHT: macOS
BUILD_SYSTEM_LEFT: Make
BUILD_SYSTEM_RIGHT: Make
BUILD_TYPE: ${{ BUILD_TYPE }}
MODE: ${{ MODE }}
${{ insert }}: ${{ parameters.common }}

- ${{ if eq(parameters.WATS_PLOTS, 'true') }}:
- template: wats_plots.yml
parameters:
OS_NAMES: ${{ parameters.OS_NAMES }}
BUILD_SYSTEMS: ${{ parameters.BUILD_SYSTEMS }}
BUILD_TYPES: ${{ parameters.BUILD_TYPES }}
MODES: ${{ parameters.MODES }}
vars:
${{ insert }}: ${{ parameters.common }}
55 changes: 55 additions & 0 deletions .ci/azure-pipelines/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
steps:
- ${{ if eq(parameters.OS_NAME, 'Windows') }}:
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: build/install
includeRootFolder: false
archiveType: zip
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.SourceBranchName)-$(NESTING)_nesting-$(MODE)-x64-$(OS_NAME)-$(BUILD_TYPE).zip'
displayName: Create distribution package

- ${{ if not(eq(parameters.OS_NAME, 'Windows')) }}:
- bash: $(run) .ci/unix/use-conda.sh
displayName: Enable Conda

- bash: $(run) .ci/unix/delocate.sh
displayName: Delocate

- task: ArchiveFiles@2
inputs:
rootFolderOrFile: build/install
includeRootFolder: false
archiveType: tar
tarCompression: xz
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.SourceBranchName)-$(NESTING)_nesting-$(MODE)-x64-$(OS_NAME)-$(BUILD_TYPE).tar.xz'
displayName: Create distribution package

- bash: |
set -ex
cd "$(Build.ArtifactStagingDirectory)"
# CentOS packages will run on most glibc-based Linux distributions
find . -name '*CentOS*' -exec bash -c 'mv $0 ${0/CentOS/Linux}' {} \;
# Rename all files to lowercase
for file in $(ls); do mv ${file} $(echo ${file} | tr '[:upper:]' '[:lower:]'); done
displayName: Rename package files

# not strictly needed
- task: PublishBuildArtifacts@1
displayName: Store distribution package
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)
artifactName: dist_$(OS_NAME)_$(BUILD_SYSTEM)_$(BUILD_TYPE)_$(MODE)

- task: GithubRelease@0
displayName: Create GitHub Draft Release
inputs:
gitHubConnection: WRF-CMake-releases
repositoryName: WRF-CMake/wrf
action: edit # will create if not existing
tag: $(Build.SourceBranchName)
isDraft: true
isPreRelease: true
addChangeLog: false
assetUploadMode: replace
assets: |
$(Build.ArtifactStagingDirectory)/*
49 changes: 49 additions & 0 deletions .ci/azure-pipelines/unix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# WRF-CMake (https://github.com/WRF-CMake/wrf).
# Copyright 2019 M. Riechert and D. Meyer. Licensed under the MIT License.

jobs:
- job: ${{ parameters.OS_NAME }}_${{ parameters.BUILD_SYSTEM }}_${{ parameters.BUILD_TYPE }}_${{ parameters.MODE }}
displayName: '${{ parameters.OS_NAME }} ${{ parameters.BUILD_SYSTEM }}: ${{ parameters.BUILD_TYPE }}, ${{ parameters.MODE }}'

timeoutInMinutes: 0

pool:
${{ if or(eq(parameters.OS_NAME, 'Ubuntu'), eq(parameters.OS_NAME, 'CentOS')) }}:
vmImage: ubuntu-latest
${{ if eq(parameters.OS_NAME, 'macOS') }}:
vmImage: macOS-11

variables:
${{ insert }}: ${{ parameters }}
${{ if eq(parameters.OS_NAME, 'Ubuntu') }}:
IMAGE: ubuntu:20.04
run: .ci/unix/run-in-docker.sh
${{ if eq(parameters.OS_NAME, 'CentOS') }}:
IMAGE: quay.io/pypa/manylinux2014_x86_64:latest
run: .ci/unix/run-in-docker.sh
${{ if eq(parameters.OS_NAME, 'macOS') }}:
run: ''

steps:
- script: .ci/unix/increase-swap-space.sh
displayName: Increase swap space

- script: $(run) .ci/unix/dump-vm-specs.sh
displayName: Dump VM specs

- script: $(run) printenv | sort
displayName: Dump environment variables

- script: $(run) .ci/unix/setup-dependencies.sh
displayName: Setup dependencies

- script: $(run) .ci/unix/install-wrf.sh
displayName: Install WRF

- ${{ if eq(parameters.WATS_RUN, 'true') }}:
- template: wats_run.yml

- ${{ if eq(parameters.RELEASE, 'true') }}:
- template: release.yml
parameters:
${{ insert }}: ${{ parameters }}
50 changes: 50 additions & 0 deletions .ci/azure-pipelines/wats_diff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# WRF-CMake (https://github.com/WRF-CMake/wrf).
# Copyright 2019 M. Riechert and D. Meyer. Licensed under the MIT License.

jobs:
- job: wats_diff_${{ parameters.OS_NAME_LEFT }}_${{ parameters.OS_NAME_RIGHT }}_${{ parameters.BUILD_SYSTEM_LEFT }}_${{ parameters.BUILD_SYSTEM_RIGHT }}_${{ parameters.BUILD_TYPE }}_${{ parameters.MODE }}
displayName: 'WATS ${{ parameters.OS_NAME_LEFT }}/${{ parameters.OS_NAME_RIGHT }} ${{ parameters.BUILD_SYSTEM_LEFT }}/${{ parameters.BUILD_SYSTEM_RIGHT }}: ${{ parameters.BUILD_TYPE }}, ${{ parameters.MODE }}'

pool:
vmImage: ubuntu-latest

dependsOn:
- ${{ parameters.OS_NAME_LEFT }}_${{ parameters.BUILD_SYSTEM_LEFT }}_${{ parameters.BUILD_TYPE }}_${{ parameters.MODE }}
- ${{ parameters.OS_NAME_RIGHT }}_${{ parameters.BUILD_SYSTEM_RIGHT }}_${{ parameters.BUILD_TYPE }}_${{ parameters.MODE }}

variables:
${{ insert }}: ${{ parameters }}

steps:
- bash: .ci/unix/use-conda.sh
displayName: Enable Conda

- bash: .ci/unix/install-wats.sh
displayName: Install WATS

- task: DownloadBuildArtifacts@0
displayName: Retrieve ${{ parameters.OS_NAME_LEFT }} ${{ parameters.BUILD_SYSTEM_LEFT }} WATS outputs
inputs:
downloadPath: wats_outputs
downloadType: specific
itemPattern: 'wats_${{ parameters.OS_NAME_LEFT }}_${{ parameters.BUILD_SYSTEM_LEFT }}_${{ parameters.BUILD_TYPE }}_${{ parameters.MODE }}/**'

- task: DownloadBuildArtifacts@0
displayName: Retrieve ${{ parameters.OS_NAME_RIGHT }} ${{ parameters.BUILD_SYSTEM_RIGHT }} WATS outputs
inputs:
downloadPath: wats_outputs
downloadType: specific
itemPattern: 'wats_${{ parameters.OS_NAME_RIGHT }}_${{ parameters.BUILD_SYSTEM_RIGHT }}_${{ parameters.BUILD_TYPE }}_${{ parameters.MODE }}/**'

- script: |
cd wats_outputs
find . -type f
displayName: List WATS output files
- script: |
set -ex
O=wats_outputs
W="python wats/wats/main.py diff --mode $WATS_MODE"
$W $O/wats_${OS_NAME_LEFT}_${BUILD_SYSTEM_LEFT}_${BUILD_TYPE}_${MODE} $O/wats_${OS_NAME_RIGHT}_${BUILD_SYSTEM_RIGHT}_${BUILD_TYPE}_${MODE}
displayName: Run WATS diff
125 changes: 125 additions & 0 deletions .ci/azure-pipelines/wats_plots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# WRF-CMake (https://github.com/WRF-CMake/wrf).
# Copyright 2019 M. Riechert and D. Meyer. Licensed under the MIT License.

parameters:
DOMAINS: [d01, d02]
TIMES: [0, 6]

jobs:
- job: wats_plots
displayName: 'WATS plots'

timeoutInMinutes: 0

pool:
vmImage: ubuntu-latest

dependsOn:
- ${{ each OS_NAME in parameters.OS_NAMES }}:
- ${{ each BUILD_TYPE in parameters.BUILD_TYPES }}:
- ${{ each MODE in parameters.MODES }}:
- ${{ each BUILD_SYSTEM in parameters.BUILD_SYSTEMS }}:
# For Windows, since there is no Make-based build, skip that combination.
- ${{ if not(and(eq(OS_NAME, 'Windows'), eq(BUILD_SYSTEM, 'Make'))) }}:
- ${{ OS_NAME }}_${{ BUILD_SYSTEM }}_${{ BUILD_TYPE }}_${{ MODE }}

variables:
${{ insert }}: ${{ parameters.vars }}

steps:
- bash: .ci/unix/use-conda.sh
displayName: Enable Conda

- bash: .ci/unix/install-wats.sh
displayName: Install WATS

# Plot: Ubuntu/Make/Debug/serial against all others

- task: DownloadBuildArtifacts@0
displayName: Retrieve reference Ubuntu/Make/Debug/serial WATS outputs
inputs:
downloadPath: wats_outputs
downloadType: specific
itemPattern: 'wats_Ubuntu_Make_Debug_serial/**'

- ${{ each OS_NAME in parameters.OS_NAMES }}:
- ${{ each BUILD_TYPE in parameters.BUILD_TYPES }}:
- ${{ each MODE in parameters.MODES }}:
- ${{ each BUILD_SYSTEM in parameters.BUILD_SYSTEMS }}:
# For Windows, since there is no Make-based build, skip that combination.
# Also, skip the reference combination.
- ${{ if not(or(and(eq(OS_NAME, 'Windows'), eq(BUILD_SYSTEM, 'Make')), and(eq(OS_NAME, 'Ubuntu'), eq(BUILD_SYSTEM, 'Make'), eq(MODE, 'serial'), eq(BUILD_TYPE, 'Debug')))) }}:

- task: DownloadBuildArtifacts@0
displayName: Retrieve trial ${{ OS_NAME }}/${{ BUILD_SYSTEM }}/${{ BUILD_TYPE }}/${{ MODE }} WATS outputs
inputs:
downloadPath: wats_outputs
downloadType: specific
itemPattern: 'wats_${{ OS_NAME }}_${{ BUILD_SYSTEM }}_${{ BUILD_TYPE }}_${{ MODE }}/**'

- ${{ each DOMAIN in parameters.DOMAINS }}:
- ${{ each TIME in parameters.TIMES }}:
- script: |
set -ex
O=wats_outputs
W="python wats/wats/plots.py compute --stats-dir wats_stats/${{ DOMAIN }}/T${{ TIME }} --filter ${{ DOMAIN }} --time-idx ${{ TIME }} --append"
$W $O/wats_Ubuntu_Make_Debug_serial $O/wats_${{ OS_NAME }}_${{ BUILD_SYSTEM }}_${{ BUILD_TYPE }}_${{ MODE }}
displayName: 'Run WATS: compute plot stats Ubuntu/Make/Debug/serial vs ${{ OS_NAME }}/${{ BUILD_SYSTEM }}/${{ BUILD_TYPE }}/${{ MODE }} for domain ${{ DOMAIN }} - T${{ TIME }}'
- script: |
rm -rf wats_outputs/wats_${{ OS_NAME }}_${{ BUILD_SYSTEM }}_${{ BUILD_TYPE }}_${{ MODE }}
displayName: Remove trial ${{ OS_NAME }}/${{ BUILD_SYSTEM }}/${{ BUILD_TYPE }}/${{ MODE }} WATS outputs
- script: |
rm -rf wats_outputs/wats_Ubuntu_Make_Debug_serial
displayName: Remove reference Ubuntu/Make/Debug/serial WATS outputs
- ${{ each DOMAIN in parameters.DOMAINS }}:
- ${{ each TIME in parameters.TIMES }}:
- script: |
python wats/wats/plots.py plot --stats-dir wats_stats/${{ DOMAIN }}/T${{ TIME }} --plots-dir wats_plots/single_ref/${{ DOMAIN }}/T${{ TIME }}
displayName: 'Run WATS: create Ubuntu/Make/Debug/serial reference plots for domain ${{ DOMAIN }} - T${{ TIME }}'
- script: |
rm -rf wats_stats/
displayName: Remove WATS stats files
# Plot: CMake vs Make

- ${{ each OS_NAME in parameters.OS_NAMES }}:
- ${{ each BUILD_TYPE in parameters.BUILD_TYPES }}:
- ${{ each MODE in parameters.MODES }}:
# For Windows, since there is no Make-based build, skip that combination.
- ${{ if not(eq(OS_NAME, 'Windows')) }}:

- task: DownloadBuildArtifacts@0
displayName: Retrieve ${{ OS_NAME }}/{Make,CMake}/${{ BUILD_TYPE }}/${{ MODE }} WATS outputs
inputs:
downloadPath: wats_outputs
downloadType: specific
itemPattern: 'wats_${{ OS_NAME }}_*_${{ BUILD_TYPE }}_${{ MODE }}/**'

- ${{ each DOMAIN in parameters.DOMAINS }}:
- ${{ each TIME in parameters.TIMES }}:
- script: |
set -ex
O=wats_outputs
W="python wats/wats/plots.py compute --stats-dir wats_stats/${{ DOMAIN }}/T${{ TIME }} --filter ${{ DOMAIN }} --time-idx ${{ TIME }} --append"
$W $O/wats_${{ OS_NAME }}_Make_${{ BUILD_TYPE }}_${{ MODE }} $O/wats_${{ OS_NAME }}_CMake_${{ BUILD_TYPE }}_${{ MODE }}
displayName: 'Run WATS: compute plot stats ${{ OS_NAME }}/Make/${{ BUILD_TYPE }}/${{ MODE }} vs ${{ OS_NAME }}/CMake/${{ BUILD_TYPE }}/${{ MODE }} for domain ${{ DOMAIN }} - T${{ TIME }}'
- script: |
rm -rf wats_outputs/wats_${{ OS_NAME }}_*_${{ BUILD_TYPE }}_${{ MODE }}
displayName: Remove ${{ OS_NAME }}/{Make,CMake}/${{ BUILD_TYPE }}/${{ MODE }} WATS outputs
- ${{ each DOMAIN in parameters.DOMAINS }}:
- ${{ each TIME in parameters.TIMES }}:
- script: |
python wats/wats/plots.py plot --stats-dir wats_stats/${{ DOMAIN }}/T${{ TIME }} --plots-dir wats_plots/make_cmake/${{ DOMAIN }}/T${{ TIME }}
displayName: 'Run WATS: create Make vs CMake plots for domain ${{ DOMAIN }} - T${{ TIME }}'
- task: PublishBuildArtifacts@1
displayName: Store WATS plots
inputs:
pathtoPublish: wats_plots
artifactName: wats_plots
Loading