6 |
|
|
7 |
private llm |
private llm |
8 |
|
|
9 |
real ap(llm+1), pa ! in Pa |
real, save:: ap(llm+1), pa ! in Pa |
10 |
real bp(llm+1) |
real, save:: bp(llm+1) |
11 |
real presnivs(llm) ! pressions approximatives des milieux de couches, en Pa |
|
12 |
real, parameter:: preff = 101325. ! in Pa |
real, save:: presnivs(llm) |
13 |
real nivsigs(llm), nivsig(llm+1) |
! pressions approximatives des milieux de couches, en Pa |
14 |
|
|
15 |
save |
real, parameter:: preff = 101325. ! in Pa |
16 |
|
|
17 |
contains |
contains |
18 |
|
|
19 |
SUBROUTINE disvert |
SUBROUTINE disvert |
20 |
|
|
21 |
! From dyn3d/disvert.F, v 1.1.1.1 2004/05/19 12:53:05 |
! From dyn3d/disvert.F, version 1.1.1.1, 2004/05/19 12:53:05 |
22 |
! Author: P. Le Van |
! Author: P. Le Van |
23 |
|
|
24 |
! This procedure sets the vertical grid. It defines the host |
! This procedure sets the vertical grid. It defines the host |
25 |
! variables "ap", "bp", "presnivs", "nivsigs" and "nivsig". "pa" |
! variables "ap", "bp", "presnivs". "pa" should be defined before |
26 |
! should be defined before this procedure is called. |
! this procedure is called. |
27 |
|
|
28 |
use jumble, only: new_unit |
use jumble, only: new_unit |
29 |
use nr_util, only: pi, assert |
use nr_util, only: pi, assert |
36 |
! the interface between layers "l" and "l-1" |
! the interface between layers "l" and "l-1" |
37 |
|
|
38 |
real ds(llm) |
real ds(llm) |
39 |
! "ds(l)" : épaisseur de la couche "l" dans la coordonnée "s" |
! "ds(l)" : \'epaisseur de la couche "l" dans la coordonn\'ee "s" |
40 |
|
|
41 |
INTEGER l, unit |
INTEGER l, unit |
42 |
REAL alpha, x(llm) |
REAL alpha, x(llm) |
48 |
! used only if vert_sampling == "param" |
! used only if vert_sampling == "param" |
49 |
|
|
50 |
! These variables are used only in the case vert_sampling == "param": |
! These variables are used only in the case vert_sampling == "param": |
51 |
real:: deltaz = 0.04 ! épaisseur de la première couche |
real:: deltaz = 0.04 ! \'epaisseur de la premi\`ere couche |
52 |
real:: beta = 1.3 ! facteur d'accroissement en haut |
real:: beta = 1.3 ! facteur d'accroissement en haut |
53 |
real:: k0 = 20. ! nombre de couches dans la transition surface |
real:: k0 = 20. ! nombre de couches dans la transition surface |
54 |
real:: k1 = 1.2 ! nombre de couches dans la transition haute |
real:: k1 = 1.2 ! nombre de couches dans la transition haute |
59 |
|
|
60 |
print *, "Call sequence information: disvert" |
print *, "Call sequence information: disvert" |
61 |
|
|
|
forall (l = 1: llm) nivsigs(l) = REAL(l) |
|
|
forall (l = 1: llm + 1) nivsig(l) = REAL(l) |
|
|
|
|
62 |
print *, "Enter namelist 'disvert_nml'." |
print *, "Enter namelist 'disvert_nml'." |
63 |
read(unit=*, nml=disvert_nml) |
read(unit=*, nml=disvert_nml) |
64 |
write(unit_nml, nml=disvert_nml) |
write(unit_nml, nml=disvert_nml) |