7 |
private llm |
private llm |
8 |
|
|
9 |
real ap(llm+1), pa ! in Pa |
real ap(llm+1), pa ! in Pa |
10 |
real bp(llm+1), dpres(llm) |
real bp(llm+1) |
11 |
real presnivs(llm) ! pressions approximatives des milieux couches, en Pa |
real presnivs(llm) ! pressions approximatives des milieux de couches, en Pa |
12 |
real, parameter:: preff = 101325. ! in Pa |
real, parameter:: preff = 101325. ! in Pa |
13 |
real nivsigs(llm), nivsig(llm+1) |
real nivsigs(llm), nivsig(llm+1) |
14 |
|
|
22 |
! Auteur : P. Le Van |
! Auteur : P. Le Van |
23 |
|
|
24 |
! This procedure sets the vertical grid. |
! This procedure sets the vertical grid. |
25 |
! It defines the host variables "ap", "bp", "dpres", "presnivs", |
! It defines the host variables "ap", "bp", "presnivs", "nivsigs" |
26 |
! "nivsigs" and "nivsig". |
! and "nivsig". |
27 |
! "pa" should be defined before this procedure is called. |
! "pa" should be defined before this procedure is called. |
28 |
|
|
29 |
use comconst, only: pi |
use numer_rec, only: pi |
30 |
|
|
31 |
REAL s(llm+1) |
REAL s(llm+1) |
32 |
! (atmospheric hybrid sigma-pressure coordinate at the interface |
! "s(l)" is the atmospheric hybrid sigma-pressure coordinate at |
33 |
! between layers "l" and "l-1") |
! the interface between layers "l" and "l-1" |
34 |
|
|
35 |
real ds(llm) |
real ds(llm) |
36 |
! "ds(l)" : épaisseur de la couche "l" dans la coordonnée "s" |
! "ds(l)" : épaisseur de la couche "l" dans la coordonnée "s" |
118 |
bp(llm + 1) = 0. |
bp(llm + 1) = 0. |
119 |
ap = pa * (s - bp) |
ap = pa * (s - bp) |
120 |
|
|
121 |
forall (l = 1: llm) |
forall (l = 1: llm) presnivs(l) = 0.5 & |
122 |
dpres(l) = bp(l) - bp(l+1) |
* (ap(l) + bp(l) * preff + ap(l+1) + bp(l+1) * preff) |
|
presnivs(l) = 0.5 * (ap(l) + bp(l) * preff + ap(l+1) + bp(l+1) * preff) |
|
|
end forall |
|
123 |
|
|
124 |
END SUBROUTINE disvert |
END SUBROUTINE disvert |
125 |
|
|