From 8b3e6ed1c3228f2257cd251279933ca5dce43c36 Mon Sep 17 00:00:00 2001 From: Dana Singh Date: Mon, 5 Aug 2024 12:49:21 -0400 Subject: [PATCH] #141 Add example yamls for fremake testing --- fre/make/tests/AM5_example/am5.yaml | 6 ++ fre/make/tests/AM5_example/compile.yaml | 66 ++++++++++++++++++++ fre/make/tests/AM5_example/platforms.yaml | 26 ++++++++ fre/make/tests/SHiELD_example/SHiELD.yaml | 10 +++ fre/make/tests/SHiELD_example/compile.yaml | 38 +++++++++++ fre/make/tests/SHiELD_example/platforms.yaml | 26 ++++++++ 6 files changed, 172 insertions(+) create mode 100644 fre/make/tests/AM5_example/am5.yaml create mode 100644 fre/make/tests/AM5_example/compile.yaml create mode 100644 fre/make/tests/AM5_example/platforms.yaml create mode 100644 fre/make/tests/SHiELD_example/SHiELD.yaml create mode 100644 fre/make/tests/SHiELD_example/compile.yaml create mode 100644 fre/make/tests/SHiELD_example/platforms.yaml diff --git a/fre/make/tests/AM5_example/am5.yaml b/fre/make/tests/AM5_example/am5.yaml new file mode 100644 index 00000000..4b7bf8d4 --- /dev/null +++ b/fre/make/tests/AM5_example/am5.yaml @@ -0,0 +1,6 @@ +platformYaml: platforms.yaml +compileYaml: compile.yaml +release: f1a1r1 +INTEL: "intel-classic" +FMSincludes: "-IFMS/fms2_io/include -IFMS/include -IFMS/mpp/include" +momIncludes: "-Imom6/MOM6-examples/src/MOM6/pkg/CVMix-src/include" diff --git a/fre/make/tests/AM5_example/compile.yaml b/fre/make/tests/AM5_example/compile.yaml new file mode 100644 index 00000000..5200599c --- /dev/null +++ b/fre/make/tests/AM5_example/compile.yaml @@ -0,0 +1,66 @@ +experiment: "am5" +container_addlibs: +baremetal_linkerflags: +src: + - component: "FMS" + repo: "https://github.com/NOAA-GFDL/FMS.git" + cppdefs: "-DINTERNAL_FILE_NML -Duse_libMPI -Duse_netCDF" + branch: "2022.01" + cppdefs: "-DHAVE_GETTID -Duse_libMPI -Duse_netCDF" + otherFlags: "$(FMSincludes)" + - component: "am5_phys" + requires: ["FMS"] + repo: "https://gitlab.gfdl.noaa.gov/FMS/am5_phys.git" + branch: "2022.01" + otherFlags: "$(FMSincludes)" + - component: "GFDL_atmos_cubed_sphere" + requires: ["FMS", "am5_phys"] + repo: "https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere.git" + cppdefs: "-DSPMD -DCLIMATE_NUDGE -DINTERNAL_FILE_NML" + branch: "2022.01" + paths: ["GFDL_atmos_cubed_sphere/driver/GFDL", + "GFDL_atmos_cubed_sphere/model", + "GFDL_atmos_cubed_sphere/driver/SHiELD/cloud_diagnosis.F90", + "GFDL_atmos_cubed_sphere/driver/SHiELD/gfdl_cloud_microphys.F90", + "GFDL_atmos_cubed_sphere/tools", + "GFDL_atmos_cubed_sphere/GFDL_tools"] + otherFlags: "$(FMSincludes)" + - component: "atmos_drivers" + requires: ["FMS", "am5_phys", "GFDL_atmos_cubed_sphere"] + repo: "https://github.com/NOAA-GFDL/atmos_drivers.git" + cppdefs: "-DSPMD -DCLIMATE_NUDGE" + branch: "2022.01" + paths: ["atmos_drivers/coupled"] + otherFlags: "$(FMSincludes)" + - component: "ice_sis" + requires: ["FMS", "ice_param", "mom6"] + repo: "https://gitlab.gfdl.noaa.gov/FMS/ice_sis.git" + branch: "2021.02" + otherFlags: "$(FMSincludes) $(momIncludes)" + - component: "ice_param" + repo: "https://github.com/NOAA-GFDL/ice_param.git" + cppdefs: "-Duse_yaml -Duse_libMPI -Duse_netCDF" + branch: "2021.02" + requires: ["FMS", "mom6"] + otherFlags: "$(FMSincludes) $(momIncludes)" + - component: "land_lad2" + requires: ["FMS"] + repo: "https://gitlab.gfdl.noaa.gov/FMS/land_lad2.git" + branch: "2022.01" + branch: "land_lad2_2021.02" + doF90Cpp: True + cppdefs: "-DINTERNAL_FILE_NML" + otherFlags: "$(FMSincludes)" + - component: "mom6" + requires: ["FMS"] + paths: ["mom6/MOM6-examples/src/MOM6/config_src/dynamic", "mom6/MOM6-examples/src/MOM6/config_src/coupled_driver", "mom6/MOM6-examples/src/MOM6/src/*/", "mom6/MOM6-examples/src/MOM6/src/*/*/", "mom6/ocean_BGC/generic_tracers", "mom6/ocean_BGC/mocsy/src"] + branch: ["2021.02","dev/gfdl/2018.04.06"] + repo: ["https://github.com/NOAA-GFDL/ocean_BGC.git","https://github.com/NOAA-GFDL/MOM6-examples.git"] + makeOverrides: 'OPENMP=""' + otherFlags: "$(FMSincludes) $(momIncludes)" + - component: "FMScoupler" + paths: ["FMScoupler/full", "FMScoupler/shared"] + repo: "https://github.com/NOAA-GFDL/FMScoupler.git" + branch: "2022.01" + requires: ["FMS", "atmos_drivers", "am5_phys", "land_lad2", "ice_sis", "ice_param", "mom6"] + otherFlags: "$(FMSincludes) $(momIncludes)" diff --git a/fre/make/tests/AM5_example/platforms.yaml b/fre/make/tests/AM5_example/platforms.yaml new file mode 100644 index 00000000..02b7d222 --- /dev/null +++ b/fre/make/tests/AM5_example/platforms.yaml @@ -0,0 +1,26 @@ +platforms: + - name: ncrc5.intel + compiler: intel + modulesInit: [" module use -a /ncrc/home2/fms/local/modulefiles \n","source $MODULESHOME/init/sh \n"] + modules: ["$(INTEL)/2022.2.1","fre/bronx-20",cray-hdf5/1.12.2.3, cray-netcdf/4.9.0.3] + fc: ftn + cc: cc + mkTemplate: "/ncrc/home2/fms/local/opt/fre-commands/bronx-20/site/ncrc5/$(INTEL).mk" + modelRoot: ${HOME}/fremake_canopy/test + - name: ncrc5.intel23 + compiler: intel + modulesInit: [" module use -a /ncrc/home2/fms/local/modulefiles \n","source $MODULESHOME/init/sh \n"] + modules: ["$(INTEL)/2023.1.0","fre/bronx-20",cray-hdf5/1.12.2.3, cray-netcdf/4.9.0.3] + fc: ftn + cc: cc + mkTemplate: "/ncrc/home2/fms/local/opt/fre-commands/bronx-20/site/ncrc5/$(INTEL).mk" + modelRoot: ${HOME}/fremake_canopy/test + - name: hpcme.2023 + compiler: intel + RUNenv: [". /spack/share/spack/setup-env.sh", "spack load libyaml", "spack load netcdf-fortran@4.5.4", "spack load hdf5@1.14.0"] + modelRoot: /apps + fc: mpiifort + cc: mpiicc + container: True + containerBuild: "podman" + containerRun: "apptainer" diff --git a/fre/make/tests/SHiELD_example/SHiELD.yaml b/fre/make/tests/SHiELD_example/SHiELD.yaml new file mode 100644 index 00000000..9f063d0a --- /dev/null +++ b/fre/make/tests/SHiELD_example/SHiELD.yaml @@ -0,0 +1,10 @@ +platformYaml: platforms.yaml +compileYaml: compile.yaml +fv3_release: main +phy_release: main +fms_release: "2023.02" +drivers_release: main +coupler_release: "2023.02" +FMSincludes: "-IFMS/fms2_io/include -IFMS/include -IFMS/mpp/include" +momIncludes: "-Imom6/MOM6-examples/src/MOM6/pkg/CVMix-src/include" +INTEL: intel-classic diff --git a/fre/make/tests/SHiELD_example/compile.yaml b/fre/make/tests/SHiELD_example/compile.yaml new file mode 100644 index 00000000..a83bb1ce --- /dev/null +++ b/fre/make/tests/SHiELD_example/compile.yaml @@ -0,0 +1,38 @@ +experiment: shield_nh +compileInclude: "-IFMS/fms2_io/include -IFMS/include -IFMS/mpp/include" +container_addlibs: ["bacio","sp","w3emc","w3nco"] +baremetal_addlibs: ["-L/autofs/ncrc-svm1_proj/epic/spack-stack/spack-stack-1.6.0/envs/unified-env/install/intel/2023.1.0/bacio-2.4.1-wrykbu2/lib -lbacio_4", "-L/autofs/ncrc-svm1_proj/epic/spack-stack/spack-stack-1.6.0/envs/unified-env/install/intel/2023.1.0/bacio-2.4.1-wrykbu2/lib -lbacio_8", "-L/autofs/ncrc-svm1_proj/epic/spack-stack/spack-stack-1.6.0/envs/unified-env/install/intel/2023.1.0/sp-2.5.0-7bumbmx/lib64 -lsp_d", "-L/autofs/ncrc-svm1_proj/epic/spack-stack/spack-stack-1.6.0/envs/unified-env/install/intel/2023.1.0/w3emc-2.10.0-zmuykep/lib64 -lw3emc_d", "-L/autofs/ncrc-svm1_proj/epic/spack-stack/spack-stack-1.6.0/envs/unified-env/install/intel/2023.1.0/w3nco-2.4.1-76qm6h2/lib -lw3nco_d"] +src: + - component: "FMS" + repo: "https://github.com/NOAA-GFDL/FMS.git" + cppdefs: "-Duse_libMPI -Duse_netCDF -Duse_LARGEFILE -DHAVE_SCHED_GETAFFINITY -DINTERNAL_FILE_NML -DGFS_PHYS -DGFS_CONSTANTS -DHAVE_GETTID" + branch: "$(fms_release)" + - component: "SHiELD_physics" + requires: ["FMS"] + repo: "https://github.com/NOAA-GFDL/SHiELD_physics.git" + branch: "$(phy_release)" + paths: [SHiELD_physics/gsmphys, + SHiELD_physics/GFS_layer, + SHiELD_physics/IPD_layer] + cppdefs: "-Duse_libMPI -Duse_netCDF -DHAVE_SCHED_GETAFFINITY -DSPMD -Duse_LARGEFILE -DGFS_PHYS -DUSE_GFSL63 -DNEW_TAUCTMAX -DNEMS_GSM -DINTERNAL_FILE_NML -DMOIST_CAPPA -DUSE_COND" + otherFlags: "$(FMSincludes)" + - component: "fv3" + requires: ["FMS", "SHiELD_physics"] + repo: ["https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere.git", + "https://github.com/NOAA-GFDL/atmos_drivers.git"] + cppdefs: "-Duse_libMPI -Duse_netCDF -DHAVE_SCHED_GETAFFINITY -DSPMD -Duse_LARGEFILE -DGFS_PHYS -DUSE_GFSL63 -DNEW_TAUCTMAX -DNEMS_GSM -DINTERNAL_FILE_NML -DMOIST_CAPPA -DUSE_COND" + branch: ["$(fv3_release)","$(drivers_release)"] + paths: [SHiELD_physics/FV3GFS/, + fv3/atmos_drivers/SHiELD/atmos_model.F90, + fv3/GFDL_atmos_cubed_sphere/driver/SHiELD/atmosphere.F90, + fv3/GFDL_atmos_cubed_sphere/tools/, + fv3/GFDL_atmos_cubed_sphere/model/, + fv3/GFDL_atmos_cubed_sphere/GFDL_tools/fv_diag_column.F90] + otherFlags: "$(FMSincludes)" + - component: "FMScoupler" + requires: ["FMS", "SHiELD_physics", "fv3"] + repo: "https://github.com/NOAA-GFDL/FMScoupler.git" + cppdefs: "-Duse_libMPI -Duse_netCDF -DHAVE_SCHED_GETAFFINITY -DSPMD -Duse_LARGEFILE -DGFS_PHYS -DUSE_GFSL63 -DNEW_TAUCTMAX -DNEMS_GSM -DINTERNAL_FILE_NML -DMOIST_CAPPA -DUSE_COND" + branch: "$(coupler_release)" + paths: ["FMScoupler/SHiELD/coupler_main.F90"] + otherFlags: "$(FMSincludes)" diff --git a/fre/make/tests/SHiELD_example/platforms.yaml b/fre/make/tests/SHiELD_example/platforms.yaml new file mode 100644 index 00000000..9f72043b --- /dev/null +++ b/fre/make/tests/SHiELD_example/platforms.yaml @@ -0,0 +1,26 @@ +platforms: + - name: ncrc5.intel + compiler: intel + modulesInit: [" module use -a /ncrc/home2/fms/local/modulefiles \n","source $MODULESHOME/init/sh \n"] + modules: ["$(INTEL)/2022.2.1","fre/bronx-20",cray-hdf5/1.12.2.3, cray-netcdf/4.9.0.3] + fc: ftn + cc: cc + mkTemplate: "/ncrc/home2/fms/local/opt/fre-commands/bronx-20/site/ncrc5/$(INTEL).mk" + modelRoot: ${HOME}/fremake_canopy/SHiELDtest + - name: ncrc5.intel23 + compiler: intel + modulesInit: [" module use -a /ncrc/home2/fms/local/modulefiles \n","source $MODULESHOME/init/sh \n"] + modules: ["$(INTEL)/2023.1.0","fre/bronx-20",cray-hdf5/1.12.2.3, cray-netcdf/4.9.0.3] + fc: ftn + cc: cc + mkTemplate: "/ncrc/home2/fms/local/opt/fre-commands/bronx-20/site/ncrc5/$(INTEL).mk" + modelRoot: ${HOME}/fremake_canopy/SHiELDtest + - name: hpcme.2023 + compiler: intel + RUNenv: [". /spack/share/spack/setup-env.sh", "spack load libyaml", "spack load netcdf-fortran@4.5.4", "spack load hdf5@1.12.1"] + modelRoot: /apps + fc: mpiifort + cc: mpiicc + container: True + containerBuild: "podman" + containerRun: "apptainer"