PSTSWM(Parallel Spectral Transform Shallow Water Model)

PSTSWM is a message-passing benchmark code and parallel algorithm testbed that solves the nonlinear shallow water equations on a rotating sphere using the spectral transform method.

spectral transform methodparallel algorithmsperformance analysis

Contributor(s)

Initial contribute: 2021-09-08

Authorship

:  
Oak Ridge National Laboratory
:  
worleyph@ornl.gov
Is authorship not correct? Feed back

Classification(s)

Method-focused categoriesProcess-perspectivePhysical process calculation

Detailed Description

English {{currentDetailLanguage}} English

Quoted from:https://www.csm.ornl.gov/chammp/pstswm/index.html

PSTSWM is a message-passing benchmark code and parallel algorithm testbed that solves the nonlinear shallow water equations on a rotating sphere using the spectral transform method. It is a parallel implementation of STSWM, developed by J. J. Hack and R. Jacob at the National Center for Atmospheric Research (NCAR) and used to generate reference solutions for the shallow water test cases described in

PSTSWM was developed to evaluate parallel algorithms for the spectral transform method as it is used in global atmospheric circulation models. Multiple parallel algorithms are embedded in the code and can be selected at run-time, as can the problem size, number of processors, and data decomposition. Six different problem test cases are also supported, each with associated reference solutions and error analysis options.

PSTSWM is written in Fortran 77 with VMS extensions and a small number of C preprocessor directives. Message passing is implemented using MPI, MPI/SHMEM, PICL, PVM, and/or native message passing libraries, with the choice being made at compile time. Additionally, all message passing is encapsulated in three high level routines for broadcast, global minimum and global maximum, and in two classes of low level routines representing variants and/or stages of the swap operation and the send/receive operation. Porting the code to another message passing system requires either porting the PICL, MPI, or PVM libraries and/or implementing the (few) communication routines in PSTSWM using native message passing primitives.

Two versions of PSTSWM are available here. Version 4.0 was last modified in October of 1995. It is the basis of the codes used the PARKBENCH benchmark suite, and includes the PICL tracing and profiling library. Version 6.9 is the most recent version of the (still evolving) research code, which is used for benchmarking and performance analysis of high performance computing systems. It includes a number of features and modifications not found in version 4.0, including

  • higher precision calculation of Gauss quadrature weights and locations and of Associated Legendre Polynomials and their derivatives, eliminating a numerical stability problem in the original STSWM code;
  • Fourier transform routines that can handle transform lengths with factors 2-3-5;
  • compile-time options to use platform-specific math library routines for FFTs and memory copies;
  • checkpoint/restart;
  • code to guarantee that certain fields are not vertically decomposed during semi-implicit timestepping in spectral space, to more accurately represent parallel 3D spectral atmospheric models;
  • runtime options to use synchronous MPI point-to-point communication routines (in addtion to the blocking, nonblocking, and ready commands already supported);
  • runtime options to use SHMEM put/get one-sided messaging for the performance critical message-passing;
  • runtime options to call MPI collective communication routines;
  • compile-time options to use vector-friendly alternative implementations of performance-critical routines;
  • runtime option to execute multiple simultaneous serial experiments on a parallel system;
  • runtime option to run in a subset of the available processors, leaving some processors idle.

Version 6.9 comes with makefiles for the following platforms

  • Cray T3E
  • Cray X1
  • HP AlphaServer SC
  • HP AlphaServer GS (Marvel)
  • HP Exemplar
  • IBM SP (including both Power3 and Power4 clusters)
  • Linux/MPICH
  • NEC SX5
  • NEC SX6
  • SGI Altix
  • SGI Origin

and it is easily ported to most systems with an MPI library and a Fortran compiler. The PICL library is not included with the release of version 6.9. PICL is still used internally as an MPI profiling library, and is available upon request. Documentation of the new features in PSTSWM v6.9 is also missing, but the code is "backward compatible" with the original documentation. Updated documentation may appear someday, but it is unlikely. Questions should be directed to worleyph@ornl.gov.

To create PSTSWM v4.0, you need pstswm.v4.0.tar.Z. Use uncompress to generate pstswm.v4.0.tar. Next, untar pstswm.v4.0.tar to create the directory pstswm.v4. From within this directory, type "make" for information on what make parameters to use. The userguide should be used for additional information on compiling and for directions on executing the code. As of 4/1/95, PSTSWM v4.0 ran on the Cray Research T3D, the IBM SP-1 and SP-2, the Intel iPSC/2, iPSC/860, DELTA, and Paragon (on both GP and MP nodes and using either the NX or SUNMOS operating systems), the nCUBE/2 and nCUBE/2S, across a network of workstations, and on a Cray vector machine (as a serial application).

To create PSTSWM v6.9, you need pstswm.v6.9.tar.gz. Use gunzip to generate pstswm.v6.9.tar. Next, untar pstswm.v6.9.tar to create the directory pstswm.v6.9. From within this directory, type "make" for information on what make parameters to use. As with v4.0, the userguide should be used for additional information.

PSTSWM was originally developed by P. H. Worley at Oak Ridge National Laboratory and by I. T. Foster at Argonne National Laboratory as part of the Department of Energy CHAMMP research program. Worley has been responsible for most subsequent development.

模型元数据

{{htmlJSON.HowtoCite}}

Patrick Worley (2021). PSTSWM(Parallel Spectral Transform Shallow Water Model), Model Item, OpenGMS, https://geomodeling.njnu.edu.cn/modelItem/682d120e-f188-4e5a-8384-6bce8ca7832d
{{htmlJSON.Copy}}

Contributor(s)

Initial contribute : 2021-09-08

{{htmlJSON.CoContributor}}

Authorship

:  
Oak Ridge National Laboratory
:  
worleyph@ornl.gov
Is authorship not correct? Feed back

History

Last modifier
Wenfei Shen
Last modify time
2021-09-09
Modify times
View History

QR Code

×

{{curRelation.overview}}
{{curRelation.author.join('; ')}}
{{curRelation.journal}}









{{htmlJSON.RelatedItems}}

{{htmlJSON.LinkResourceFromRepositoryOrCreate}}{{htmlJSON.create}}.

Drop the file here, orclick to upload.
Select From My Space
+ add

{{htmlJSON.authorshipSubmitted}}

Cancel Submit
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Localizations}} + {{htmlJSON.Add}}
{{ item.label }} {{ item.value }}
{{htmlJSON.ModelName}}:
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
名称 别名 {{tag}} +
系列名 版本号 目的 修改内容 创建/修改日期 作者
摘要 详细描述
{{tag}} + 添加关键字
* 时间参考系
* 空间参考系类型 * 空间参考系名称

起始日期 终止日期 进展 开发者
* 是否开源 * 访问方式 * 使用方式 开源协议 * 传输方式 * 获取地址 * 发布日期 * 发布者



编号 目的 修改内容 创建/修改日期 作者





时间分辨率 时间尺度 时间步长 时间范围 空间维度 格网类型 空间分辨率 空间尺度 空间范围
{{tag}} +
* 类型
图例


* 名称 * 描述
示例描述 * 名称 * 类型 * 值/链接 上传


{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
Title Author Date Journal Volume(Issue) Pages Links Doi Operation
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Add}} {{htmlJSON.Cancel}}

{{articleUploading.title}}

Authors:  {{articleUploading.authors[0]}}, {{articleUploading.authors[1]}}, {{articleUploading.authors[2]}}, et al.

Journal:   {{articleUploading.journal}}

Date:   {{articleUploading.date}}

Page range:   {{articleUploading.pageRange}}

Link:   {{articleUploading.link}}

DOI:   {{articleUploading.doi}}

Yes, this is it Cancel

The article {{articleUploading.title}} has been uploaded yet.

OK
{{htmlJSON.Cancel}} {{htmlJSON.Confirm}}
302C.7P13OQk