diff --git a/.gitmodules b/.gitmodules index e7e2c2bf38..1b28d8028a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -52,7 +52,7 @@ branch = feature/coastal_app [submodule "SCHISM"] path = SCHISM-interface/SCHISM - url = https://github.com/oceanmodeling/schism + url = https://github.com/schism-dev/schism.git branch = master [submodule "SCHISM-ESMF"] path = SCHISM-interface/SCHISM-ESMF diff --git a/CICE-interface/CICE b/CICE-interface/CICE index 620e48fe75..c9e4679f44 160000 --- a/CICE-interface/CICE +++ b/CICE-interface/CICE @@ -1 +1 @@ -Subproject commit 620e48fe75d92aa607af7e21f2d8691baddd2851 +Subproject commit c9e4679f449e30bb4cc0f22164b4401a8b50f7a6 diff --git a/CMEPS-interface/CMEPS b/CMEPS-interface/CMEPS index f4d7dd4121..437d5e6f35 160000 --- a/CMEPS-interface/CMEPS +++ b/CMEPS-interface/CMEPS @@ -1 +1 @@ -Subproject commit f4d7dd41210108f0acb49d524809f5a04cddb725 +Subproject commit 437d5e6f3507b84cdabaac02b0335e86d3013dc6 diff --git a/FV3 b/FV3 index 8db821cb94..da95cc428d 160000 --- a/FV3 +++ b/FV3 @@ -1 +1 @@ -Subproject commit 8db821cb944f5a6f2586a42926434cca91fcac94 +Subproject commit da95cc428d8b626e99250fd57a4279b4980044f8 diff --git a/MOM6-interface/MOM6 b/MOM6-interface/MOM6 index c8a7325c04..0730606b80 160000 --- a/MOM6-interface/MOM6 +++ b/MOM6-interface/MOM6 @@ -1 +1 @@ -Subproject commit c8a7325c040b4cb1327c55c8248e8e66972239a5 +Subproject commit 0730606b808f2979241d850e763955f5526a980c diff --git a/NOAHMP-interface/noahmp b/NOAHMP-interface/noahmp index 0cd3e23ae5..1e259014c1 160000 --- a/NOAHMP-interface/noahmp +++ b/NOAHMP-interface/noahmp @@ -1 +1 @@ -Subproject commit 0cd3e23ae5d35ef93e205e4d0c3b13ccc0d851f5 +Subproject commit 1e259014c1eba9070cec7027d8b4b479ae54275a diff --git a/PAHM-interface/PAHM b/PAHM-interface/PAHM index c1f3870bf7..8463830596 160000 --- a/PAHM-interface/PAHM +++ b/PAHM-interface/PAHM @@ -1 +1 @@ -Subproject commit c1f3870bf7baf8ef79118ca388ded89d65abf644 +Subproject commit 8463830596943a6fbbd5e4abaf0fdb6ee1255d1f diff --git a/README-ufs_coastal.md b/README-ufs_coastal.md new file mode 100644 index 0000000000..0c41018872 --- /dev/null +++ b/README-ufs_coastal.md @@ -0,0 +1,358 @@ +# UFS-Coastal + + +[![license](https://img.shields.io/github/license/noaa-ocs-modeling/CoastalApp)](https://creativecommons.org/share-your-work/public-domain/cc0) + + +### Contacts: +**NOAA** + * [Panagiotis Velissariou (panagiotis.velissariou@noaa.gov)](mailto:Panagiotis.Velissariou@noaa.gov) + * [Saeed Moghimi (saeed.moghimi@noaa.gov)](mailto:Saeed.Moghimi@noaa.gov) + +**NCAR** + * [Ufuk Turuncoglu (turuncu@ucar.edu)](mailto:turuncu@ucar.edu) + +## Introduction + +***UFS-Coastal*** is an open source code infrastructure forked from the [UFS-Weather-Model](https://github.com/ufs-community/ufs-weather-model) and its downstream applications (ufs-coastal-apps) is being developed as the next generation NOAA’s [National Ocean Service](https://oceanservice.noaa.gov/) (NOS) Coastal Ocean Modeling infrastructure. NOS is partnering with the [Oceanic and Atmospheric Research](https://research.noaa.gov/) (OAR), [National Weather Service](https://www.weather.gov/) (NWS) and coastal ocean modeling community to develop UFS-Coastal to be integrated into the [Unified Forecast System](https://epic.noaa.gov/) modeling portfolio. + +***UFS-Coastal*** Is a modeling framework for coupled coastal applications and regional prediction systems. It consists from coupled model components that link the atmospheric, ocean and terrestrial realms under one common framework. Contains data components (CDEPS) and an ESMF/NUOPC based mediator component (CMEPS) that drive the coupling process between individual model components. +Two types of coupling configurations are supported: 1-way and 2-way coupled configurations (model components coupled via the mediator). The data component is used to pass data to the model components (e.g., atmospheric forcing). ***UFS-Coastal*** uses the spack-stack framework for its compilation and run-time requirements and includes full regression test capabilities for all model components. The application is released to the community via the [Ocean Modeling Collaboration](https://github.com/oceanmodeling/ufs-coastal) GitHub repository. The repository contains the full application (code +base and documentation) + +***UFS-Coastal*** is based on the ESMF ([https://earthsystemmodeling.org/](https://earthsystemmodeling.org/)) +framework for building a [NUOPC](https://earthsystemmodeling.org/nuopc/)/[NEMS](https://www.nws.noaa.gov/ost/CTB/mts-arch/CFSv3-Plan-Mt-082511_files/Lapenta.pdf) coupling application that includes two types of components (a) 1-way and 2-way coupled modeling components (model source + NUOPC Cap) and (b) data components (NUOPC Cap only) that pass forcing data, as needed, via NetCDF files to the various models in CoastalApp. The application is based on its predecessor ESMF application ``ADC-WW3-NWM-NEMS`` (see [Moghimi et. al](#moghimi_1)) developed as part of the [**Coastal Act**](https://vlab.noaa.gov/web/osti-modeling/coastal-act1) coupling project to determine wind versus water percentage losses caused by a Named Storm Event. + +The models and modeling components (data components) currently supported in *UFS-Coastal* are outlined in Table 1. + + + +![](images/ufs_coastal_models.png) + +**Accessing the individual modeling components** + + * ATMESH : [https://github.com/noaa-ocs-modeling/ATMESH](https://github.com/noaa-ocs-modeling/ATMESH) + * PAHM : [https://github.com/noaa-ocs-modeling/PaHM](https://github.com/noaa-ocs-modeling/PaHM) + * ADCIRC : [https://adcirc.org/](https://adcirc.org/), + [https://github.com/adcirc/adcirc](https://github.com/adcirc/adcirc) + (requires registration; please send an email request to + [Crystal Fulcher](mailto:cfulcher@email.unc.edu)) + * SCHISM : [http://ccrm.vims.edu/schismweb/](http://ccrm.vims.edu/schismweb/), + [https://github.com/schism-dev/schism](https://github.com/schism-dev/schism) + * FVCOM : [http://fvcom.smast.umassd.edu/](http://fvcom.smast.umassd.edu/), + [https://github.com/FVCOM-GitHub](https://github.com/FVCOM-GitHub) + * BARDATA: [https://github.com/noaa-ocs-modeling/BARDATA](https://github.com/noaa-ocs-modeling/BARDATA) + * WW3 : [https://github.com/NOAA-EMC/WW3/wiki](https://github.com/NOAA-EMC/WW3/wiki), [https://github.com/NOAA-EMC/WW3](https://github.com/NOAA-EMC/WW3) + * WW3DATA: [https://github.com/noaa-ocs-modeling/WW3DATA](https://github.com/noaa-ocs-modeling/WW3DATA) + +## Downloading *CoastalApp* + +*CoastalApp* is hosted in NOAA's Office of Coast Survey github modeling repository: [https://github.com/noaa-ocs-modeling](https://github.com/noaa-ocs-modeling) along with other applications and models. The source code of *CoastalApp* is publicly available from the GitHub repository: + https://github.com/noaa-ocs-modeling/CoastalApp +(binary distributions of *CoastalApp* are not currently available). + +The application can be downloaded using the following method: + +***Clone the source code from GitHub:*** + + git clone --recurse-submodules https://github.com/noaa-ocs-modeling/CoastalApp.git + +The source will be downloaded into the target directory CoastalApp. It is assumed +that all subsequent operations are taking place into the CoastalApp directory. + +Most of the modeling components in the *CoastalApp* GitHub repository (e.g., ADCIRC, SCHISM, ...) are simply git submodules (pointers) that point to the respective repository of each model. Some models, for example ADCIRC and FVCOM, require that the user is registered with the respective model repository in order to be granted access. +In case, users don't have access to a model and in order to avoid errors and permission issues during the cloning +process of *CoastalApp*, they can exclude the particular modeling component using, for example, commands like: + + * Exclude ADCIRC from cloning using one of the following commands: + * ``git -c submodule."ADCIRC".update=none clone --recurse-submodules https://github.com/noaa-ocs-modeling/CoastalApp.git`` + + OR + + * ``git clone --recurse-submodules=":(exclude)ADCIRC" https://github.com/noaa-ocs-modeling/CoastalApp.git`` + + * Exclude multiple components (ADCIRC, PAHM and SCHISM) from cloning using one of the following commands: + * ``git -c submodule."ADCIRC".update=none -c submodule."PAHM".update=none -c submodule."SCHISM/schism".update=none -c submodule."SCHISM/schism-esmf".update=none clone --recurse-submodules https://github.com/noaa-ocs-modeling/CoastalApp.git`` + + OR + + * ``git clone --recurse-submodules=':(exclude)ADCIRC' --recurse-submodules=':(exclude)PAHM' --recurse-submodules=":(exclude)SCHISM/*" https://github.com/noaa-ocs-modeling/CoastalApp.git`` + +***Note:*** The alternative method of downloading the application by fetching the +zip archive via the command: + + wget https://github.com/noaa-ocs-modeling/CoastalApp/archive/refs/heads/main.zip + +will download *CoastalApp* but all the model component directories will be empty +as these components are basically pointers to their respective repositories. Only +*CoastalApp's* configuration and build files will be available in this case. If +users are only interested on how *CoastalApp* is configured, they can download +the archive and extract the sources in the CoastalApp directory by issuing the following commands: + + unzip -o main.zip (the data will be extracted into the CoastalApp-main directory) + + mv CoastalApp-main CoastalApp (move the extracted files to the CoastalApp directory) + +By using the distributed version control system Git, users will be able to follow +the *CoastalApp* development and its updates and furthermore they will be able +to easily merge to new versions of the application. +New Git users are invited to read some of the online guides to get familiar with vanilla Git concepts and commands: + +- Basic and advanced guide with the +Git Book. +- Reference guides with the +Git Reference. +- GitHub reference sheets with the +GitHub Reference. +- Manage your GitHub repositories with Git +Using Git. + + +## Building *CoastalApp* + +The build infrastracture in CoastalApp uses a hybrid "Make" system based on [GNU Make](https://www.gnu.org/software/make/) and [CMake](https://cmake.org/) toolkits that manage building of the source code and the generation of executables and other non-source files of a program. Furthermore, *CostalApp* utilizes environment module systems +like [Lmod](https://lmod.readthedocs.io/en/latest/) (installed in most HPC clusters) or +[Environment Modules](https://modules.readthedocs.io/en/latest/). + +### Requirements + + 1. Recent version of CMake (**version ≥ 3.2**). + 2. Recent Fortran/C/C++ compilers: The compilers tested are **Intel ≥ 18**, **GCC ≥ 4.8** and **PGI/NVidia ≥ 20.11**. + 3. Recent MPI implementation: The Message Passing Interface libraries tested are [Intel's MPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html#gs.owl7s3), [OpenMPI](https://www.open-mpi.org/) and [MVAPICH](https://mvapich.cse.ohio-state.edu/). + 4. Recent version of the NetCDF-4 libraries: the Network Common Data Form (NetCDF) C and Fortran libraries (usually installed in the host OS). + 5. Recent version of the HDF5 libraries: the High-performance software and Data Format (HDF) libraries (usually installed in the host OS). + 6. Recent version of the ESMF libraries: the Earth System Modeling Framework (**version ≥ 8.1**). + 7. ParMETIS libraries (Optional). This library is required if building WaveWatch III (WW3 component, mandatory) or SCHISM (optional). The library is not shipped with *CoastalApp* and it is the user's responsibility to download the library before compiling *CoastalApp*. The script ``download_parmetis.sh`` in CostalApp/scripts directory is supplied for this reason. + +**NOTE:** It is important to note that the user needs to make sure that all the libraries and *CoastalApp* are compiled using exactly the **same compilers** (and possibly versions; you cannot mix compilers and +compiler versions). + + +### Build System + +To build *CoastalApp* the user should run the ***build.sh*** bash script (a link to the +scripts/build.sh) located in the root directory of the downloaded source code. +The build script accepts many options to allow the user to customize the compilation of *CoastalApp*. Running the script as: + + build.sh --help + +will bring up a help screen as shown in Table 2 that explains the use of all available options to the script: + + + +![ ](images/coastalapp-usage.png) + + +### Installing ParMETIS (Optional) + +The unstructured WW3 and SCHISM models require the use of ParMETIS/METIS libraries for domain decomposition. While, the installation of this library is mandatory for WW3 +(at this point), for SCHISM is optional as the model contains an internal version of ParMETIS (the model can use either the internal or the externally built library or do not use ParMETIS at all). To ease the compilation of the library, *CoastalApp* supplies the script ``scripts/download_parmetis.sh`` to first download the source code of the library and then build the library by supplying the option ``--tp parmetis`` to the build script. +The library source is downloaded into the CoastalApp/thirdparty_open directory. +Assuming that ParMETIS is already downloaded, to build ParMETIS and WW3 run the build +script as follows: + + build.sh -compiler intel -platform=hera --component ww3 --tp=parmetis + +The above command will first compile ParMETIS and then will continue with the compilation of WW3 (notice that different formats can be used for the supplied options, all work the same way). ParMETIS libraries will be installed in the CoastalApp/THIRDPARTY_INSTALL direcory (this directory never gets deleted during a clean process). + +In the case users want to use a pre-compiled version of ParMETIS (either in THIRDPARTY_INSTALL, or in a system-wide +installation), they can run the build script as: + + PARMETISHOME=FULL_PATH_TO/CostalApp/THIRDPARTY_INSTALL build.sh -compiler intel -platform=hera --component schism + +and *CoastalApp* will use the installed ParMETIS in ``CostalApp/THIRDPARTY_INSTALL``. If there is a system wide +installed ParMETIS, users can set the PARMETISHOME variable to point to the system's installed ParMETIS. +In any case, *CoastalApp* tries to find the libraries in ``PARMETISHOME/lib`` and the header files in +``PARMETISHOME/include``. + +### Compilation + +This section contains some generic instructions of how to build *CoastalApp* (NEMS application). +The following steps will help in building *CoastalApp* on a local machine (desktop or otherwise) or on a HPC cluster. + + 1. Make sure that CMake and the NetCDF/HDF5/ESMF libraries are in the user's PATH environment. In a Cluster/HPC system that uses the environment module system, the user should load all the required modules for CMake NetCDF, HDF5 and ESMF before building *CoastalApp* (this is done by setting the --platform option). + 2. Run the ``build.sh`` script as: + + build.sh --compiler COMPILER --platform PLATFORM --component "LIST OF COMPONENTS" --tp parmetis (if needed) + +The option ``--component`` is mandatory as it is indentionally left with no default value. It is up to the +user to supply the list of components to compile (at minimum one component is needed). +All other options are optional and most of them have default values assigned to them (see [Table 2](#table_2)). +If the user chooses a supported platform to compile *CoastalApp* for, the build script will load the appropriate modulefile found in the modulefiles/ directory. In case the application needs to be built for an unsupported +platform, ther user can copy one of the ``modulefiles/envmodules_.custom`` files, rename it to ``modulefiles/envmodules_.`` and then modify the file according to the chosen +platform's configuration. + +Upon successful compilation of *CoastalApp*, the binaries and libraries for each component are installed into +its respective ``_INSTALL`` directory (e.g., SCHISM_INSTALL). +In addition, all component executables, libraries and other files are also installed (copied) into the ``ALLBIN_INSTALL`` directory. This directory never gets deleted during a complete cleanup of the compiled files and +it is the user's responsibility to delete this directory (if needed). +The final ``NEMS`` executable that contains all model components requested by the user is installed into the ``ALLBIN_INSTALL`` directory as two identical files: ``NEMS-.x`` and ``NEMS.x``. +As a sanity check, the user might want to check that all files were installed properly in the ``ALLBIN_INSTALL`` directory (e.g., check the file sizes). + + * **Example 1** Compile ATMESH and ADCIRC using the Intel compiler for the "tacc" platform: + + build.sh --compiler intel --platform tacc --component "atmesh adcirc" + + In this case, the build script will first load the modulefiles/envmodules_intel.tacc file and + then will present to the user a list of the configured parameters, waiting for a yes/no to + continue. Upon successful compilation all component executables, libraries and the ``NEMS*.x`` + executables are installed in the ``ALLBIN_INSTALL`` directory. + + * **Example 2** Build ``NEMS.x`` for PAHM, ATMESH, ADCIRC, WW3 on "hera" using the Intel compiler: + * First download ParMETIS (as described previously): + + Run: ``scripts/download_parmetis.sh`` + + * Next build the application: + + build.sh --compiler intel --platform hera --component "pahm atmesh adcirc ww3" --tp parmetis + + In this case, the build script will first load the modulefiles/envmodules_intel.hera file and + then will present to the user a list of the configured parameters, waiting for a yes/no to + continue. Next it will compile and install the ParMETIS/METIS libraries into the + ``THIRDPARTY_INSTALL`` directory setting all the appropriate ``METIS`` environment variables. + Finally it will continue with the compilations of all requested components to produce the ``NEMS.x`` + executable. + + * **Example 3** Rebuild ``NEMS.x`` for PAHM, ATMESH, ADCIRC, WW3 on "hera" using the Intel compiler, + the already installed ParMETIS and cleaning the previously compiled components (the ``ALLBIN_INSTALL`` + directory is not deleted) + * First run: + + PARMETISHOME=FULL_PATH/THIRDPARTY_INSTALL build.sh --compiler intel --platform hera --component "pahm atmesh adcirc ww3" --clean 2 + + This cleans all components (see [Table 2](#table_2)), and deletes all ``COMPONENT_INSTALL`` folders + except the ``ALLBIN_INSTALL`` directory. This step is required to ensure the integrity of the + subsequent build. + + * Next build the application: + + PARMETISHOME=FULL_PATH/THIRDPARTY_INSTALL build.sh --compiler intel --platform hera --component "pahm atmesh adcirc ww3" + + * **Example 4** Build ``NEMS.x`` for ATMESH and SCHISM, WW3 on "hera" using the Intel compiler, + SCHISM's internal ParMETIS and accepting all parameter settings: + + build.sh --compiler intel --platform hera --component "atmesh schism" -y + + In this case, the build script will load the modulefiles/envmodules_intel.hera file and + it will continue to the compilation without waiting for a yes/no answer. + + +## Organization / Responsibility + +### ``NEMS`` application implementing ESMF / NUOPC coupling +- Saeed Moghimi (**lead**) - saeed.moghimi@noaa.gov +- Panagiotis Velissariou - panagiotis.velissariou@noaa.gov + +Past Contributors: + +- Zachary Burnett - zachary.burnett@noaa.gov +- Andre Van der Westhuysen - andre.vanderwesthuysen@noaa.gov +- Beheen Trimble - beheenmt@gmail.com + +### ESMF / NUOPC Cap for the ``ADCIRC`` model +- Saeed Moghimi (**lead**) saeed.moghimi@noaa.gov +- Damrongsak Wirasaet - dwirasae@nd.edu +- Panagiotis Velissariou - panagiotis.velissariou@noaa.gov + +Past Contributors: + +- Guoming Ling - gling@nd.edu +- Zachary Burnett - zachary.burnett@noaa.gov + +### ESMF / NUOPC Cap for the ``FVCOM`` model +- Jianhua Qi (**lead**) - jqi@umassd.edu +- Saeed Moghimi - saeed.moghimi@noaa.gov + +### ESMF / NUOPC Cap for the ``SCHISM`` model +- Carsten Lemmen (**lead**) - carsten.lemmen@hzg.de +- Y. Joseph Zhang - yjzhang@vims.edu + +### ESMF / NUOPC Cap for the ``WW3`` model +- Ali Abdolali - ali.abdolali@noaa.gov + +Past Contributors: + +- Andre Van der Westhuysen - andre.vanderwesthuysen@noaa.gov + +### ``PaHM`` model and ESMF / NUOPC Cap for the ``PaHM`` model +- Panagiotis Velissariou (**lead**) - panagiotis.velissariou@noaa.gov + +### ``BARDATA`` data component and ESMF / NUOPC Cap for the ``BARDATA`` data component +- Panagiotis Velissariou (**lead**) - panagiotis.velissariou@noaa.gov + +### ``ATMESH`` data component and ESMF / NUOPC Cap for the ``ATMESH`` data component +- Saeed Moghimi (**lead**) saeed.moghimi@noaa.gov +- Panagiotis Velissariou - panagiotis.velissariou@noaa.gov + +Past Contributors: + +- Guoming Ling - gling@nd.edu + +### ``WW3DATA`` data component and ESMF / NUOPC Cap for the ``WW3DATA`` data component +- Saeed Moghimi (**lead**) saeed.moghimi@noaa.gov +- Panagiotis Velissariou - panagiotis.velissariou@noaa.gov + +Past Contributors: + +- Guoming Ling - gling@nd.edu + +### ESMF / NUOPC Cap for the ``NWM`` model +- Daniel Rosen (**lead**) - Daniel.Rosen@noaa.gov +- Jason Ducker - jason.ducker@noaa.gov +- Other colleagues from NWS / OWP + +Past Contributors: + +- Beheen Trimble - beheenmt@gmail.com + +## Contributing + +Feel free to fork this repository and create a pull request with +contributions. + +### Adding a new platform / compiler to compilation script + +The environment files are stored in the ``CoastalApp/modulefiles/`` directory following the +filename naming scheme: ``envmodules_.`` + +To compile *CoastalApp* in your own system you should create a similar file (if the system is not supported), +and then run ``build.sh`` as usual to compile the application. + +## Collaboration + +To collaborate and contribute to this repository follow below instructions: + +1. Go to https://github.com/noaa-ocs-modeling/CoastalApp +2. Create a fork (click `Fork` on the upper right corner), and fork to your account. +3. Clone your forked repository: ``git clone --recursive https://github.com//CoastalApp`` +4. Edit the files locally: ``git status`` +5. Commit changes: ``git commit -a -m "describe what you changed"`` +6. Push your changes to GitHub: ``git push`` +7. Enter your GitHub username/password if asked +8. Create a pull request with descriptions of changes at: ``https://github.com/noaa-ocs-modeling/CoastalApp/compare/...:`` + +## Citations + + +[1] Moghimi, S., Van der Westhuysen, A., Abdolali, A., Myers, E., Vinogradov, S., + Ma, Z., Liu, F., Mehra, A., & Kurkowski, N. (2020). Development of an ESMF + Based Flexible Coupling Application of ADCIRC and WAVEWATCH III for High + Fidelity Coastal Inundation Studies. Journal of Marine Science and + Engineering, 8(5), 308. https://doi.org/10.3390/jmse8050308 + + +[2] Moghimi, S., Vinogradov, S., Myers, E. P., Funakoshi, Y., Van der Westhuysen, + A. J., Abdolali, A., Ma, Z., & Liu, F. (2019). Development of a Flexible + Coupling Interface for ADCIRC model for Coastal Inundation Studies. NOAA + Technical Memorandum, NOS CS(41). + https://repository.library.noaa.gov/view/noaa/20609/ + + +[3] Moghimi, S., Westhuysen, A., Abdolali, A., Myers, E., Vinogradov, S., Ma, Z., + Liu, F., Mehra, A., & Kurkowski, N. (2020). Development of a Flexible + Coupling Framework for Coastal Inundation Studies. + https://arxiv.org/abs/2003.12652 + diff --git a/README-ufs_weather.md b/README-ufs_weather.md new file mode 100644 index 0000000000..311fec3b65 --- /dev/null +++ b/README-ufs_weather.md @@ -0,0 +1,56 @@ +[![Read The Docs Status](https://readthedocs.org/projects/ufs-weather-model/badge/?badge=latest)](http://ufs-weather-model.readthedocs.io/) + +# ufs-weather-model + +This is the UFS weather model source code + +# Where to find information + +Start at the [wiki](https://github.com/ufs-community/ufs-weather-model/wiki) which has quick start instructions. + +[User's reference guide](http://ufs-weather-model.readthedocs.io/) is hosted on read the docs. + +# What files are what + +The top level directory structure groups source code and input files as follow: + +| File/directory | Purpose | +| -------------- | ------- | +| ```LICENSE.md``` | A copy of the GNU Lesser General Public License, Version 3. | +| ```README.md``` | This file with basic pointers to more information. | +| ```NEMS/``` | Contains NOAA Environmental Modeling System source code and nems compset run scripts. | +| ```CMEPS-interface/``` | Contains CMEPS mediator | +| ```FV3/``` | Contains FV3 atmosphere model component including FV3 dynamical core, dynamics to physics driver, physics and IO. | +| ```DATM/``` | Contains Data Atmosphere model component | +| ```WW3/``` | Contains community wave modeling framework WW3. | +| ```MOM6-interface/``` | Contains MOM6 ocean model component | +| ```CICE-interface/``` | Contains CICE sea-ice model component including CICE6 and Icepack | +| ```stochastic_physics/``` | Contains the stochastic physics source code. | +| ```cmake/``` | Contains compile option files on various platforms. | +| ```modulefiles/``` | Contains module files on various platforms. | +| ```tests/``` | Regression and unit testing framework scripts. | +| ```build.sh``` | Script to build the model executable. (also used by `tests/`) | + +E.g. use of `build.sh` to build the coupled model with `FV3_GFS_v15p2` as the CCPP suite. +``` +$> CMAKE_FLAGS="-DAPP=S2S" CCPP_SUITES="FV3_GFS_v15p2" ./build.sh +``` +The build system is regularly tested with [Tier-1 and Tier-2 platforms]( +https://github.com/ufs-community/ufs-weather-model/wiki/Regression-Test-Policy-for-Weather-Model-Platforms-and-Compilers). +Configurations for other platforms that are available with UFS should be used with the understanding that they are not regularly +tested and users will have to adapt those to make it work. + +# Disclaimer + +The United States Department of Commerce (DOC) GitHub project code is provided +on an "as is" basis and the user assumes responsibility for its use. DOC has +relinquished control of the information and no longer has responsibility to +protect the integrity, confidentiality, or availability of the information. Any +claims against the Department of Commerce stemming from the use of its GitHub +project will be governed by all applicable Federal law. Any reference to +specific commercial products, processes, or services by service mark, +trademark, manufacturer, or otherwise, does not constitute or imply their +endorsement, recommendation or favoring by the Department of Commerce. The +Department of Commerce seal and logo, or the seal and logo of a DOC bureau, +shall not be used in any manner to imply endorsement of any commercial product +or activity by DOC or the United States Government. diff --git a/SCHISM-interface/CMakeLists.txt b/SCHISM-interface/CMakeLists.txt index d8dca6a3f0..3fd75c2829 100644 --- a/SCHISM-interface/CMakeLists.txt +++ b/SCHISM-interface/CMakeLists.txt @@ -33,6 +33,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/SCHISM-interface/SCHISM/cmake/ ############################################################################### set(BLD_STANDALONE "OFF") +set(BUILD_TOOLS "OFF") if(NOT NO_PARMETIS) # find parmetis @@ -82,10 +83,6 @@ endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/SCHISM/cmake/modules") add_subdirectory(SCHISM/src) -if(BUILD_TOOLS) - add_subdirectory(SCHISM/src/Utility) -endif() - list(APPEND schism_nuopc_src_files SCHISM-ESMF/src/schism/schism_nuopc_util.F90 SCHISM-ESMF/src/schism/schism_nuopc_cap.F90 diff --git a/SCHISM-interface/SCHISM b/SCHISM-interface/SCHISM index 38296610dd..38d9501fda 160000 --- a/SCHISM-interface/SCHISM +++ b/SCHISM-interface/SCHISM @@ -1 +1 @@ -Subproject commit 38296610ddb225c9aac75781d26a687739247311 +Subproject commit 38d9501fda5ac5849055e29978f6b4326b26c5f1 diff --git a/SCHISM-interface/SCHISM-ESMF b/SCHISM-interface/SCHISM-ESMF index 5c24e7a0c2..12e2ce4347 160000 --- a/SCHISM-interface/SCHISM-ESMF +++ b/SCHISM-interface/SCHISM-ESMF @@ -1 +1 @@ -Subproject commit 5c24e7a0c2ea6cdcc52f63e5296a98de20b457da +Subproject commit 12e2ce43475fe85212c60de7894524d22a1bab96 diff --git a/WW3 b/WW3 index 520900e519..80a5ad544d 160000 --- a/WW3 +++ b/WW3 @@ -1 +1 @@ -Subproject commit 520900e519cae1df94cd582294b64b55db84d789 +Subproject commit 80a5ad544d8997931dde7fa7c8ebad56612ed299 diff --git a/images/coastalapp-allbin.png b/images/coastalapp-allbin.png new file mode 100644 index 0000000000..404615ea7f Binary files /dev/null and b/images/coastalapp-allbin.png differ diff --git a/images/coastalapp-conf.png b/images/coastalapp-conf.png new file mode 100644 index 0000000000..652cc6cdf2 Binary files /dev/null and b/images/coastalapp-conf.png differ diff --git a/images/coastalapp-modulefiles.png b/images/coastalapp-modulefiles.png new file mode 100644 index 0000000000..9cdb880cc2 Binary files /dev/null and b/images/coastalapp-modulefiles.png differ diff --git a/images/coastalapp-root-01.png b/images/coastalapp-root-01.png new file mode 100644 index 0000000000..2e8f9d9dd7 Binary files /dev/null and b/images/coastalapp-root-01.png differ diff --git a/images/coastalapp-root.png b/images/coastalapp-root.png new file mode 100644 index 0000000000..b785b7ef03 Binary files /dev/null and b/images/coastalapp-root.png differ diff --git a/images/coastalapp-scripts.png b/images/coastalapp-scripts.png new file mode 100644 index 0000000000..e2e21d7d73 Binary files /dev/null and b/images/coastalapp-scripts.png differ diff --git a/images/coastalapp-tree.png b/images/coastalapp-tree.png new file mode 100644 index 0000000000..582251a367 Binary files /dev/null and b/images/coastalapp-tree.png differ diff --git a/images/coastalapp-usage.odt b/images/coastalapp-usage.odt new file mode 100644 index 0000000000..64eb112d95 Binary files /dev/null and b/images/coastalapp-usage.odt differ diff --git a/images/coastalapp-usage.pdf b/images/coastalapp-usage.pdf new file mode 100644 index 0000000000..697b24a71f Binary files /dev/null and b/images/coastalapp-usage.pdf differ diff --git a/images/coastalapp-usage.png b/images/coastalapp-usage.png new file mode 100644 index 0000000000..6c0791a30f Binary files /dev/null and b/images/coastalapp-usage.png differ diff --git a/images/coastalapp_logo.png b/images/coastalapp_logo.png new file mode 100644 index 0000000000..6108fa5078 Binary files /dev/null and b/images/coastalapp_logo.png differ diff --git a/images/coastalapp_models-1.png b/images/coastalapp_models-1.png new file mode 100644 index 0000000000..6c0ab4e422 Binary files /dev/null and b/images/coastalapp_models-1.png differ diff --git a/images/coastalapp_models-old.png b/images/coastalapp_models-old.png new file mode 100644 index 0000000000..8206bd7edb Binary files /dev/null and b/images/coastalapp_models-old.png differ diff --git a/images/coastalapp_models.png b/images/coastalapp_models.png new file mode 100644 index 0000000000..3e6d3a591e Binary files /dev/null and b/images/coastalapp_models.png differ diff --git a/images/coastalapp_usage_title.pdf b/images/coastalapp_usage_title.pdf new file mode 100644 index 0000000000..1c1291b0e1 Binary files /dev/null and b/images/coastalapp_usage_title.pdf differ diff --git a/images/coastalapp_usage_title.png b/images/coastalapp_usage_title.png new file mode 100644 index 0000000000..ba42a77714 Binary files /dev/null and b/images/coastalapp_usage_title.png differ diff --git a/images/coastalapp_usage_title1.pdf b/images/coastalapp_usage_title1.pdf new file mode 100644 index 0000000000..06645d315d Binary files /dev/null and b/images/coastalapp_usage_title1.pdf differ diff --git a/images/github-coastalapp.png b/images/github-coastalapp.png new file mode 100644 index 0000000000..89aacb5189 Binary files /dev/null and b/images/github-coastalapp.png differ diff --git a/images/ufs_coastal_models.png b/images/ufs_coastal_models.png new file mode 100644 index 0000000000..536a8b4ff5 Binary files /dev/null and b/images/ufs_coastal_models.png differ diff --git a/stochastic_physics b/stochastic_physics index a556180202..31e4e3e57b 160000 --- a/stochastic_physics +++ b/stochastic_physics @@ -1 +1 @@ -Subproject commit a5561802021d89a9a1e2b52cb69393efcdc6f71c +Subproject commit 31e4e3e57bad8a7cdaa0ce2d3c4efbca63b5f74a diff --git a/tests/parm/ufs.configure.coastal_datm_ocn_wav.IN b/tests/parm/ufs.configure.coastal_datm_ocn_wav.IN index 60be6f5380..802f812c5c 100644 --- a/tests/parm/ufs.configure.coastal_datm_ocn_wav.IN +++ b/tests/parm/ufs.configure.coastal_datm_ocn_wav.IN @@ -59,7 +59,7 @@ WAV_attributes:: DumpFields = false ProfileMemory = false merge_import = .false. - mesh_wav = mesh.shinnecock.cdf5.nc + mesh_wav = @[MESH_WAV] multigrid = false gridded_netcdfout = true diro = "." diff --git a/tests/parm/ufs.configure.coastal_datm_wav.IN b/tests/parm/ufs.configure.coastal_datm_wav.IN index 620151357f..5cc4be0156 100644 --- a/tests/parm/ufs.configure.coastal_datm_wav.IN +++ b/tests/parm/ufs.configure.coastal_datm_wav.IN @@ -45,7 +45,7 @@ WAV_attributes:: DumpFields = false ProfileMemory = false merge_import = .false. - mesh_wav = mesh.shinnecock.cdf5.nc + mesh_wav = @[MESH_WAV] multigrid = false gridded_netcdfout = true diro = "." diff --git a/tests/parm/ufs.configure.coastal_wav.IN b/tests/parm/ufs.configure.coastal_wav.IN index 265386b08d..0f43145ec3 100644 --- a/tests/parm/ufs.configure.coastal_wav.IN +++ b/tests/parm/ufs.configure.coastal_wav.IN @@ -21,7 +21,7 @@ WAV_attributes:: DumpFields = false ProfileMemory = false merge_import = .false. - mesh_wav = mesh.shinnecock.cdf5.nc + mesh_wav = @[MESH_WAV] multigrid = false gridded_netcdfout = true diro = "." diff --git a/tests/rt.sh b/tests/rt.sh index 9baa68873c..200c3909b8 100755 --- a/tests/rt.sh +++ b/tests/rt.sh @@ -391,8 +391,8 @@ elif [[ $MACHINE_ID = hercules ]]; then ECFLOW_START=/work/noaa/epic/role-epic/spack-stack/hercules/ecflow-5.8.4/bin/ecflow_start.sh ECF_PORT=$(( $(id -u) + 1500 )) - QUEUE=windfall - COMPILE_QUEUE=windfall + QUEUE=batch + COMPILE_QUEUE=batch PARTITION=hercules dprefix=/work2/noaa/stmp/${USER} DISKNM=/work/noaa/epic/hercules/UFS-WM_RT @@ -652,8 +652,8 @@ if [[ $ROCOTO == true ]]; then COMPILE_QUEUE=batch ROCOTO_SCHEDULER=slurm elif [[ $MACHINE_ID = hercules ]]; then - QUEUE=windfall - COMPILE_QUEUE=windfall + QUEUE=batch + COMPILE_QUEUE=batch ROCOTO_SCHEDULER=slurm elif [[ $MACHINE_ID = s4 ]]; then QUEUE=s4 @@ -744,7 +744,7 @@ EOF elif [[ $MACHINE_ID = orion ]]; then QUEUE=batch elif [[ $MACHINE_ID = hercules ]]; then - QUEUE=windfall + QUEUE=batch elif [[ $MACHINE_ID = jet ]]; then QUEUE=batch elif [[ $MACHINE_ID = s4 ]]; then diff --git a/tests/rt_coastal.conf b/tests/rt_coastal.conf index 3b3259ad31..c20d1df0d1 100644 --- a/tests/rt_coastal.conf +++ b/tests/rt_coastal.conf @@ -21,40 +21,21 @@ ### Intel Tests ### ### COASTAL ### -########## -### ADCIRC tests: 1-5 -COMPILE | 1 | intel | -DAPP=CSTLA -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | -RUN | coastal_florence_hsofs_atm2adc | | baseline | -RUN | coastal_ike_shinnecock_atm2adc | | baseline | - -COMPILE | 2 | intel | -DAPP=CSTLAW -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | -RUN | coastal_florence_hsofs.atm2adc2ww3 | | baseline | -RUN | coastal_ike_shinnecock.atm2adc2ww3 | | baseline | - -COMPILE | 3 | intel | -DAPP=CSTLPA -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | -RUN | coastal_florence_hsofs.pam2adc | | baseline | -RUN | coastal_sandy_shinnecock.pam2adc | | baseline | - -COMPILE | 4 | intel | -DAPP=CSTLPAW -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | -RUN | coastal_florence_hsofs.pam2adc2ww3 | | baseline | -RUN | coastal_sandy_shinnecock.pam2adc2ww3 | | baseline | - -########## -### FVCOM tests: 6-10 -COMPILE | 6 | intel | -DAPP=CSTLF -DCOORDINATE_TYPE=SPHERICAL -DWET_DRY=ON | | fv3 | -RUN | coastal_scituateharbor_atm2fvc | | baseline | - ########## ### SCHISM tests: 11-15 COMPILE | 11 | intel | -DAPP=CSTLS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | -RUN | coastal_florence_hsofs.atm2sch | | baseline | -RUN | coastal_ike_shinnecock_atm2sch | | baseline | +RUN | coastal_florence_hsofs_atm2sch | | baseline | +RUN | coastal_idealized_shinnecock_sch | | baseline | +RUN | coastal_idealized_shinnecock_atm2sch | | baseline | +RUN | coastal_sandy_shinnecock_sch | | baseline | +RUN | coastal_sandy_shinnecock_atm2sch | | baseline | #P.V We might need test cases to use the internal wave model (WWM: -DUSE_WWM=ON) -#P.V It might be simpler to setup a test case using WWM COMPILE | 12 | intel | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON | | fv3 | -RUN | coastal_florence_hsofs.atm2sch2ww3 | | baseline | -RUN | coastal_ike_shinnecock_atm2sch2ww3 | | baseline | +RUN | coastal_florence_hsofs_atm2sch2ww3 | | baseline | +RUN | coastal_florence_hsofs_atm2sch2ww3_nobc | | baseline | +RUN | coastal_idealized_shinnecock_atm2sch2ww3 | | baseline | +RUN | coastal_sandy_shinnecock_atm2sch2ww3 | | baseline | COMPILE | 12 | intel | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON -DDEBUG=ON | | fv3 | RUN | coastal_ike_shinnecock_atm2sch2ww3_debug | | baseline | @@ -63,21 +44,16 @@ COMPILE | 12 | gnu | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OF RUN | coastal_ike_shinnecock_atm2sch2ww3 | | baseline | COMPILE | 13 | intel | -DAPP=CSTLS -DUSE_PAHM=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | -RUN | coastal_florence_hsofs_sch_pam | | baseline | -RUN | coastal_sandy_shinnecock.sch_pam | | baseline | +RUN | coastal_florence_hsofs_sch_pam | | baseline | +RUN | coastal_sandy_shinnecock_sch_pam | | baseline | COMPILE | 14 | intel | -DAPP=CSTLPS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | -RUN | coastal_florence_hsofs.pam2sch | | baseline | -RUN | coastal_sandy_shinnecock_pam2sch | | baseline | +RUN | coastal_florence_hsofs_pam2sch | | baseline | +RUN | coastal_sandy_shinnecock_pam2sch | | baseline | COMPILE | 15 | intel | -DAPP=CSTLPSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | -RUN | coastal_florence_hsofs.pam2sch2ww3 | | baseline | -RUN | coastal_sandy_shinnecock_pam2sch2ww3 | | baseline | - -########## -### ROMS tests: 16-20 -COMPILE | 16 | intel | -DAPP=CSTLR -DMY_CPP_FLAGS=BULK_FLUXES | | fv3 | -RUN | coastal_irene_atm2roms | | baseline | +RUN | coastal_florence_hsofs_pam2sch2ww3 | | baseline | +RUN | coastal_sandy_shinnecock_pam2sch2ww3 | | baseline | ########## ### PAHM tests: 21-25 @@ -85,5 +61,5 @@ RUN | coastal_irene_atm2roms | | baseline | ########## ### WW3 tests: 26-30 COMPILE | 26 | intel | -DAPP=CSTLW -DPDLIB=ON | | fv3 | -RUN | coastal_ike_shinnecock_ww3 | | baseline | -RUN | coastal_ike_shinnecock_atm2ww3 | | baseline | +RUN | coastal_idealized_shinnecock_ww3 | | baseline | +RUN | coastal_idealized_shinnecock_atm2ww3 | | baseline | diff --git a/tests/rt_coastal_all.conf b/tests/rt_coastal_all.conf new file mode 100644 index 0000000000..cda75501b9 --- /dev/null +++ b/tests/rt_coastal_all.conf @@ -0,0 +1,89 @@ +### RT.CONF FORMATTING ### +# COMPILE Line ( Items separated by a | ) +# Item 1: COMPILE - This tells rt.conf the following information is to be used in setting up a compile job +# Item 2: Compile number - must be sequential in rt.conf - use as a reference for compile failures +# Item 3: Compiler to use in build (intel or gnu) +# Item 4: CMAKE Options - Provide all CMAKE options for the build +# Item 5: Machines to run on (- is used to ignore specified machines, + is used to only run on specified machines) +## -> EX: + hera orion gaea = compile will only run on hera orion and gaea machines +## -> EX: - wcoss2 acorn = compile will NOT be run on wcoss2 or acorn +# Item 6: [set as fv3]. Used to control the compile job only if FV3 was present, previously used to run a test w/o compiling code +# +# RUN Line ( Items separated by a | ) +## NOTE: The build resulting from the COMPILE line above the RUN line will be used to run the test +# Item 1: RUN - This tells rt.conf the following information is to be used in setting up a model run +# Item 2: Test name. (Which test in the tests/tests directory should be sourced) +# Item 3: Machines to run on (- is used to ignore specified machines, + is used to only run on specified machines). +## reference example above +# Item 4: Controls whether the run creates its own baseline or it uses the baseline from a different (control) test. +# Item 5: Test name to compare baselines with if not itself. + +### Intel Tests ### +### COASTAL ### + +########## +### ADCIRC tests: 1-5 +COMPILE | 1 | intel | -DAPP=CSTLA -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | +RUN | coastal_florence_hsofs_atm2adc | | baseline | +RUN | coastal_idealized_shinnecock_atm2adc | | baseline | +RUN | coastal_sandy_shinnecock_atm2adc | | baseline | + +COMPILE | 2 | intel | -DAPP=CSTLAW -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | +RUN | coastal_florence_hsofs_atm2adc2ww3 | | baseline | +RUN | coastal_idealized_shinnecock_atm2adc2ww3 | | baseline | +RUN | coastal_sandy_shinnecock_atm2adc2ww3 | | baseline | + +COMPILE | 3 | intel | -DAPP=CSTLPA -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | +RUN | coastal_florence_hsofs_pam2adc | | baseline | +RUN | coastal_sandy_shinnecock_pam2adc | | baseline | + +COMPILE | 4 | intel | -DAPP=CSTLPAW -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | +RUN | coastal_florence_hsofs_pam2adc2ww3 | | baseline | +RUN | coastal_sandy_shinnecock_pam2adc2ww3 | | baseline | + +########## +### FVCOM tests: 6-10 +COMPILE | 6 | intel | -DAPP=CSTLF -DCOORDINATE_TYPE=SPHERICAL -DWET_DRY=ON | | fv3 | +RUN | coastal_scituateharbor_atm2fvc | | baseline | + +########## +### SCHISM tests: 11-15 +COMPILE | 11 | intel | -DAPP=CSTLS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | +RUN | coastal_florence_hsofs_atm2sch | | baseline | +RUN | coastal_idealized_shinnecock_sch | | baseline | +RUN | coastal_idealized_shinnecock_atm2sch | | baseline | +RUN | coastal_sandy_shinnecock_sch | | baseline | +RUN | coastal_sandy_shinnecock_atm2sch | | baseline | + +#P.V We might need test cases to use the internal wave model (WWM: -DUSE_WWM=ON) +COMPILE | 12 | intel | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON | | fv3 | +RUN | coastal_florence_hsofs_atm2sch2ww3 | | baseline | +RUN | coastal_florence_hsofs_atm2sch2ww3_nobc | | baseline | +RUN | coastal_idealized_shinnecock_atm2sch2ww3 | | baseline | +RUN | coastal_sandy_shinnecock_atm2sch2ww3 | | baseline | + +COMPILE | 13 | intel | -DAPP=CSTLS -DUSE_PAHM=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | +RUN | coastal_florence_hsofs_sch_pam | | baseline | +RUN | coastal_sandy_shinnecock_sch_pam | | baseline | + +COMPILE | 14 | intel | -DAPP=CSTLPS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | +RUN | coastal_florence_hsofs_pam2sch | | baseline | +RUN | coastal_sandy_shinnecock_pam2sch | | baseline | + +COMPILE | 15 | intel | -DAPP=CSTLPSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | +RUN | coastal_florence_hsofs_pam2sch2ww3 | | baseline | +RUN | coastal_sandy_shinnecock_pam2sch2ww3 | | baseline | + +########## +### ROMS tests: 16-20 +COMPILE | 16 | intel | -DAPP=CSTLR -DMY_CPP_FLAGS=BULK_FLUXES | | fv3 | +RUN | coastal_irene_atm2roms | | baseline | + +########## +### PAHM tests: 21-25 + +########## +### WW3 tests: 26-30 +COMPILE | 26 | intel | -DAPP=CSTLW -DPDLIB=ON | | fv3 | +RUN | coastal_idealized_shinnecock_ww3 | | baseline | +RUN | coastal_idealized_shinnecock_atm2ww3 | | baseline | diff --git a/tests/rt_coastal_testing.conf b/tests/rt_coastal_testing.conf new file mode 100644 index 0000000000..43d77cea83 --- /dev/null +++ b/tests/rt_coastal_testing.conf @@ -0,0 +1,56 @@ +### RT.CONF FORMATTING ### +# COMPILE Line ( Items separated by a | ) +# Item 1: COMPILE - This tells rt.conf the following information is to be used in setting up a compile job +# Item 2: Compile number - must be sequential in rt.conf - use as a reference for compile failures +# Item 3: Compiler to use in build (intel or gnu) +# Item 4: CMAKE Options - Provide all CMAKE options for the build +# Item 5: Machines to run on (- is used to ignore specified machines, + is used to only run on specified machines) +## -> EX: + hera orion gaea = compile will only run on hera orion and gaea machines +## -> EX: - wcoss2 acorn = compile will NOT be run on wcoss2 or acorn +# Item 6: [set as fv3]. Used to control the compile job only if FV3 was present, previously used to run a test w/o compiling code +# +# RUN Line ( Items separated by a | ) +## NOTE: The build resulting from the COMPILE line above the RUN line will be used to run the test +# Item 1: RUN - This tells rt.conf the following information is to be used in setting up a model run +# Item 2: Test name. (Which test in the tests/tests directory should be sourced) +# Item 3: Machines to run on (- is used to ignore specified machines, + is used to only run on specified machines). +## reference example above +# Item 4: Controls whether the run creates its own baseline or it uses the baseline from a different (control) test. +# Item 5: Test name to compare baselines with if not itself. + +### Intel Tests ### +### COASTAL ### + +########## +### ADCIRC tests: 1-5 +COMPILE | 1 | intel | -DAPP=CSTLA -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | +RUN | coastal_florence_hsofs_atm2adc | | baseline | +RUN | coastal_idealized_shinnecock_atm2adc | | baseline | +RUN | coastal_sandy_shinnecock_atm2adc | | baseline | + +COMPILE | 2 | intel | -DAPP=CSTLAW -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | +RUN | coastal_florence_hsofs_atm2adc2ww3 | | baseline | +RUN | coastal_idealized_shinnecock_atm2adc2ww3 | | baseline | +RUN | coastal_sandy_shinnecock_atm2adc2ww3 | | baseline | + +COMPILE | 3 | intel | -DAPP=CSTLPA -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | +RUN | coastal_florence_hsofs_pam2adc | | baseline | +RUN | coastal_sandy_shinnecock_pam2adc | | baseline | + +COMPILE | 4 | intel | -DAPP=CSTLPAW -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | +RUN | coastal_florence_hsofs_pam2adc2ww3 | | baseline | +RUN | coastal_sandy_shinnecock_pam2adc2ww3 | | baseline | + +########## +### FVCOM tests: 6-10 +COMPILE | 6 | intel | -DAPP=CSTLF -DCOORDINATE_TYPE=SPHERICAL -DWET_DRY=ON | | fv3 | +RUN | coastal_scituateharbor_atm2fvc | | baseline | + +########## +### ROMS tests: 16-20 +COMPILE | 16 | intel | -DAPP=CSTLR -DMY_CPP_FLAGS=BULK_FLUXES | | fv3 | +RUN | coastal_irene_atm2roms | | baseline | + +########## +### PAHM tests: 21-25 + diff --git a/tests/tests/coastal_florence_hsofs_atm2adc b/tests/tests/coastal_florence_hsofs_atm2adc index 4618bf847a..3b0ab263ee 100644 --- a/tests/tests/coastal_florence_hsofs_atm2adc +++ b/tests/tests/coastal_florence_hsofs_atm2adc @@ -1,6 +1,6 @@ ############################################################################### # -# ADCIRC standalone florence_shinnecock_atm2adc configuration +# ADCIRC coupled florence_shinnecock_atm2adc configuration # ############################################################################### diff --git a/tests/tests/coastal_florence_hsofs_atm2adc2ww3 b/tests/tests/coastal_florence_hsofs_atm2adc2ww3 new file mode 100644 index 0000000000..7605ed9112 --- /dev/null +++ b/tests/tests/coastal_florence_hsofs_atm2adc2ww3 @@ -0,0 +1,107 @@ +############################################################################### +# +# ADCIRC coupled florence_hsofs_atm2adc2ww3 configuration +# +############################################################################### + +export TEST_DESCR="Compare florence_hsofs_atm2adc2ww3 results with previous trunk version" + +export CNTL_DIR=coastal_florence_hsofs_atm2adc2ww3 + +export LIST_FILES="fort.74.nc \ + fort.73.nc \ + fort.64.nc \ + fort.63.nc \ + fort.61.nc \ + ufs.cpld.cpl.hi.2018-09-10-00000.nc \ + ufs.cpld.cpl.hi.2018-09-11-00000.nc \ + ufs.cpld.cpl.hi.2018-09-12-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2018 +export SMONTH=09 +export SDAY=10 +export SHOUR=00 +export FHMAX=1 +#export FHMAX=7 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN +export atm_datamode="ATMMESH" +export MESH_ATM="Wind_Pressure_HWRF_Florence_ExtendedSmooth_ESMFmesh.nc" +export ATM_NX_GLB=3241 +export ATM_NY_GLB=2761 +export EXPORT_ALL=.true. +export FILENAME_BASE='atmmesh.' +export STREAM_VECTORS="null" +export stream_files="\"INPUT/Wind_Pressure_HWRF_Florence_ExtendedSmooth.nc\"" +export stream_variables="\"uwnd Sa_u10m\" \"vwnd Sa_v10m\" \"P Sa_pslv\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# datm/ocean +export HURR="Florence" +export CPL_CONF="atm2adc2ww3" + +# pes +export ATM_compute_tasks=20 +export OCN_tasks=240 +export WAV_tasks=480 + +export WLCLK=120 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN +export med_model=cmeps +export med_omp_num_threads=1 +export atm_model=datm +export atm_omp_num_threads=1 +export ocn_model=adcirc +export ocn_omp_num_threads=1 +export wav_model=ww3 +export wav_omp_num_threads=1 +export MESH_WAV="HSOFS_ESMFmesh.nc" +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm_atmmesh.IN coastal_schism_run.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_florence_hsofs_atm2sch b/tests/tests/coastal_florence_hsofs_atm2sch index a9143cf54e..f211c80e80 100644 --- a/tests/tests/coastal_florence_hsofs_atm2sch +++ b/tests/tests/coastal_florence_hsofs_atm2sch @@ -1,6 +1,6 @@ ############################################################################### # -# SCHISM standalone florence_hsofs_atm2sch configuration +# SCHISM coupled florence_hsofs_atm2sch configuration # ############################################################################### @@ -9,13 +9,14 @@ export TEST_DESCR="Compare florence_hsofs_atm2sch results with previous trunk ve export CNTL_DIR=coastal_florence_hsofs_atm2sch export LIST_FILES="outputs/schout_000000_1.nc \ - outputs/schout_000000_2.nc \ outputs/schout_000001_1.nc \ - outputs/schout_000001_2.nc \ outputs/schout_000002_1.nc \ - outputs/schout_000002_2.nc \ outputs/schout_000003_1.nc \ - outputs/schout_000003_2.nc" + outputs/schout_000004_1.nc \ + outputs/schout_000005_1.nc \ + outputs/schout_000006_1.nc \ + outputs/schout_000007_1.nc \ + outputs/schout_000008_1.nc" # deafult options export_coastal @@ -23,9 +24,10 @@ export_coastal # model_configure export SYEAR=2018 export SMONTH=09 -export SDAY=07 +export SDAY=10 export SHOUR=00 -export FHMAX=6 +export FHMAX=1 +#export FHMAX=7 export FHROT=0 # not used export DT_ATMOS=720 @@ -59,15 +61,16 @@ fi # datm export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN export atm_datamode="ATMMESH" -export MESH_ATM="INPUT_DATM/Florence_CFS_ESMFmesh.nc" -export ATM_NX_GLB=264 -export ATM_NY_GLB=201 +export MESH_ATM="Wind_Pressure_HWRF_Florence_ExtendedSmooth_ESMFmesh.nc" +export ATM_NX_GLB=3241 +export ATM_NY_GLB=2761 export EXPORT_ALL=.true. export FILENAME_BASE='atmmesh.' export STREAM_VECTORS="null" -export stream_files="\"INPUT_DATM/Florence_CFS.nc\"" -export stream_variables="\"U_GRD_L103 Sa_u10m\" \"V_GRD_L103 Sa_v10m\" \"PRES_L1 Sa_pslv\"" +export stream_files="\"INPUT/Wind_Pressure_HWRF_Florence_ExtendedSmooth.nc\"" +export stream_variables="\"uwnd Sa_u10m\" \"vwnd Sa_v10m\" \"P Sa_pslv\"" export mapalgo=redist export dtlimit=1.5 export STREAM_OFFSET=0 @@ -77,15 +80,20 @@ export HURR="Florence" export CPL_CONF="atm2sch" # pes -export ATM_compute_tasks=16 -export OCN_tasks=149 +export ATM_compute_tasks=20 +export OCN_tasks=240 + +export WLCLK=60 # configuration export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn.IN export med_model=cmeps +export med_omp_num_threads=1 export atm_model=datm +export atm_omp_num_threads=1 export ocn_model=schism +export ocn_omp_num_threads=1 export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup diff --git a/tests/tests/coastal_florence_hsofs_atm2sch2ww3 b/tests/tests/coastal_florence_hsofs_atm2sch2ww3 index 8ba3b0ed2a..01c8fc93c9 100644 --- a/tests/tests/coastal_florence_hsofs_atm2sch2ww3 +++ b/tests/tests/coastal_florence_hsofs_atm2sch2ww3 @@ -1,6 +1,6 @@ ############################################################################### # -# SCHISM standalone florence_hsofs_atm2sch2ww3 configuration +# SCHISM coupled florence_hsofs_atm2sch2ww3 configuration # ############################################################################### @@ -9,13 +9,24 @@ export TEST_DESCR="Compare florence_hsofs_atm2sch2ww3 results with previous trun export CNTL_DIR=coastal_florence_hsofs_atm2sch2ww3 export LIST_FILES="outputs/schout_000000_1.nc \ - outputs/schout_000000_2.nc \ outputs/schout_000001_1.nc \ - outputs/schout_000001_2.nc \ outputs/schout_000002_1.nc \ - outputs/schout_000002_2.nc \ outputs/schout_000003_1.nc \ - outputs/schout_000003_2.nc" + outputs/schout_000004_1.nc \ + outputs/schout_000005_1.nc \ + outputs/schout_000006_1.nc \ + outputs/schout_000007_1.nc \ + outputs/schout_000008_1.nc + 20180910.000000.out_grd.ww3.nc \ + 20180911.000000.out_grd.ww3.nc \ + 20180912.000000.out_grd.ww3.nc \ + 20180913.000000.out_grd.ww3.nc \ + 20180914.000000.out_grd.ww3.nc \ + ufs.cpld.cpl.hi.2018-09-10-00000.nc \ + ufs.cpld.cpl.hi.2018-09-11-00000.nc \ + ufs.cpld.cpl.hi.2018-09-12-00000.nc \ + ufs.cpld.cpl.hi.2018-09-13-00000.nc \ + ufs.cpld.cpl.hi.2018-09-14-00000.nc" # deafult options export_coastal @@ -23,9 +34,10 @@ export_coastal # model_configure export SYEAR=2018 export SMONTH=09 -export SDAY=07 +export SDAY=10 export SHOUR=00 -export FHMAX=6 +export FHMAX=1 +#export FHMAX=7 export FHROT=0 # not used export DT_ATMOS=720 @@ -59,15 +71,16 @@ fi # datm export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN export atm_datamode="ATMMESH" -export MESH_ATM="INPUT_DATM/Florence_CFS_ESMFmesh.nc" -export ATM_NX_GLB=264 -export ATM_NY_GLB=201 +export MESH_ATM="Wind_Pressure_HWRF_Florence_ExtendedSmooth_ESMFmesh.nc" +export ATM_NX_GLB=3241 +export ATM_NY_GLB=2761 export EXPORT_ALL=.true. export FILENAME_BASE='atmmesh.' export STREAM_VECTORS="null" -export stream_files="\"INPUT_DATM/Florence_CFS.nc\"" -export stream_variables="\"U_GRD_L103 Sa_u10m\" \"V_GRD_L103 Sa_v10m\" \"PRES_L1 Sa_pslv\"" +export stream_files="\"INPUT/Wind_Pressure_HWRF_Florence_ExtendedSmooth.nc\"" +export stream_variables="\"uwnd Sa_u10m\" \"vwnd Sa_v10m\" \"P Sa_pslv\"" export mapalgo=redist export dtlimit=1.5 export STREAM_OFFSET=0 @@ -77,15 +90,24 @@ export HURR="Florence" export CPL_CONF="atm2sch2ww3" # pes -export ATM_compute_tasks=16 -export OCN_tasks=149 +export ATM_compute_tasks=20 +export OCN_tasks=240 +export WAV_tasks=480 + +export WLCLK=120 # configuration export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN export med_model=cmeps +export med_omp_num_threads=1 export atm_model=datm +export atm_omp_num_threads=1 export ocn_model=schism +export ocn_omp_num_threads=1 +export wav_model=ww3 +export wav_omp_num_threads=1 +export MESH_WAV="HSOFS_hgrid_ESMFmesh.nc" export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup diff --git a/tests/tests/coastal_florence_hsofs_atm2sch2ww3_nobc b/tests/tests/coastal_florence_hsofs_atm2sch2ww3_nobc new file mode 100644 index 0000000000..458ff5d5e2 --- /dev/null +++ b/tests/tests/coastal_florence_hsofs_atm2sch2ww3_nobc @@ -0,0 +1,20 @@ +############################################################################### +# +# SCHISM coupled florence_hsofs_atm2sch2ww3_nobc configuration +# +############################################################################### + +# Inherit the basic configuration from: coastal_florence_hsofs_atm2sch2ww3 +source tests/coastal_florence_hsofs_atm2sch2ww3 + + +export TEST_DESCR="Compare florence_hsofs_atm2sch2ww3_nobc results with previous trunk version" + +export CNTL_DIR=coastal_florence_hsofs_atm2sch2ww3_nobc + + +# datm/ocean +export CPL_CONF="atm2sch2ww3_nobc" + +# configuration +export MESH_WAV="HSOFS_hgrid_nobc_ESMFmesh.nc" diff --git a/tests/tests/coastal_florence_hsofs_pam2adc b/tests/tests/coastal_florence_hsofs_pam2adc new file mode 100644 index 0000000000..cc76daf15d --- /dev/null +++ b/tests/tests/coastal_florence_hsofs_pam2adc @@ -0,0 +1,85 @@ +############################################################################### +# +# ADCIRC+PAHM florence_hsofs_pam2adc configuration +# +############################################################################### + +export TEST_DESCR="Compare florence_hsofs_pam2adc results with previous trunk version" + +export CNTL_DIR=coastal_florence_hsofs_pam2adc + +export LIST_FILES="fort.74.nc \ + fort.73.nc \ + fort.64.nc \ + fort.63.nc \ + fort.61.nc \ + ufs.cpld.cpl.hi.2018-09-07-00000.nc \ + ufs.cpld.cpl.hi.2018-09-08-00000.nc \ + ufs.cpld.cpl.hi.2018-09-09-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2018 +export SMONTH=09 +export SDAY=02 +export SHOUR=00 +export FHMAX=24 # One day for testing +#export FHMAX=264 # Full simulation for the hurricane period +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 + +# ocean +export HURR="Florence" +export CPL_CONF="pam2adc" + +# pes +export ATM_compute_tasks=1 +export OCN_tasks=11 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn.IN +export med_model=cmeps +export med_petlist_bounds="0 11" +export med_omp_num_threads=1 +export atm_model=pahm +export atm_petlist_bounds="0 0" +export atm_omp_num_threads=1 +export ocn_model=adcirc +export ocn_petlist_bounds="1 11" +export ocn_omp_num_threads=1 +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_pahm_run.IN coastal_schism_run.IN" diff --git a/tests/tests/coastal_florence_hsofs_pam2adc2ww3 b/tests/tests/coastal_florence_hsofs_pam2adc2ww3 new file mode 100644 index 0000000000..9d0417db4b --- /dev/null +++ b/tests/tests/coastal_florence_hsofs_pam2adc2ww3 @@ -0,0 +1,88 @@ +############################################################################### +# +# ADCIRC coupled florence_hsofs_pam2adc2ww3 configuration +# +############################################################################### + +export TEST_DESCR="Compare florence_hsofs_pam2adc2ww3 results with previous trunk version" + +export CNTL_DIR=coastal_florence_hsofs_pam2adc2ww3 + +export LIST_FILES="fort.74.nc \ + fort.73.nc \ + fort.64.nc \ + fort.63.nc \ + fort.61.nc \ + ufs.cpld.cpl.hi.2018-09-10-00000.nc \ + ufs.cpld.cpl.hi.2018-09-11-00000.nc \ + ufs.cpld.cpl.hi.2018-09-12-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2018 +export SMONTH=09 +export SDAY=07 +export SHOUR=00 +export FHMAX=6 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# pes +export ATM_compute_tasks=1 +export OCN_tasks=240 +export WAV_tasks=480 + +export WLCLK=120 + +# configuration +export HURR="Florence" +export CPL_CONF="pam2adc2ww3" +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN +export med_model=cmeps +export med_omp_num_threads=1 +export atm_model=pahm +export atm_omp_num_threads=1 +export ocn_model=adcirc +export ocn_omp_num_threads=1 +export wav_model=ww3 +export wav_omp_num_threads=1 +export MESH_WAV="HSOFS_ESMFmesh.nc" +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_schism_run.IN coastal_pahm_run.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_florence_hsofs_pam2sch2ww3 b/tests/tests/coastal_florence_hsofs_pam2sch2ww3 index ef888b9524..715b818cef 100644 --- a/tests/tests/coastal_florence_hsofs_pam2sch2ww3 +++ b/tests/tests/coastal_florence_hsofs_pam2sch2ww3 @@ -1,6 +1,6 @@ ############################################################################### # -# SCHISM standalone florence_hsofs_pam2sch2ww3 configuration +# SCHISM coupled florence_hsofs_pam2sch2ww3 configuration # ############################################################################### @@ -9,13 +9,19 @@ export TEST_DESCR="Compare florence_hsofs_pam2sch2ww3 results with previous trun export CNTL_DIR=coastal_florence_hsofs_pam2sch2ww3 export LIST_FILES="outputs/schout_000000_1.nc \ - outputs/schout_000000_2.nc \ outputs/schout_000001_1.nc \ - outputs/schout_000001_2.nc \ outputs/schout_000002_1.nc \ - outputs/schout_000002_2.nc \ outputs/schout_000003_1.nc \ - outputs/schout_000003_2.nc" + outputs/schout_000004_1.nc \ + outputs/schout_000005_1.nc \ + outputs/schout_000006_1.nc \ + outputs/schout_000007_1.nc \ + outputs/schout_000008_1.nc \ + 20180910.000000.out_grd.ww3.nc \ + 20180911.000000.out_grd.ww3.nc \ + 20180912.000000.out_grd.ww3.nc \ + 20180913.000000.out_grd.ww3.nc \ + 20180914.000000.out_grd.ww3.nc" # deafult options export_coastal @@ -23,9 +29,10 @@ export_coastal # model_configure export SYEAR=2018 export SMONTH=09 -export SDAY=07 +export SDAY=10 export SHOUR=00 -export FHMAX=6 +export FHMAX=1 +#export FHMAX=7 export FHROT=0 # not used export DT_ATMOS=720 @@ -59,8 +66,10 @@ fi # pes export ATM_compute_tasks=1 -export OCN_tasks=149 -export WAV_tasks=350 +export OCN_tasks=240 +export WAV_tasks=480 + +export WLCLK=120 # configuration export HURR="Florence" @@ -68,17 +77,14 @@ export CPL_CONF="pam2sch2ww3" export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN export med_model=cmeps -export med_petlist_bounds="0 499" export med_omp_num_threads=1 export atm_model=pahm -export atm_petlist_bounds="0 499" export atm_omp_num_threads=1 export ocn_model=schism -export ocn_petlist_bounds="0 499" export ocn_omp_num_threads=1 export wav_model=ww3 -export wav_petlist_bounds="0 499" export wav_omp_num_threads=1 +export MESH_WAV="HSOFS_hgrid_ESMFmesh.nc" export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup diff --git a/tests/tests/coastal_idealized_shinnecock_atm2adc b/tests/tests/coastal_idealized_shinnecock_atm2adc new file mode 100644 index 0000000000..a7a7b48e94 --- /dev/null +++ b/tests/tests/coastal_idealized_shinnecock_atm2adc @@ -0,0 +1,97 @@ +############################################################################### +# +# ADCIRC coupled idealized_shinnecock_atm2adc configuration +# +############################################################################### + +export TEST_DESCR="Compare idealized_shinnecock_atm2adc results with previous trunk version" + +export CNTL_DIR=coastal_idealized_shinnecock_atm2adc + +export LIST_FILES="fort.74.nc \ + fort.73.nc \ + fort.64.nc \ + fort.63.nc \ + fort.61.nc \ + ufs.cpld.cpl.hi.2008-09-04-43200.nc \ + ufs.cpld.cpl.hi.2008-09-05-00000.nc \ + ufs.cpld.cpl.hi.2008-09-05-43200.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2008 +export SMONTH=09 +export SDAY=04 +export SHOUR=00 +export FHMAX=36 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN +export atm_datamode="ATMMESH" +export MESH_ATM="wind_atm_fin_ch_time_vec_ESMFmesh.nc" +export ATM_NX_GLB=101 +export ATM_NY_GLB=101 +export EXPORT_ALL=.true. +export FILENAME_BASE='atmmesh.' +export STREAM_VECTORS="null" +export stream_files="\"INPUT/wind_atm_fin_ch_time_vec_STR_fixed.nc\"" +export stream_variables="\"uwnd Sa_u10m\" \"vwnd Sa_v10m\" \"P Sa_pslv\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# datm/ocean +export HURR="Idealized" +export CPL_CONF="atm2adc" + +# pes +export ATM_compute_tasks=11 +export OCN_tasks=11 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn.IN +export med_model=cmeps +export atm_model=datm +export ocn_model=adcirc +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm_atmmesh.IN coastal_adcirc_run.IN" diff --git a/tests/tests/coastal_idealized_shinnecock_atm2adc2ww3 b/tests/tests/coastal_idealized_shinnecock_atm2adc2ww3 new file mode 100644 index 0000000000..a7fa1fc4a9 --- /dev/null +++ b/tests/tests/coastal_idealized_shinnecock_atm2adc2ww3 @@ -0,0 +1,106 @@ +############################################################################### +# +# ADCIRC coupled idealized_shinnecock_atm2adc2ww3 configuration +# +############################################################################### + +export TEST_DESCR="Compare idealized_shinnecock_atm2adc2ww3 results with previous trunk version" + +export CNTL_DIR=coastal_idealized_shinnecock_atm2adc2ww3 + +export LIST_FILES="fort.74.nc \ + fort.73.nc \ + fort.64.nc \ + fort.63.nc \ + fort.61.nc \ + ufs.cpld.cpl.hi.2018-09-07-00000.nc \ + ufs.cpld.cpl.hi.2018-09-08-00000.nc \ + ufs.cpld.cpl.hi.2018-09-09-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2008 +export SMONTH=08 +export SDAY=23 +export SHOUR=00 +export FHMAX=120 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN +export atm_datamode="ATMMESH" +export MESH_ATM="wind_atm_fin_ch_time_vec_ESMFmesh.nc" +export ATM_NX_GLB=101 +export ATM_NY_GLB=101 +export EXPORT_ALL=.true. +export FILENAME_BASE='atmmesh.' +export STREAM_VECTORS="null" +export stream_files="\"INPUT/wind_atm_fin_ch_time_vec_STR_fixed.nc\"" +export stream_variables="\"uwnd Sa_u10m\" \"vwnd Sa_v10m\" \"P Sa_pslv\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# datm/ocean +export HURR="Idealized" +export CPL_CONF="atm2adc2wav" + +# pes +export ATM_compute_tasks=8 +export OCN_tasks=8 +export WAV_tasks=64 + +export WLCLK=60 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN +export med_model=cmeps +export med_omp_num_threads=1 +export atm_model=datm +export atm_omp_num_threads=1 +export ocn_model=adcirc +export ocn_omp_num_threads=1 +export wav_model=ww3 +export wav_omp_num_threads=1 +export MESH_WAV="mesh.shinnecock.cdf5.nc" +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm_atmmesh.IN coastal_schism_run.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_ike_shinnecock_atm2sch b/tests/tests/coastal_idealized_shinnecock_atm2sch similarity index 91% rename from tests/tests/coastal_ike_shinnecock_atm2sch rename to tests/tests/coastal_idealized_shinnecock_atm2sch index 88ee2a9250..7025fdb447 100644 --- a/tests/tests/coastal_ike_shinnecock_atm2sch +++ b/tests/tests/coastal_idealized_shinnecock_atm2sch @@ -1,12 +1,12 @@ ############################################################################### # -# SCHISM coupled ike_shinnecock_atm2sch configuration +# SCHISM coupled idealized_shinnecock_atm2sch configuration # ############################################################################### -export TEST_DESCR="Compare ike_shinnecock_atm2sch results with previous trunk version" +export TEST_DESCR="Compare idealized_shinnecock_atm2sch results with previous trunk version" -export CNTL_DIR=coastal_ike_shinnecock_atm2sch +export CNTL_DIR=coastal_idealized_shinnecock_atm2sch export LIST_FILES="outputs/schout_000000_1.nc \ outputs/schout_000000_2.nc \ @@ -73,7 +73,7 @@ export dtlimit=1.5 export STREAM_OFFSET=0 # datm/ocean -export HURR="Ike" +export HURR="Idealized" export CPL_CONF="atm2sch" # pes diff --git a/tests/tests/coastal_ike_shinnecock_atm2sch2ww3 b/tests/tests/coastal_idealized_shinnecock_atm2sch2ww3 similarity index 87% rename from tests/tests/coastal_ike_shinnecock_atm2sch2ww3 rename to tests/tests/coastal_idealized_shinnecock_atm2sch2ww3 index c5943aa217..8a4692f6b1 100644 --- a/tests/tests/coastal_ike_shinnecock_atm2sch2ww3 +++ b/tests/tests/coastal_idealized_shinnecock_atm2sch2ww3 @@ -1,12 +1,12 @@ ############################################################################### # -# SCHISM coupled ike_shinnecock_atm2sch2ww3 configuration +# SCHISM coupled idealized_shinnecock_atm2sch2ww3 configuration # ############################################################################### -export TEST_DESCR="Compare ike_shinnecock_atm2sch2ww3 results with previous trunk version" +export TEST_DESCR="Compare idealized_shinnecock_atm2sch2ww3 results with previous trunk version" -export CNTL_DIR=coastal_ike_shinnecock_atm2sch2ww3 +export CNTL_DIR=coastal_idealized_shinnecock_atm2sch2ww3 export LIST_FILES="outputs/schout_000000_1.nc \ outputs/schout_000000_2.nc \ @@ -82,7 +82,7 @@ export dtlimit=1.5 export STREAM_OFFSET=0 # datm/ocean -export HURR="Ike" +export HURR="Idealized" export CPL_CONF="atm2sch2wav" # pes @@ -90,13 +90,20 @@ export ATM_compute_tasks=8 export OCN_tasks=8 export WAV_tasks=64 +export WLCLK=60 + # configuration export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN export med_model=cmeps +export med_omp_num_threads=1 export atm_model=datm +export atm_omp_num_threads=1 export ocn_model=schism +export ocn_omp_num_threads=1 export wav_model=ww3 +export wav_omp_num_threads=1 +export MESH_WAV="mesh.shinnecock.cdf5.nc" export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup diff --git a/tests/tests/coastal_ike_shinnecock_atm2ww3 b/tests/tests/coastal_idealized_shinnecock_atm2ww3 similarity index 88% rename from tests/tests/coastal_ike_shinnecock_atm2ww3 rename to tests/tests/coastal_idealized_shinnecock_atm2ww3 index ea9a0d2f0c..6125e944ea 100644 --- a/tests/tests/coastal_ike_shinnecock_atm2ww3 +++ b/tests/tests/coastal_idealized_shinnecock_atm2ww3 @@ -1,12 +1,12 @@ ############################################################################### # -# WW3 coupled ike_shinnecock_atm2ww3 configuration +# WW3 coupled idealized_shinnecock_atm2ww3 configuration # ############################################################################### -export TEST_DESCR="Compare ike_shinnecock_atm2ww3 results with previous trunk version" +export TEST_DESCR="Compare idealized_shinnecock_atm2ww3 results with previous trunk version" -export CNTL_DIR=coastal_ike_shinnecock_atm2ww3 +export CNTL_DIR=coastal_idealized_shinnecock_atm2ww3 export LIST_FILES="20080905.000000.out_grd.ww3.nc \ 20080906.000000.out_grd.ww3.nc \ @@ -72,25 +72,25 @@ export dtlimit=1.5 export STREAM_OFFSET=0 # datm/wav -export HURR="Ike" +export HURR="Idealized" export CPL_CONF="atm2ww3" # pes export ATM_compute_tasks=12 export WAV_tasks=12 +export WLCLK=60 + # configuration export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_datm_wav.IN export med_model=cmeps -export med_petlist_bounds="0 11" export med_omp_num_threads=1 export atm_model=datm -export atm_petlist_bounds="0 11" export atm_omp_num_threads=1 export wav_model=ww3 -export wav_petlist_bounds="0 11" export wav_omp_num_threads=1 +export MESH_WAV="mesh.shinnecock.cdf5.nc" export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup diff --git a/tests/tests/coastal_ike_shinnecock_sch b/tests/tests/coastal_idealized_shinnecock_sch similarity index 83% rename from tests/tests/coastal_ike_shinnecock_sch rename to tests/tests/coastal_idealized_shinnecock_sch index 46ad7328e3..16e3af8677 100644 --- a/tests/tests/coastal_ike_shinnecock_sch +++ b/tests/tests/coastal_idealized_shinnecock_sch @@ -1,12 +1,12 @@ ############################################################################### # -# SCHISM standalone ike_shinnecock_sch configuration +# SCHISM standalone idealized_shinnecock_sch configuration # ############################################################################### -export TEST_DESCR="Compare ike_shinnecock_sch results with previous trunk version" +export TEST_DESCR="Compare idealized_shinnecock_sch results with previous trunk version" -export CNTL_DIR=coastal_ike_shinnecock_sch +export CNTL_DIR=coastal_idealized_shinnecock_sch export LIST_FILES="outputs/schout_000000_1.nc \ outputs/schout_000000_2.nc \ @@ -53,9 +53,12 @@ export JMO=190 export WRITE_NSFLIP=.false. export OUTPUT_FH="12 -1" export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi # ocean -export HURR="Ike" +export HURR="Idealized" export CPL_CONF="sch" # pes @@ -66,7 +69,6 @@ export OCN_tasks=4 export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_ocn.IN export ocn_model=schism -export ocn_petlist_bounds="0 3" export ocn_omp_num_threads=1 export coupling_interval_slow_sec=3600 diff --git a/tests/tests/coastal_ike_shinnecock_ww3 b/tests/tests/coastal_idealized_shinnecock_ww3 similarity index 85% rename from tests/tests/coastal_ike_shinnecock_ww3 rename to tests/tests/coastal_idealized_shinnecock_ww3 index 424ece3b51..8818fd6c34 100644 --- a/tests/tests/coastal_ike_shinnecock_ww3 +++ b/tests/tests/coastal_idealized_shinnecock_ww3 @@ -1,12 +1,12 @@ ############################################################################### # -# WW3 coupled ike_shinnecock_ww3 configuration +# WW3 coupled idealized_shinnecock_ww3 configuration # ############################################################################### -export TEST_DESCR="Compare ike_shinnecock_ww3 results with previous trunk version" +export TEST_DESCR="Compare idealized_shinnecock_ww3 results with previous trunk version" -export CNTL_DIR=coastal_ike_shinnecock_ww3 +export CNTL_DIR=coastal_idealized_shinnecock_ww3 export LIST_FILES="20080905.000000.out_grd.ww3.nc \ 20080906.000000.out_grd.ww3.nc \ @@ -54,10 +54,12 @@ if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then fi # wav -export HURR="Ike" +export HURR="Idealized" export CPL_CONF="ww3" export WAV_STANDALONE=.true. +export WLCLK=60 + # pes export ATM_compute_tasks=0 export WAV_tasks=12 @@ -66,8 +68,8 @@ export WAV_tasks=12 export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_wav.IN export wav_model=ww3 -export wav_petlist_bounds="0 11" export wav_omp_num_threads=1 +export MESH_WAV="mesh.shinnecock.cdf5.nc" export coupling_interval_slow_sec=3600 # input files export FV3_RUN="coastal_ww3_run.IN" diff --git a/tests/tests/coastal_ike_shinnecock_atm2adc b/tests/tests/coastal_sandy_shinnecock_atm2adc similarity index 91% rename from tests/tests/coastal_ike_shinnecock_atm2adc rename to tests/tests/coastal_sandy_shinnecock_atm2adc index 98d22ff257..81eeeb26b0 100644 --- a/tests/tests/coastal_ike_shinnecock_atm2adc +++ b/tests/tests/coastal_sandy_shinnecock_atm2adc @@ -1,12 +1,12 @@ ############################################################################### # -# ADCIRC coupled ike_shinnecock_atm2adc configuration +# ADCIRC coupled sandy_shinnecock_atm2adc configuration # ############################################################################### -export TEST_DESCR="Compare ike_shinnecock_atm2adc results with previous trunk version" +export TEST_DESCR="Compare sandy_shinnecock_atm2adc results with previous trunk version" -export CNTL_DIR=coastal_ike_shinnecock_atm2adc +export CNTL_DIR=coastal_sandy_shinnecock_atm2adc export LIST_FILES="fort.74.nc \ fort.73.nc \ @@ -74,7 +74,7 @@ export dtlimit=1.5 export STREAM_OFFSET=0 # datm/ocean -export HURR="Ike" +export HURR="Sandy" export CPL_CONF="atm2adc" # pes diff --git a/tests/tests/coastal_sandy_shinnecock_atm2adc2ww3 b/tests/tests/coastal_sandy_shinnecock_atm2adc2ww3 new file mode 100644 index 0000000000..8a580758fe --- /dev/null +++ b/tests/tests/coastal_sandy_shinnecock_atm2adc2ww3 @@ -0,0 +1,106 @@ +############################################################################### +# +# ADCIRC coupled sandy_shinnecock_atm2adc2ww3 configuration +# +############################################################################### + +export TEST_DESCR="Compare sandy_shinnecock_atm2adc2ww3 results with previous trunk version" + +export CNTL_DIR=coastal_sandy_shinnecock_atm2adc2ww3 + +export LIST_FILES="fort.74.nc \ + fort.73.nc \ + fort.64.nc \ + fort.63.nc \ + fort.61.nc \ + ufs.cpld.cpl.hi.2018-09-07-00000.nc \ + ufs.cpld.cpl.hi.2018-09-08-00000.nc \ + ufs.cpld.cpl.hi.2018-09-09-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2008 +export SMONTH=08 +export SDAY=23 +export SHOUR=00 +export FHMAX=120 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN +export atm_datamode="ATMMESH" +export MESH_ATM="wind_atm_fin_ch_time_vec_ESMFmesh.nc" +export ATM_NX_GLB=101 +export ATM_NY_GLB=101 +export EXPORT_ALL=.true. +export FILENAME_BASE='atmmesh.' +export STREAM_VECTORS="null" +export stream_files="\"INPUT/wind_atm_fin_ch_time_vec_STR_fixed.nc\"" +export stream_variables="\"uwnd Sa_u10m\" \"vwnd Sa_v10m\" \"P Sa_pslv\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# datm/ocean +export HURR="Sandy" +export CPL_CONF="atm2adc2wav" + +# pes +export ATM_compute_tasks=8 +export OCN_tasks=8 +export WAV_tasks=64 + +export WLCLK=120 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN +export med_model=cmeps +export med_omp_num_threads=1 +export atm_model=datm +export atm_omp_num_threads=1 +export ocn_model=adcirc +export ocn_omp_num_threads=1 +export wav_model=ww3 +export wav_omp_num_threads=1 +export MESH_WAV="mesh.shinnecock.cdf5.nc" +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm_atmmesh.IN coastal_schism_run.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_sandy_shinnecock_atm2sch b/tests/tests/coastal_sandy_shinnecock_atm2sch new file mode 100644 index 0000000000..30495c1195 --- /dev/null +++ b/tests/tests/coastal_sandy_shinnecock_atm2sch @@ -0,0 +1,97 @@ +############################################################################### +# +# SCHISM coupled sandy_shinnecock_atm2sch configuration +# +############################################################################### + +export TEST_DESCR="Compare sandy_shinnecock_atm2sch results with previous trunk version" + +export CNTL_DIR=coastal_sandy_shinnecock_atm2sch + +export LIST_FILES="outputs/schout_000000_1.nc \ + outputs/schout_000000_2.nc \ + outputs/schout_000001_1.nc \ + outputs/schout_000001_2.nc \ + outputs/schout_000002_1.nc \ + outputs/schout_000002_2.nc \ + ufs.cpld.cpl.hi.2012-10-24-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2012 +export SMONTH=10 +export SDAY=23 +export SHOUR=00 +export FHMAX=24 # One day for testing +#export FHMAX=168 # Full simulation for the hurricane period +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN +export atm_datamode="ATMMESH" +export MESH_ATM="Wind_Pressure_HWRF_Sandy_Shinnecock_ESMFmesh.nc" +export ATM_NX_GLB=200 +export ATM_NY_GLB=200 +export EXPORT_ALL=.true. +export FILENAME_BASE='atmmesh.' +export STREAM_VECTORS="null" +export stream_files="\"INPUT/Wind_Pressure_HWRF_Sandy_Shinnecock.nc\"" +export stream_variables="\"uwnd Sa_u10m\" \"vwnd Sa_v10m\" \"P Sa_pslv\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# datm/ocean +export HURR="Sandy" +export CPL_CONF="atm2sch" + +# pes +export ATM_compute_tasks=3 +export OCN_tasks=3 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn.IN +export med_model=cmeps +export atm_model=datm +export ocn_model=schism +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm_atmmesh.IN coastal_schism_run.IN" diff --git a/tests/tests/coastal_sandy_shinnecock_atm2sch2ww3 b/tests/tests/coastal_sandy_shinnecock_atm2sch2ww3 new file mode 100644 index 0000000000..a22478db9d --- /dev/null +++ b/tests/tests/coastal_sandy_shinnecock_atm2sch2ww3 @@ -0,0 +1,115 @@ +############################################################################### +# +# SCHISM coupled sandy_shinnecock_atm2sch2ww3 configuration +# +############################################################################### + +export TEST_DESCR="Compare sandy_shinnecock_atm2sch2ww3 results with previous trunk version" + +export CNTL_DIR=coastal_sandy_shinnecock_atm2sch2ww3 + +export LIST_FILES="outputs/schout_000000_1.nc \ + outputs/schout_000000_2.nc \ + outputs/schout_000001_1.nc \ + outputs/schout_000001_2.nc \ + outputs/schout_000002_1.nc \ + outputs/schout_000002_2.nc \ + 20121024.000000.out_grd.ww3.nc \ + 20121025.000000.out_grd.ww3.nc \ + 20121026.000000.out_grd.ww3.nc \ + 20121027.000000.out_grd.ww3.nc \ + 20121028.000000.out_grd.ww3.nc \ + ufs.cpld.cpl.hi.2012-10-24-00000.nc \ + ufs.cpld.cpl.hi.2012-10-25-00000.nc \ + ufs.cpld.cpl.hi.2012-10-26-00000.nc \ + ufs.cpld.cpl.hi.2012-10-27-00000.nc \ + ufs.cpld.cpl.hi.2012-10-28-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2012 +export SMONTH=10 +export SDAY=23 +export SHOUR=00 +export FHMAX=24 # One day for testing +#export FHMAX=168 # Full simulation for the hurricane period +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN +export atm_datamode="ATMMESH" +export MESH_ATM="Wind_Pressure_HWRF_Sandy_Shinnecock_ESMFmesh.nc" +export ATM_NX_GLB=200 +export ATM_NY_GLB=200 +export EXPORT_ALL=.true. +export FILENAME_BASE='atmmesh.' +export STREAM_VECTORS="null" +export stream_files="\"INPUT//Wind_Pressure_HWRF_Sandy_Shinnecock.nc\"" +export stream_variables="\"uwnd Sa_u10m\" \"vwnd Sa_v10m\" \"P Sa_pslv\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# datm/ocean +export HURR="Sandy" +export CPL_CONF="atm2sch2wav" + +# pes +export ATM_compute_tasks=8 +export OCN_tasks=8 +export WAV_tasks=64 + +export WLCLK=120 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN +export med_model=cmeps +export med_omp_num_threads=1 +export atm_model=datm +export atm_omp_num_threads=1 +export ocn_model=schism +export ocn_omp_num_threads=1 +export wav_model=ww3 +export wav_omp_num_threads=1 +export MESH_WAV="mesh.shinnecock.cdf5.nc" +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm_atmmesh.IN coastal_schism_run.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_sandy_shinnecock_pam2adc b/tests/tests/coastal_sandy_shinnecock_pam2adc new file mode 100644 index 0000000000..1824be888c --- /dev/null +++ b/tests/tests/coastal_sandy_shinnecock_pam2adc @@ -0,0 +1,81 @@ +############################################################################### +# +# ADCIRC+PAHM sandy_shinnecock_pam2adc configuration +# +############################################################################### + +export TEST_DESCR="Compare sandy_shinnecock_pam2adc results with previous trunk version" + +export CNTL_DIR=coastal_sandy_shinnecock_pam2adc + +export LIST_FILES="fort.74.nc \ + fort.73.nc \ + fort.64.nc \ + fort.63.nc \ + fort.61.nc \ + ufs.cpld.cpl.hi.2018-09-07-00000.nc \ + ufs.cpld.cpl.hi.2018-09-08-00000.nc \ + ufs.cpld.cpl.hi.2018-09-09-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2012 +export SMONTH=10 +export SDAY=24 +export SHOUR=00 +export FHMAX=24 # One day for testing +#export FHMAX=168 # Full simulation for the hurricane period +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 + +# pes +export ATM_compute_tasks=1 +export OCN_tasks=4 + +# configuration +export HURR="Sandy" +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn.IN +export med_model=cmeps +export med_petlist_bounds="0 4" +export med_omp_num_threads=1 +export atm_model=pahm +export atm_petlist_bounds="0 0" +export atm_omp_num_threads=1 +export ocn_model=adcirc +export ocn_petlist_bounds="1 4" +export ocn_omp_num_threads=1 +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal + +# input files +export FV3_RUN="coastal_pahm_run.IN coastal_schism_run.IN" diff --git a/tests/tests/coastal_sandy_shinnecock_pam2adc2ww3 b/tests/tests/coastal_sandy_shinnecock_pam2adc2ww3 new file mode 100644 index 0000000000..2e053c9f4d --- /dev/null +++ b/tests/tests/coastal_sandy_shinnecock_pam2adc2ww3 @@ -0,0 +1,88 @@ +############################################################################### +# +# ADCIRC coupled sandy_shinnecock_pam2adc2ww3 configuration +# +############################################################################### + +export TEST_DESCR="Compare sandy_shinnecock_pam2adc2ww3 results with previous trunk version" + +export CNTL_DIR=coastal_sandy_shinnecock_pam2adc2ww3 + +export LIST_FILES="fort.74.nc \ + fort.73.nc \ + fort.64.nc \ + fort.63.nc \ + fort.61.nc \ + ufs.cpld.cpl.hi.2018-09-07-00000.nc \ + ufs.cpld.cpl.hi.2018-09-08-00000.nc \ + ufs.cpld.cpl.hi.2018-09-09-00000.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2012 +export SMONTH=10 +export SDAY=24 +export SHOUR=00 +export FHMAX=6 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# pes +export ATM_compute_tasks=1 +export OCN_tasks=12 +export WAV_tasks=12 + +export WLCLK=120 + +# configuration +export HURR="Sandy" +export CPL_CONF="pam2adc2ww3" +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN +export med_model=cmeps +export med_omp_num_threads=1 +export atm_model=pahm +export atm_omp_num_threads=1 +export ocn_model=adcirc +export ocn_omp_num_threads=1 +export wav_model=ww3 +export wav_omp_num_threads=1 +export MESH_WAV="mesh.shinnecock.cdf5.nc" +export coupling_interval_slow_sec=3600 +export RESTART_N=12 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_schism_run.IN coastal_pahm_run.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_sandy_shinnecock_pam2sch b/tests/tests/coastal_sandy_shinnecock_pam2sch index 6da7324cb9..ab5aa565e7 100644 --- a/tests/tests/coastal_sandy_shinnecock_pam2sch +++ b/tests/tests/coastal_sandy_shinnecock_pam2sch @@ -64,14 +64,8 @@ export HURR="Sandy" export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn.IN export med_model=cmeps -export med_petlist_bounds="0 4" -export med_omp_num_threads=1 export atm_model=pahm -export atm_petlist_bounds="0 0" -export atm_omp_num_threads=1 export ocn_model=schism -export ocn_petlist_bounds="1 4" -export ocn_omp_num_threads=1 export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup diff --git a/tests/tests/coastal_sandy_shinnecock_pam2sch2ww3 b/tests/tests/coastal_sandy_shinnecock_pam2sch2ww3 index 8e7d39f80a..6806a6ca97 100644 --- a/tests/tests/coastal_sandy_shinnecock_pam2sch2ww3 +++ b/tests/tests/coastal_sandy_shinnecock_pam2sch2ww3 @@ -1,6 +1,6 @@ ############################################################################### # -# SCHISM standalone sandy_shinnecock_pam2sch2ww3 configuration +# SCHISM coupled sandy_shinnecock_pam2sch2ww3 configuration # ############################################################################### @@ -25,7 +25,8 @@ export SYEAR=2012 export SMONTH=10 export SDAY=24 export SHOUR=00 -export FHMAX=6 +export FHMAX=24 # One day for testing +#export FHMAX=168 # Full simulation for the hurricane period export FHROT=0 # not used export DT_ATMOS=720 @@ -59,8 +60,10 @@ fi # pes export ATM_compute_tasks=1 -export OCN_tasks=5 -export WAV_tasks=5 +export OCN_tasks=12 +export WAV_tasks=12 + +export WLCLK=60 # configuration export HURR="Sandy" @@ -68,17 +71,15 @@ export CPL_CONF="pam2sch2ww3" export MODEL_CONFIGURE=model_configure.IN export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN export med_model=cmeps -export med_petlist_bounds="0 11" export med_omp_num_threads=1 export atm_model=pahm -export atm_petlist_bounds="0 11" +export atm_omp_num_threads=1 export atm_omp_num_threads=1 export ocn_model=schism -export ocn_petlist_bounds="0 11" export ocn_omp_num_threads=1 export wav_model=ww3 -export wav_petlist_bounds="0 11" export wav_omp_num_threads=1 +export MESH_WAV="mesh.shinnecock.cdf5.nc" export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup diff --git a/tests/tests/coastal_sandy_shinnecock_sch b/tests/tests/coastal_sandy_shinnecock_sch new file mode 100644 index 0000000000..e3e588fb47 --- /dev/null +++ b/tests/tests/coastal_sandy_shinnecock_sch @@ -0,0 +1,73 @@ +############################################################################### +# +# SCHISM standalone sandy_shinnecock_sch configuration +# +############################################################################### + +export TEST_DESCR="Compare sandy_shinnecock_sch results with previous trunk version" + +export CNTL_DIR=coastal_sandy_shinnecock_sch + +export LIST_FILES="outputs/schout_000000_1.nc \ + outputs/schout_000000_2.nc \ + outputs/schout_000001_1.nc \ + outputs/schout_000001_2.nc \ + outputs/schout_000002_1.nc \ + outputs/schout_000002_2.nc \ + outputs/schout_000003_1.nc \ + outputs/schout_000003_2.nc" + +# deafult options +export_coastal + +# model_configure +export SYEAR=2012 +export SMONTH=10 +export SDAY=23 +export SHOUR=00 +export FHMAX=24 # One day for testing +#export FHMAX=168 # Full simulation for the hurricane period +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 + +# ocean +export HURR="Sandy" +export CPL_CONF="sch" + +# pes +export ATM_compute_tasks=0 +export OCN_tasks=4 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_ocn.IN +export ocn_model=schism +export coupling_interval_slow_sec=3600 + +# input files +export FV3_RUN="coastal_schism_run.IN"