Directory: | ./ |
---|---|
File: | phys/diag_slp.f90 |
Date: | 2022-01-11 19:19:34 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 8 | 8 | 100.0% |
Branches: | 8 | 8 | 100.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | 480 | SUBROUTINE diag_slp(nlon,t,pab,pal,pphis,tasfc,tastd,pmer) | |
2 | USE dimphy | ||
3 | USE phys_output_write_mod | ||
4 | USE phys_output_ctrlout_mod | ||
5 | USE phys_local_var_mod | ||
6 | IMPLICIT NONE | ||
7 | !>====================================================================== | ||
8 | !! | ||
9 | !! Auteur(s) I.Musat (LMD/CNRS) date: 20151106 | ||
10 | !! | ||
11 | !! Objet: Calcul pression au niveau de la mer cf. Arpege-IFS | ||
12 | !! ctstar: calcule la temperature de l'air a la surface (tasfc) et | ||
13 | !! la temperature de l'air standard a la surface (tastd) | ||
14 | !! pppmer: calcule la slp a partir de tasfc, tastd, de la pression a la surface (pab1) | ||
15 | !! et du geopotentiel de la surface | ||
16 | !!====================================================================== | ||
17 | !! nlon--input-R-temperature au milieu de chaque couche (en K) | ||
18 | !! t--input-R-temperature au milieu de chaque couche (en K) | ||
19 | !! pab--input-R-pression pour chaque inter-couche (en Pa) | ||
20 | !! pal---input-R-pression pour le mileu de chaque couche (en Pa) | ||
21 | !! pphis---input-R-geopotentiel du sol (en m2/s2) | ||
22 | !! tasfc---output-R-temperature air au sol (en K) | ||
23 | !! tastd---output-R-temperature air 'standard' au sol (en K) | ||
24 | !! pmer---output-R-pression au niveau de la mer (en Pa) | ||
25 | !!====================================================================== | ||
26 | INTEGER nlon | ||
27 | REAL t(nlon,klev) | ||
28 | REAL pab(nlon,klev+1) | ||
29 | REAL pal(nlon,klev) | ||
30 | REAL pphis(nlon) | ||
31 | REAL tasfc(nlon), tastd(nlon) | ||
32 | REAL pmer(nlon) | ||
33 | !!! | ||
34 | !!! calcul tasfc et tastd | ||
35 |
2/2✓ Branch 0 taken 477120 times.
✓ Branch 1 taken 480 times.
|
477600 | tal1(:)=t(:,1) |
36 |
2/2✓ Branch 0 taken 477120 times.
✓ Branch 1 taken 480 times.
|
477600 | pab2(:)=pab(:,2) |
37 |
2/2✓ Branch 0 taken 477120 times.
✓ Branch 1 taken 480 times.
|
477600 | pal1(:)=pal(:,1) |
38 | 480 | CALL ctstar(nlon,1,nlon,tal1,pab2,pal1,pphis,tasfc,tastd) | |
39 | !!! | ||
40 | !!! calcul slp | ||
41 |
2/2✓ Branch 0 taken 477120 times.
✓ Branch 1 taken 480 times.
|
477600 | pab1(:)=pab(:,1) |
42 | 480 | CALL pppmer(nlon,1,nlon,pab1,pphis,tasfc,tastd,pmer) | |
43 | ! | ||
44 | 480 | RETURN | |
45 | END | ||
46 |