1 |
guez |
157 |
module phyredem0_m |
2 |
|
|
|
3 |
|
|
IMPLICIT NONE |
4 |
|
|
|
5 |
|
|
INTEGER ncid_restartphy |
6 |
|
|
|
7 |
|
|
contains |
8 |
|
|
|
9 |
guez |
175 |
SUBROUTINE phyredem0(lmt_pas, itau_phy) |
10 |
guez |
157 |
|
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 |
guez |
175 |
INTEGER, intent(in):: itau_phy |
29 |
guez |
157 |
|
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 |