WRF Test Framework


The WRF Testing Framework (WTF) builds, tests, and analyzes results for one or more versions of the WRF model. This testing typically completes in less than one hour. WRF code is regularly tested for the following compilers, parallel processing configurations, compile-time variations, and run-time variations of the WRF software:



Compilers

  • GNU Fortran

  • PGI Fortran

  • Intel Fortran


Build Configurations

  • Serial (single-processor)

  • OpenMP (multithreaded, shared memory)

  • MPI (multiprocessor, distributed memory)


Compile-time Variations

  • WRF-ARW

  • Chem

  • Chem with KPP

  • Idealized Super Cell

  • Idealized Baroclinic Wave


WRF-ARW em_real Run-time Variations

  • Adaptive Time-stepping

  • Digital Filter (DFI)

  • FDDA

  • Grib 1 WRF Output

  • Binary WRF Output

  • Nesting

  • Quilting

  • Global Domain




Physics Options Applied During Testing

The following table and associated table key summarize the combinations of physics options tested for WRF. Although one physics option should not influence another physics option (e.g., the microphysics scheme should be independent of the cumulus scheme), certain options are developed and tested for a small subset of other physics option combinations; therefore, the following table is a useful guide for WRF physics combinations known to provide bit-for-bit results between serial and MPI WRF compilations. Each row in the table represents a specific test, and each column represents a specific physics option. Each physics combination should provide successful short-term forecasts with bit-for-bit results when comparing single-processor output against multi-processor output.


KEY 1: Column Labels

NL

Test Namelist Identifier

PBL

Planetary Boundary Layer Scheme

CU

Cumulus Scheme

MP

Microphysics Scheme

LW

Longwave Radation Scheme

SW

Shortwave Radation Scheme

SFC

Surface Physics Scheme

LAND

Land Surface Scheme

URB

Urban Physics Scheme

SHCU

Shallow Cumulus Scheme

TOPO

Topography-following Wind Scheme



KEY 2: Test Namelist Codes

AD

Adaptive Time Stepping

BN

Binary WRF Output

DF

Digital Filtering

FD

FDDA

GR

Grib1 WRF Output

NE

Basic Nesting

QT

Quilting




Table 1 : WRF ARW Tests, Providing Successful 30-min Forecasts & Bit-for-bit Results, on Serial vs. MPI Runs

NL

PBL

CU

MP

LW

SW

SFC

LAND

URB

SHCU

TOPO

global

1

1

3

1

1

1

1

0

0

0

01

1

1

1

1

1

1

1

0

0

0

02

1

2

4

3

3

1

4

0

0

0

02GR

1

2

4

3

3

1

4

0

0

0

03

4

3

3

4

4

4

1

0

0

0

03DF

4

3

3

4

4

4

1

0

0

0

03FD

4

3

3

4

4

4

1

0

0

0

05

7

5

5

5

5

7

7

0

0

0

05AD

7

5

5

5

5

7

7

0

0

0

05FD

7

5

5

5

5

7

7

0

0

0

06

8

6

6

4

4

2

1

0

0

0

06BN

8

6

6

4

4

2

1

0

0

0

07

8

14

7

7

7

1

2

2

0

0

07NE

8

14

7

7

7

1

2

2

0

0

08

9

7

8

5

5

2

3

0

0

0

09

6

1

9

3

3

5

3

0

0

0

09QT

6

1

9

3

3

5

3

0

0

0

10

4

2

10

1

2

4

7

0

0

0

12

8

3

16

4

4

1

2

3

0

0

12GR

8

3

16

4

4

1

2

3

0

0

13

9

7

13

1

1

2

3

0

2

0

14

4

6

3

3

3

4

3

0

0

0

15

5

14

2

5

5

1

7

0

0

0

15AD

5

14

2

5

5

1

7

0

0

0

16

10

14

4

5

5

10

7

0

0

0

16BN

10

14

4

5

5

10

7

0

0

0

16DF

10

14

4

5

5

10

7

0

0

0

17

2

2

4

3

3

2

2

0

0

0

17AD

2

2

4

3

3

2

2

0

0

0

19

1

1

4

1

2

1

5

0

0

0

20

12

1

4

1

2

1

2

0

0

0

20NE

12

1

4

1

2

1

2

0

0

0

25

1

1

1

1

1

11

1

0

0

0

26

2

1

1

1

1

3

1

0

0

0

29

9

3

4

1

2

1

5

0

2

0

29QT

9

3

4

1

2

1

5

0

2

0

30

2

93

4

1

1

2

1

0

2

0

31

7

2

14

3

3

7

1

0

0

0

31AD

7

2

14

3

3

7

1

0

0

0

32

9

7

11

3

3

1

5

0

2

0

33

9

7

11

4

4

1

5

0

2

0

34

9

7

11

4

4

1

2

0

2

0

35

9

7

11

3

3

1

2

0

2

0

37

9

7

11

4

4

2

2

0

2

0

38

5

14

2

5

5

2

7

0

0

0

38AD

5

14

2

5

5

2

7

0

0

0

39

5

14

2

5

5

5

7

0

0

0

39AD

5

14

2

5

5

5

7

0

0

0

40

7

2

14

3

3

7

1

0

0

0

41

2

2

4

3

3

2

2

0

0

0

42

4

2

10

1

2

4

7

0

0

0




TABLE 2: WRF ARW Tests, Providing Successful 30-minute Forecasts & Bit-for-bit Results, on Serial vs. OpenMP Runs

NL

PBL

CU

MP

LW

SW

SFC

LAND

URB

SHCU

TOPO

global

1

1

3

1

1

1

1

0

0

0

03

4

3

3

4

4

4

1

0

0

0

03DF

4

3

3

4

4

4

1

0

0

0

03FD

4

3

3

4

4

4

1

0

0

0

06

8

6

6

4

4

2

1

0

0

0

06BN

8

6

6

4

4

2

1

0

0

0

07

8

14

7

7

7

1

2

2

0

0

07NE

8

14

7

7

7

1

2

2

0

0

08

9

7

8

5

5

2

3

0

0

0

10

4

2

10

1

2

4

7

0

0

0

14

4

6

3

3

3

4

3

0

0

0

16

10

14

4

5

5

10

7

0

0

0

16BN

10

14

4

5

5

10

7

0

0

0

16DF

10

14

4

5

5

10

7

0

0

0

17

2

2

4

3

3

2

2

0

0

0

17AD

2

2

4

3

3

2

2

0

0

0

20

12

1

4

1

2

1

2

0

0

0

20NE

12

1

4

1

2

1

2

0

0

0

31

7

2

14

3

3

7

1

0

0

0

31AD

7

2

14

3

3

7

1

0

0

0

38

5

14

2

5

5

2

7

0

0

0

40

7

2

14

3

3

7

1

0

0

0

41

2

2

4

3

3

2

2

0

0

0

42

4

2

10

1

2

4

7

0

0

0




TABLE 3: WRF Idealized Supercell Tests, Providing Successful 30-minute Forecasts & and Bit-for-bit Results, on Serial vs. Non-serial Runs (OpenMP and MPI)

NL

PBL

CU

MP

LW

SW

SFC

LAND

URB

SHCU

TOPO

01

0

0

1

0

0

0

0

0

0

0

01NE

0

0

1

0

0

0

0

0

0

0

02

0

0

1

0

0

1

0

0

0

0

02NE

0

0

1

0

0

1

0

0

0

0

03

0

0

1

0

0

1

0

0

0

0

03NE

0

0

1

0

0

1

0

0

0

0

04

0

0

2

0

0

1

0

0

0

0

04NE

0

0

2

0

0

1

0

0

0

0

05

0

0

2

0

0

1

0

0

0

0

05NE

0

0

2

0

0

1

0

0

0

0

06

0

0

18

0

0

1

0

0

0

0

06NE

0

0

18

0

0

1

0

0

0

0

07

0

0

17

0

0

0

0

0

0

0

08

0

0

18

0

0

1

0

0

0

0

09

0

0

19

0

0

1

0

0

0

0

10

0

0

21

0

0

1

0

0

0

0




TABLE 4: WRF Idealized B-wave Tests, Providing Successful 30-minute Forecasts & Bit-for-bit Results, on Serial vs. Non-serial Runs (OpenMP and MPI)

NL

PBL

CU

MP

LW

SW

SFC

LAND

URB

SHCU

TOPO

1

0

0

1

0

0

0

0

0

0

0

1NE

0

0

1

0

0

0

0

0

0

0

2

0

0

1

0

0

0

0

0

0

0

2NE

0

0

1

0

0

0

0

0

0

0

3

0

0

2

0

0

0

0

0

0

0

3NE

0

0

2

0

0

0

0

0

0

0

4

0

0

2

0

0

0

0

0

0

0

4NE

0

0

2

0

0

0

0

0

0

0

5

0

0

0

0

0

0

0

0

0

0

5NE

0

0

0

0

0

0

0

0

0

0