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

Contents of /trunk/Sources/phylmd/phyredem0.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: 7430 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 phyredem0_m
2
3 IMPLICIT NONE
4
5 INTEGER ncid_restartphy
6
7 contains
8
9 SUBROUTINE phyredem0(lmt_pas, itau_phy)
10
11 ! From phylmd/phyredem.F, version 1.3, 2005/05/25 13:10:09
12 ! Author: Z. X. Li (LMD/CNRS)
13 ! Date: 1993/08/18
14
15 ! Objet : \'ecriture de l'\'etat de d\'emarrage ou red\'emarrage
16 ! pour la physique
17
18 use conf_gcm_m, only: nday
19 USE dimphy, ONLY: klev, klon
20 USE dimsoil, ONLY: nsoilmx
21 USE indicesol, ONLY: nbsrf
22 USE netcdf, ONLY: nf90_clobber, nf90_global, nf90_float
23 USE netcdf95, ONLY: nf95_create, nf95_put_att, nf95_def_dim, &
24 nf95_def_var, nf95_enddef, nf95_put_var
25 use phyetat0_m, only: rlat, rlon
26
27 INTEGER, intent(in):: lmt_pas ! number of time steps of "physics" per day
28 INTEGER, intent(in):: itau_phy
29
30 ! Local:
31
32 INTEGER idim2, idim3, dimid_nbsrf, dimid_nsoilmx
33 integer varid, varid_rlon, varid_rlat
34
35 !------------------------------------------------------------
36
37 PRINT *, 'Call sequence information: phyredem0'
38 CALL nf95_create("restartphy.nc", nf90_clobber, ncid_restartphy)
39
40 call nf95_put_att(ncid_restartphy, nf90_global, 'title', &
41 'start file for the physics code')
42 call nf95_put_att(ncid_restartphy, nf90_global, "itau_phy", &
43 itau_phy + nday * lmt_pas)
44
45 call nf95_def_dim(ncid_restartphy, 'points_physiques', klon, idim2)
46 call nf95_def_dim(ncid_restartphy, 'klev', klev, idim3)
47 call nf95_def_dim(ncid_restartphy, 'nbsrf', nbsrf, dimid_nbsrf)
48 call nf95_def_dim(ncid_restartphy, 'nsoilmx', nsoilmx, dimid_nsoilmx)
49
50 call nf95_def_var(ncid_restartphy, 'longitude', nf90_float, idim2, &
51 varid_rlon)
52 call nf95_def_var(ncid_restartphy, 'latitude', nf90_float, idim2, &
53 varid_rlat)
54
55 call nf95_def_var(ncid_restartphy, 'masque', nf90_float, idim2, varid)
56 call nf95_put_att(ncid_restartphy, varid, 'title', 'masque terre mer')
57
58 ! Fractions de chaque sous-surface
59
60 call nf95_def_var(ncid_restartphy, 'FTER', nf90_float, idim2, varid)
61 call nf95_put_att(ncid_restartphy, varid, 'title', 'fraction de continent')
62
63 call nf95_def_var(ncid_restartphy, 'FLIC', nf90_float, idim2, varid)
64 call nf95_put_att(ncid_restartphy, varid, 'title', &
65 'fraction glace de terre')
66
67 call nf95_def_var(ncid_restartphy, 'FOCE', nf90_float, idim2, varid)
68 call nf95_put_att(ncid_restartphy, varid, 'title', 'fraction ocean')
69
70 call nf95_def_var(ncid_restartphy, 'FSIC', nf90_float, idim2, varid)
71 call nf95_put_att(ncid_restartphy, varid, 'title', 'fraction glace mer')
72
73 call nf95_def_var(ncid_restartphy, 'TS', nf90_float, &
74 (/idim2, dimid_nbsrf/), varid)
75 call nf95_put_att(ncid_restartphy, varid, 'title', 'surface temperature')
76
77 call nf95_def_var(ncid_restartphy, 'Tsoil', nf90_float, &
78 (/idim2, dimid_nsoilmx, dimid_nbsrf/), varid)
79 call nf95_put_att(ncid_restartphy, varid, 'title', 'soil temperature')
80
81 call nf95_def_var(ncid_restartphy, 'QS', nf90_float, &
82 (/idim2, dimid_nbsrf/), varid)
83 call nf95_put_att(ncid_restartphy, varid, 'title', 'Humidite de surface')
84
85 call nf95_def_var(ncid_restartphy, 'QSOL', nf90_float, idim2, varid)
86 call nf95_put_att(ncid_restartphy, varid, 'title', 'Eau dans le sol (mm)')
87
88 call nf95_def_var(ncid_restartphy, 'ALBE', nf90_float, &
89 (/idim2, dimid_nbsrf/), varid)
90 call nf95_put_att(ncid_restartphy, varid, 'title', 'albedo de surface')
91
92 call nf95_def_var(ncid_restartphy, 'EVAP', nf90_float, &
93 (/idim2, dimid_nbsrf/), varid)
94 call nf95_put_att(ncid_restartphy, varid, 'title', 'Evaporation de surface')
95
96 call nf95_def_var(ncid_restartphy, 'SNOW', nf90_float, &
97 (/idim2, dimid_nbsrf/), varid)
98 call nf95_put_att(ncid_restartphy, varid, 'title', 'Neige de surface')
99
100 call nf95_def_var(ncid_restartphy, 'RADS', nf90_float, idim2, varid)
101 call nf95_put_att(ncid_restartphy, varid, 'title', &
102 'Rayonnement net a la surface')
103
104 call nf95_def_var(ncid_restartphy, 'solsw', nf90_float, idim2, varid)
105 call nf95_put_att(ncid_restartphy, varid, 'title', &
106 'Rayonnement solaire a la surface')
107
108 call nf95_def_var(ncid_restartphy, 'sollw', nf90_float, idim2, varid)
109 call nf95_put_att(ncid_restartphy, varid, 'title', &
110 'Rayonnement IF a la surface')
111
112 call nf95_def_var(ncid_restartphy, 'fder', nf90_float, idim2, varid)
113 call nf95_put_att(ncid_restartphy, varid, 'title', 'Derive de flux')
114
115 call nf95_def_var(ncid_restartphy, 'rain_f', nf90_float, idim2, varid)
116 call nf95_put_att(ncid_restartphy, varid, 'title', 'precipitation liquide')
117
118 call nf95_def_var(ncid_restartphy, 'snow_f', nf90_float, idim2, varid)
119 call nf95_put_att(ncid_restartphy, varid, 'title', 'precipitation solide')
120
121 call nf95_def_var(ncid_restartphy, 'RUG', nf90_float, &
122 (/idim2, dimid_nbsrf/), varid)
123 call nf95_put_att(ncid_restartphy, varid, 'title', 'rugosite de surface')
124
125 call nf95_def_var(ncid_restartphy, 'AGESNO', nf90_float, &
126 (/idim2, dimid_nbsrf/), varid)
127 call nf95_put_att(ncid_restartphy, varid, 'title', &
128 'Age de la neige surface')
129
130 call nf95_def_var(ncid_restartphy, 'ZMEA', nf90_float, idim2, varid)
131 call nf95_def_var(ncid_restartphy, 'ZSTD', nf90_float, idim2, varid)
132 call nf95_def_var(ncid_restartphy, 'ZSIG', nf90_float, idim2, varid)
133 call nf95_def_var(ncid_restartphy, 'ZGAM', nf90_float, idim2, varid)
134 call nf95_def_var(ncid_restartphy, 'ZTHE', nf90_float, idim2, varid)
135 call nf95_def_var(ncid_restartphy, 'ZPIC', nf90_float, idim2, varid)
136 call nf95_def_var(ncid_restartphy, 'ZVAL', nf90_float, idim2, varid)
137 call nf95_def_var(ncid_restartphy, 'TANCIEN', nf90_float, &
138 (/idim2, idim3/), varid)
139 call nf95_def_var(ncid_restartphy, 'QANCIEN', nf90_float, &
140 (/idim2, idim3/), varid)
141
142 call nf95_def_var(ncid_restartphy, 'RUGMER', nf90_float, idim2, varid)
143 call nf95_put_att(ncid_restartphy, varid, 'title', &
144 'Longueur de rugosite sur mer')
145
146 call nf95_def_var(ncid_restartphy, 'CLWCON', nf90_float, idim2, varid)
147 call nf95_put_att(ncid_restartphy, varid, 'title', 'Eau liquide convective')
148
149 call nf95_def_var(ncid_restartphy, 'RNEBCON', nf90_float, idim2, varid)
150 call nf95_put_att(ncid_restartphy, varid, 'title', 'Nebulosite convective')
151
152 call nf95_def_var(ncid_restartphy, 'RATQS', nf90_float, idim2, varid)
153 call nf95_put_att(ncid_restartphy, varid, 'title', 'Ratqs')
154
155 call nf95_def_var(ncid_restartphy, 'RUNOFFLIC0', nf90_float, idim2, varid)
156 call nf95_put_att(ncid_restartphy, varid, 'title', 'Runofflic0')
157
158 call nf95_def_var(ncid_restartphy, 'sig1', nf90_float, (/idim2, idim3/), &
159 varid)
160 call nf95_put_att(ncid_restartphy, varid, 'long_name', &
161 'section adiabatic updraft')
162
163 call nf95_def_var(ncid_restartphy, 'w01', nf90_float, (/idim2, idim3/), &
164 varid)
165 call nf95_put_att(ncid_restartphy, varid, 'long_name', &
166 'vertical velocity within adiabatic updraft')
167
168 call nf95_def_var(ncid_restartphy, 'trs', nf90_float, idim2, varid)
169 call nf95_put_att(ncid_restartphy, varid, 'long_name', &
170 'radon concentation in soil')
171
172 call nf95_enddef(ncid_restartphy)
173
174 call nf95_put_var(ncid_restartphy, varid_rlon, rlon)
175 call nf95_put_var(ncid_restartphy, varid_rlat, rlat)
176
177 END SUBROUTINE phyredem0
178
179 end module phyredem0_m

  ViewVC Help
Powered by ViewVC 1.1.21