/[lmdze]/trunk/libf/phylmd/ini_histrac.f90
ViewVC logotype

Contents of /trunk/libf/phylmd/ini_histrac.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 61 - (show annotations)
Fri Apr 20 14:58:43 2012 UTC (12 years ago) by guez
File size: 3382 byte(s)
No more included file in LMDZE, not even "netcdf.inc".

Created a variable containing the list of common source files in
GNUmakefile. So we now also see clearly files that are specific to
each program.

Split module "histcom". Assembled resulting files in directory
"Histcom".

Removed aliasing in calls to "laplacien".

1 module ini_histrac_m
2
3 implicit none
4
5 contains
6
7
8 subroutine ini_histrac(nid_tra, pdtphys, nq_phys, lessivage)
9
10 ! From phylmd/ini_histrac.h, version 1.10 2006/02/21 08:08:30
11
12 use dimens_m, only: iim, jjm, llm
13 USE calendar, only: ymds2ju
14 USE histbeg_totreg_m, ONLY : histbeg_totreg
15 USE histdef_m, ONLY : histdef
16 USE histend_m, ONLY : histend
17 USE histvert_m, ONLY : histvert
18 use temps, only: annee_ref, day_ref, itau_phy
19 use iniadvtrac_m, only: niadv, tnom, ttext
20 use dimphy, only: klon
21 use clesphys, only: ecrit_tra
22 use grid_change, only: gr_phy_write_2d
23 use phyetat0_m, only: rlon, rlat
24 use comvert, only: presnivs
25
26 INTEGER, intent(out):: nid_tra
27 real, intent(in):: pdtphys ! pas d'integration pour la physique (s)
28
29 integer, intent(in):: nq_phys
30 ! (nombre de traceurs auxquels on applique la physique)
31
32 logical, intent(in):: lessivage
33
34 ! Variables local to the procedure:
35
36 REAL zjulian
37 REAL zx_lat(iim, jjm+1)
38 INTEGER nhori, nvert
39 REAL zsto, zout
40 integer it, iq, iiq
41
42 !---------------------------------------------------------
43
44 CALL ymds2ju(annee_ref, month=1, day=day_ref, sec=0.0, julian=zjulian)
45 zx_lat(:, :) = gr_phy_write_2d(rlat)
46 CALL histbeg_totreg("histrac", rlon(2:iim+1), zx_lat(1, :), &
47 1, iim, 1, jjm+1, itau_phy, zjulian, pdtphys, nhori, nid_tra)
48 CALL histvert(nid_tra, "presnivs", "Vertical levels", "mb", llm, &
49 presnivs, nvert)
50
51 zsto = pdtphys
52 zout = pdtphys * REAL(ecrit_tra)
53
54 CALL histdef(nid_tra, "phis", "Surface geop. height", "-", &
55 iim, jjm+1, nhori, 1, 1, 1, -99, &
56 "once", zsto, zout)
57 CALL histdef(nid_tra, "aire", "Grid area", "-", &
58 iim, jjm+1, nhori, 1, 1, 1, -99, &
59 "once", zsto, zout)
60 CALL histdef(nid_tra, "zmasse", "column density of air in cell", &
61 "kg m-2", iim, jjm + 1, nhori, llm, 1, llm, nvert, "ave(X)", &
62 zsto, zout)
63
64 DO it = 1, nq_phys
65 ! champ 2D
66 iq=it+2
67 iiq=niadv(iq)
68 CALL histdef(nid_tra, tnom(iq), ttext(iiq), "U/kga", iim, jjm+1, &
69 nhori, llm, 1, llm, nvert, "ave(X)", zsto, zout)
70 if (lessivage) THEN
71 CALL histdef(nid_tra, "fl"//tnom(iq), "Flux "//ttext(iiq), &
72 "U/m2/s", iim, jjm+1, nhori, llm, 1, llm, nvert, &
73 "ave(X)", zsto, zout)
74 endif
75
76 !---Ajout Olivia
77 CALL histdef(nid_tra, "d_tr_th_"//tnom(iq), &
78 "tendance thermique"// ttext(iiq), "?", &
79 iim, jjm+1, nhori, llm, 1, llm, nvert, &
80 "ave(X)", zsto, zout)
81 CALL histdef(nid_tra, "d_tr_cv_"//tnom(iq), &
82 "tendance convection"// ttext(iiq), "?", &
83 iim, jjm+1, nhori, llm, 1, llm, nvert, &
84 "ave(X)", zsto, zout)
85 CALL histdef(nid_tra, "d_tr_cl_"//tnom(iq), &
86 "tendance couche limite"// ttext(iiq), "?", &
87 iim, jjm+1, nhori, llm, 1, llm, nvert, &
88 "ave(X)", zsto, zout)
89 !---fin Olivia
90
91 ENDDO
92
93 CALL histdef(nid_tra, "pplay", "", "-", &
94 iim, jjm+1, nhori, llm, 1, llm, nvert, &
95 "inst(X)", zout, zout)
96 CALL histdef(nid_tra, "T", "temperature", "K", iim, jjm+1, nhori, llm, &
97 1, llm, nvert, "inst(X)", zout, zout)
98
99 CALL histend(nid_tra)
100
101 end subroutine ini_histrac
102
103 end module ini_histrac_m

  ViewVC Help
Powered by ViewVC 1.1.21