/[lmdze]/trunk/libf/test_disvert.f90
ViewVC logotype

Contents of /trunk/libf/test_disvert.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 37 - (show annotations)
Tue Dec 21 15:45:48 2010 UTC (13 years, 6 months ago) by guez
File size: 1117 byte(s)
Inlined procedure "pression".

Split "guide.f90" into "guide.f90" and "tau2alpha.f90". Split
"read_reanalyse.f" into single-procedure files in directory
"Read_reanalyse".

Useless copy of variables in "iniphysiq". Directly define module
variables in "gcm" and remove procedure "iniphysiq".

Added "pressure-altitude" in "test_disvert".

1 program test_disvert
2
3 ! This is a program in Fortran 95.
4 ! This program writes the vertical coordinates at level interfaces.
5
6 use dimens_m, only: llm
7 use comvert, only: pa, disvert, ap, bp, preff
8 use new_unit_m, only: new_unit
9
10 implicit none
11
12 integer unit, l
13
14 REAL s(llm+1) ! hybrid sigma-pressure coordinate
15 ! "s(l)" : à l'interface des couches "l" et "l-1"
16
17 real p(llm + 1) ! pressure at level, in Pa
18 real z(llm) ! pressure-altitude (km)
19
20 !---------------------
21
22 print *, "llm = ", llm
23 pa = 5e4
24 call disvert
25 s = ap / pa + bp
26 p = ap + bp * preff
27 z = - 7. * log(ap(:llm) / preff + bp(:llm))
28
29 call new_unit(unit)
30 open(unit, file="test_disvert.csv", status="replace", action="write")
31 ! Title line:
32 write(unit, fmt=*) '"ap (hPa)" "bp" "s" "p (hPa)", "z (km)", "delta z (km)"'
33 do l = 1, llm - 1
34 write(unit, fmt=*) ap(l) / 100., bp(l), s(l), p(l) / 100., z(l), &
35 z(l+1) - z(l)
36 end do
37 write(unit, fmt=*) ap(llm) / 100., bp(llm), s(llm), p(llm) / 100., z(llm)
38 close(unit)
39 print *, 'The file "test_disvert.csv" has been created.'
40
41 end program test_disvert

  ViewVC Help
Powered by ViewVC 1.1.21