General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions...
Transcript of General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions...
![Page 1: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/1.jpg)
General code architecture and dataflow
in ARPEGE/ALADIN/ALARO/AROME
Yann Seity (CNRM/GMAP)
![Page 2: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/2.jpg)
SUMMARY
Computations organization
Data flows (1D, 2D, 3D spectral and gridpoint variables)
![Page 3: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/3.jpg)
Before stating…
Naming conventions in ALADIN-ARPEGE :
Setup routine
Classical routine
Module
Nameliste
SUXXX
XXXXX
YOMXXX
NAMXXX
SUEXXX
EXXXXX
YEMXXX
NAMXXX
ARPEGE ALADIN
![Page 4: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/4.jpg)
General organization
Program MASTER
Control level 0
Control level 1
2
3
4 STEPO
![Page 5: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/5.jpg)
AROME-ALADIN Code in ARPEGE/IFS
Embedded inside ARP/IFS Specific control keys [LELAM and LRPLANE
(plane geometry)] « E » Rule :
EC
I
8 pts
12 pts
12 pts
![Page 6: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/6.jpg)
![Page 7: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/7.jpg)
![Page 8: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/8.jpg)
![Page 9: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/9.jpg)
EX : ./AROME.EX -eFCST -c001 -maladin -vmeteo -asli -t60. -fh30
![Page 10: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/10.jpg)
![Page 11: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/11.jpg)
![Page 12: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/12.jpg)
![Page 13: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/13.jpg)
![Page 14: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/14.jpg)
![Page 15: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/15.jpg)
![Page 16: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/16.jpg)
![Page 17: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/17.jpg)
Time step organisationTime step organisation
E RHSof SI
F
F
T
F
F
T -1
SI and other spectral comp.Spectral space
Standard grid
Origin points Interp.
NL dyn.
E : Physics calculations
Classical ALADIN/ARPEGE time step :
![Page 18: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/18.jpg)
![Page 19: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/19.jpg)
![Page 20: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/20.jpg)
![Page 21: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/21.jpg)
![Page 22: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/22.jpg)
Gridpoint computations
AROME Case :
CPG_LAG
![Page 23: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/23.jpg)
NPROMA
Example in AROME or ALADIN with 4 procs
end of NPROMA slicing
( NGPTOT points )
PROC 3
PROC 4
PROC 2
PROC 1 ( 3 blocks )
![Page 24: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/24.jpg)
The data flow
Spectral arrays Grid points arrays Data flow
![Page 25: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/25.jpg)
Spectral (distributed) arrays
SPA3(NFLSUR,NSPEC2,NS3D)
SPA2(NSPEC2,NS2D)
SPA1(NFLSUR,NS1D)
Number of 1D fields
Number of surface spectral fields
Number of upper air spectral fields
Number of spectral coefficient
(over)-number of vertical levels (NFLEVL)
SPGFL(NFLSUR,NSPEC2,YGFL%NUMSPFLDS)Number of gfl fields with spectral representation
![Page 26: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/26.jpg)
Spectral arrays are split:
(target <= pointers)SPA3(:,:,1) <= SPVOR(:,:) Vorticity
SPA3(:,:,2) <= SPDIV(:,:) Divergence
SPA3(:,:,3) <= SPT(:,:) Temperature
SPA2(:,1) <= SPSP(:) (Ln) surf pressure
SPA2(:,2) <= SPOR(:) Surf geopotential
SPA1(:,1) <= SPUB(:) mean wind (U)
SPA1(:,2) <= SPVB(:) mean wind (V)
… And possibly
SPA3(:,:,k) <= SPGFL(:,:,YQ%MPSP) Specific moisture
SPA3(:,:,l) <= SPGFL(:,:,YL%MPSP) liquid water
SPA3(:,:,m) <= SPGFL(:,:,YI%MPSP) Ice
NH variablesPressure departure
SPA3(:,:,i) <= SPSPD(:,:)
Vertical divergency
SPA3(:,:,j) <= SPSVD(:,:)
![Page 27: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/27.jpg)
![Page 28: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/28.jpg)
Grid point arrays
2 data structures :
– GMV : prognostic variables involved in SI u,v,T,ps (pd,vd) -> FIXED
– GFL : other variables such as q, ql, qi, … -> FLEXIBLE
![Page 29: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/29.jpg)
GMV(T1)(nproma,nflevg,nfields,ngpblks) ->3D variables
GMVS(T1)(nproma,nfields,ngpblks) -> 2D variables
Ex : GMV(:,:,YT0%MT,:)
Access to fields by pointers
YT0,YT9,YT1: pointers to t, t-dt, t+dt quantities
« Fields » pointers, ex: MU,MV, MDIV,MVOR, MT,
MSPD, MSVD
Grid point arrays
![Page 30: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/30.jpg)
GFL(T1)(nproma,nflevg,nfields,ngpblks)ex gfl(:,:,YQ%MPL,:)
« fields pointers » : YQ, YI, YL, …
« attributes »:
•MP : basic field pointer
•MPL : zonal derivative
•MPM: meridional derivative
•MPSP: basic field spectral space
•LADV (advec or not), LSP (spectral representation or not), LGP (gp or not), NREQIN (required in input or not) , LREQOUT (saved in outpout files or not), NCOUPLING (coupled or not) …
Grid point arrays
![Page 31: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/31.jpg)
Input data flow (setup)
Cnt3 level
ElsacElsirf suspeca
Coupling files
Elswa3GMVCPL
GMVSCPL
GFLCPL
yemgt3b
Elsirf suspeca
Initial file
SPA3
SPA2
SPA1Sugridf Sugridadm
Sugridu Sugridua
SP_xxx
GFL
Surf GP:
Upper air Gp:
yomsp
![Page 32: General code architecture and dataflow in ARPEGE/ALADIN ... · Before stating… Naming conventions in ALADIN-ARPEGE : Setup routine Classical routine Module Nameliste SUXXX XXXXX](https://reader035.fdocuments.in/reader035/viewer/2022070113/605bf64546a29c2e924aa8ef/html5/thumbnails/32.jpg)
Data flow (stepo loop)
STEPOt
t+dt
S PA 3
/SP A
2/S P
A1SPA3/SPA2/SPA1/GFL
iopack
etransinvh
scan2h
ecoupl1
etransdirh
espch SPA3/SPA2/SPA1
SPA3/SPA2/SPA1
GMV/GFL
GMVT1/GFLT1
GMVT1/GFLT1
SPA3/SPA2/SPA1
wrmlppadm
SP_xx and SD_xx
History file
SPA3/SPA2/SPA1
Yemgt3b