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 de 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) |
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 numer_rec, only: pi |
use numer_rec, only: pi |
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 |
|
|