/[lmdze]/trunk/phylmd/phyredem.f
ViewVC logotype

Contents of /trunk/phylmd/phyredem.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 276 - (show annotations)
Thu Jul 12 14:49:20 2018 UTC (5 years, 10 months ago) by guez
File size: 6442 byte(s)
Move procedure read_serre from module read_serre_m to module
dynetat0_m, to avoid side effet on variables of module dynetat0_m.

Create procedure set_unit_nml to avoid side effect on variable of
module unit_nml_m.

Downgrade pctsrf from variable of module etat0_m to argument of etat0
and limit to avoid side effect on pctsrf.

Move variable zmasq from module dimphy to module phyetat0_m to avoid
side effect on zmasq.

1 module phyredem_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE phyredem(pctsrf, ftsol, ftsoil, qsurf, qsol, snow, albedo, evap, &
8 rain_fall, snow_fall, solsw, sollw, fder, radsol, frugs, agesno, zmea, &
9 zstd, zsig, zgam, zthe, zpic, zval, t_ancien, q_ancien, rnebcon, &
10 ratqs, clwcon, run_off_lic_0, sig1, w01)
11
12 ! From phylmd/phyredem.F, version 1.3, 2005/05/25 13:10:09
13 ! Author: Z. X. Li (LMD/CNRS)
14 ! Date: 1993/08/18
15
16 ! Objet : \'ecriture de l'\'etat de d\'emarrage ou red\'emarrage
17 ! pour la physique
18
19 USE dimphy, ONLY: klev, klon
20 USE indicesol, ONLY: is_lic, is_oce, is_sic, is_ter, nbsrf
21 USE netcdf95, ONLY: nf95_inq_varid, nf95_put_var, nf95_close
22 use phyetat0_m, only: zmasq
23 use phyredem0_m, only: ncid_restartphy
24
25 REAL, INTENT(IN):: pctsrf(:, :) ! (klon, nbsrf)
26 REAL, INTENT(IN):: ftsol(:, :) ! (klon, nbsrf)
27 REAL, INTENT(IN):: ftsoil(:, :, :) ! (klon, nsoilmx, nbsrf)
28 REAL, INTENT(IN):: qsurf(:, :) ! (klon, nbsrf)
29
30 REAL, intent(in):: qsol(:) ! (klon)
31 ! column-density of water in soil, in kg m-2
32
33 REAL, INTENT(IN):: snow(klon, nbsrf)
34 REAL, INTENT(IN):: albedo(klon, nbsrf)
35 REAL, INTENT(IN):: evap(klon, nbsrf)
36 REAL, INTENT(IN):: rain_fall(klon)
37 REAL, INTENT(IN):: snow_fall(klon)
38 REAL, INTENT(IN):: solsw(klon)
39 REAL, INTENT(IN):: sollw(klon)
40 REAL, INTENT(IN):: fder(klon)
41 REAL, INTENT(IN):: radsol(klon)
42 REAL, INTENT(IN):: frugs(klon, nbsrf)
43 REAL, INTENT(IN):: agesno(klon, nbsrf)
44 REAL, INTENT(IN):: zmea(klon)
45 REAL, intent(in):: zstd(klon)
46 REAL, intent(in):: zsig(klon)
47 REAL, intent(in):: zgam(klon)
48 REAL, intent(in):: zthe(klon)
49 REAL, intent(in):: zpic(klon)
50 REAL, intent(in):: zval(klon)
51 REAL, intent(in):: t_ancien(klon, klev), q_ancien(klon, klev)
52 REAL, intent(in):: rnebcon(klon, klev), ratqs(klon, klev)
53 REAL, intent(in):: clwcon(klon, klev)
54 REAL, intent(in):: run_off_lic_0(klon)
55 real, intent(in):: sig1(klon, klev) ! section adiabatic updraft
56
57 real, intent(in):: w01(klon, klev)
58 ! vertical velocity within adiabatic updraft
59
60 ! Local:
61 integer varid
62
63 !------------------------------------------------------------
64
65 PRINT *, 'Call sequence information: phyredem'
66
67 call nf95_inq_varid(ncid_restartphy, "masque", varid)
68 call nf95_put_var(ncid_restartphy, varid, zmasq)
69
70 call nf95_inq_varid(ncid_restartphy, "FTER", varid)
71 call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_ter))
72
73 call nf95_inq_varid(ncid_restartphy, "FLIC", varid)
74 call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_lic))
75
76 call nf95_inq_varid(ncid_restartphy, "FOCE", varid)
77 call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_oce))
78
79 call nf95_inq_varid(ncid_restartphy, "FSIC", varid)
80 call nf95_put_var(ncid_restartphy, varid, pctsrf(:, is_sic))
81
82 call nf95_inq_varid(ncid_restartphy, "TS", varid)
83 call nf95_put_var(ncid_restartphy, varid, ftsol)
84
85 call nf95_inq_varid(ncid_restartphy, "Tsoil", varid)
86 call nf95_put_var(ncid_restartphy, varid, ftsoil)
87
88 call nf95_inq_varid(ncid_restartphy, "QS", varid)
89 call nf95_put_var(ncid_restartphy, varid, qsurf)
90
91 call nf95_inq_varid(ncid_restartphy, "QSOL", varid)
92 call nf95_put_var(ncid_restartphy, varid, qsol)
93
94 call nf95_inq_varid(ncid_restartphy, "ALBE", varid)
95 call nf95_put_var(ncid_restartphy, varid, albedo)
96
97 call nf95_inq_varid(ncid_restartphy, "EVAP", varid)
98 call nf95_put_var(ncid_restartphy, varid, evap)
99
100 call nf95_inq_varid(ncid_restartphy, "SNOW", varid)
101 call nf95_put_var(ncid_restartphy, varid, snow)
102
103 call nf95_inq_varid(ncid_restartphy, "RADS", varid)
104 call nf95_put_var(ncid_restartphy, varid, radsol)
105
106 call nf95_inq_varid(ncid_restartphy, "solsw", varid)
107 call nf95_put_var(ncid_restartphy, varid, solsw)
108
109 call nf95_inq_varid(ncid_restartphy, "sollw", varid)
110 call nf95_put_var(ncid_restartphy, varid, sollw)
111
112 call nf95_inq_varid(ncid_restartphy, "fder", varid)
113 call nf95_put_var(ncid_restartphy, varid, fder)
114
115 call nf95_inq_varid(ncid_restartphy, "rain_f", varid)
116 call nf95_put_var(ncid_restartphy, varid, rain_fall)
117
118 call nf95_inq_varid(ncid_restartphy, "snow_f", varid)
119 call nf95_put_var(ncid_restartphy, varid, snow_fall)
120
121 call nf95_inq_varid(ncid_restartphy, "RUG", varid)
122 call nf95_put_var(ncid_restartphy, varid, frugs)
123
124 call nf95_inq_varid(ncid_restartphy, "AGESNO", varid)
125 call nf95_put_var(ncid_restartphy, varid, agesno)
126
127 call nf95_inq_varid(ncid_restartphy, "ZMEA", varid)
128 call nf95_put_var(ncid_restartphy, varid, zmea)
129
130 call nf95_inq_varid(ncid_restartphy, "ZSTD", varid)
131 call nf95_put_var(ncid_restartphy, varid, zstd)
132
133 call nf95_inq_varid(ncid_restartphy, "ZSIG", varid)
134 call nf95_put_var(ncid_restartphy, varid, zsig)
135
136 call nf95_inq_varid(ncid_restartphy, "ZGAM", varid)
137 call nf95_put_var(ncid_restartphy, varid, zgam)
138
139 call nf95_inq_varid(ncid_restartphy, "ZTHE", varid)
140 call nf95_put_var(ncid_restartphy, varid, zthe)
141
142 call nf95_inq_varid(ncid_restartphy, "ZPIC", varid)
143 call nf95_put_var(ncid_restartphy, varid, zpic)
144
145 call nf95_inq_varid(ncid_restartphy, "ZVAL", varid)
146 call nf95_put_var(ncid_restartphy, varid, zval)
147
148 call nf95_inq_varid(ncid_restartphy, "TANCIEN", varid)
149 call nf95_put_var(ncid_restartphy, varid, t_ancien)
150
151 call nf95_inq_varid(ncid_restartphy, "QANCIEN", varid)
152 call nf95_put_var(ncid_restartphy, varid, q_ancien)
153
154 call nf95_inq_varid(ncid_restartphy, "RUGMER", varid)
155 call nf95_put_var(ncid_restartphy, varid, frugs(:, is_oce))
156
157 call nf95_inq_varid(ncid_restartphy, "CLWCON", varid)
158 call nf95_put_var(ncid_restartphy, varid, clwcon(:, 1))
159
160 call nf95_inq_varid(ncid_restartphy, "RNEBCON", varid)
161 call nf95_put_var(ncid_restartphy, varid, rnebcon(:, 1))
162
163 call nf95_inq_varid(ncid_restartphy, "RATQS", varid)
164 call nf95_put_var(ncid_restartphy, varid, ratqs(:, 1))
165
166 call nf95_inq_varid(ncid_restartphy, "RUNOFFLIC0", varid)
167 call nf95_put_var(ncid_restartphy, varid, run_off_lic_0)
168
169 call nf95_inq_varid(ncid_restartphy, "sig1", varid)
170 call nf95_put_var(ncid_restartphy, varid, sig1)
171
172 call nf95_inq_varid(ncid_restartphy, "w01", varid)
173 call nf95_put_var(ncid_restartphy, varid, w01)
174
175 call nf95_close(ncid_restartphy)
176
177 END SUBROUTINE phyredem
178
179 end module phyredem_m

  ViewVC Help
Powered by ViewVC 1.1.21