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

Contents of /trunk/Sources/phylmd/phyredem.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 175 - (show annotations)
Fri Feb 5 16:02:34 2016 UTC (8 years, 3 months ago) by guez
File size: 6411 byte(s)
Added argument itau_phy to ini_histins, phyetat0, phytrac and
phyredem0. Removed variable itau_phy of module temps. Avoiding side
effect in etat0 and phyetat0. The procedures ini_histins, phyetat0,
phytrac and phyredem0 are all called by physiq so there is no
cascading variable penalty.

In procedure inifilr, made the condition on colat0 weaker to allow for
rounding error.

Removed arguments flux_o, flux_g and t_slab of clmain, flux_o and
flux_g of clqh and interfsurf_hq, tslab and seaice of phyetat0 and
phyredem. NetCDF variables TSLAB and SEAICE no longer in
restartphy.nc. All these variables were related to the not-implemented
slab ocean. seaice and tslab were just set to 0 in phyetat0 and never
used nor changed. flux_o and flux_g were computed in clmain but never
used in physiq.

Removed argument swnet of clqh. Was used only to compute a local
variable, swdown, which was not used.

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

  ViewVC Help
Powered by ViewVC 1.1.21