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

Annotation of /trunk/phylmd/phyredem0.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 175 - (hide annotations)
Fri Feb 5 16:02:34 2016 UTC (8 years, 3 months ago) by guez
Original Path: trunk/Sources/phylmd/phyredem0.f
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 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

  ViewVC Help
Powered by ViewVC 1.1.21