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

Annotation of /trunk/phylmd/phyredem0.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (hide annotations)
Thu Jun 13 14:40:06 2019 UTC (4 years, 11 months ago) by guez
File size: 6669 byte(s)
Change all `.f` suffixes to `.f90`. (The opposite was done in revision
82.)  Because of change of philosopy in GNUmakefile: we already had a
rewritten rule for `.f`, so it does not make the makefile longer to
replace it by a rule for `.f90`. And it spares us options of
makedepf90 and of the compiler. Also we prepare the way for a simpler
`CMakeLists.txt`.

1 guez 157 module phyredem0_m
2    
3     IMPLICIT NONE
4    
5     INTEGER ncid_restartphy
6    
7     contains
8    
9 guez 202 SUBROUTINE phyredem0
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 guez 202 use conf_gcm_m, only: nday, lmt_pas
19 guez 157 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 guez 191 use phyetat0_m, only: rlat, rlon, itau_phy
26 guez 157
27     ! Local:
28    
29     INTEGER idim2, idim3, dimid_nbsrf, dimid_nsoilmx
30     integer varid, varid_rlon, varid_rlat
31    
32     !------------------------------------------------------------
33    
34     PRINT *, 'Call sequence information: phyredem0'
35     CALL nf95_create("restartphy.nc", nf90_clobber, ncid_restartphy)
36    
37     call nf95_put_att(ncid_restartphy, nf90_global, 'title', &
38     'start file for the physics code')
39     call nf95_put_att(ncid_restartphy, nf90_global, "itau_phy", &
40     itau_phy + nday * lmt_pas)
41    
42     call nf95_def_dim(ncid_restartphy, 'points_physiques', klon, idim2)
43     call nf95_def_dim(ncid_restartphy, 'klev', klev, idim3)
44     call nf95_def_dim(ncid_restartphy, 'nbsrf', nbsrf, dimid_nbsrf)
45     call nf95_def_dim(ncid_restartphy, 'nsoilmx', nsoilmx, dimid_nsoilmx)
46    
47     call nf95_def_var(ncid_restartphy, 'longitude', nf90_float, idim2, &
48     varid_rlon)
49     call nf95_def_var(ncid_restartphy, 'latitude', nf90_float, idim2, &
50     varid_rlat)
51    
52     call nf95_def_var(ncid_restartphy, 'masque', nf90_float, idim2, varid)
53     call nf95_put_att(ncid_restartphy, varid, 'title', 'masque terre mer')
54    
55     ! Fractions de chaque sous-surface
56    
57 guez 310 call nf95_def_var(ncid_restartphy, 'pctsrf', nf90_float, &
58     [idim2, dimid_nbsrf], varid)
59     call nf95_put_att(ncid_restartphy, varid, 'title', 'surface fraction')
60 guez 157
61     call nf95_def_var(ncid_restartphy, 'TS', nf90_float, &
62 guez 310 [idim2, dimid_nbsrf], varid)
63 guez 157 call nf95_put_att(ncid_restartphy, varid, 'title', 'surface temperature')
64    
65     call nf95_def_var(ncid_restartphy, 'Tsoil', nf90_float, &
66 guez 310 [idim2, dimid_nsoilmx, dimid_nbsrf], varid)
67 guez 157 call nf95_put_att(ncid_restartphy, varid, 'title', 'soil temperature')
68    
69     call nf95_def_var(ncid_restartphy, 'QS', nf90_float, &
70 guez 310 [idim2, dimid_nbsrf], varid)
71 guez 157 call nf95_put_att(ncid_restartphy, varid, 'title', 'Humidite de surface')
72    
73     call nf95_def_var(ncid_restartphy, 'QSOL', nf90_float, idim2, varid)
74     call nf95_put_att(ncid_restartphy, varid, 'title', 'Eau dans le sol (mm)')
75    
76     call nf95_def_var(ncid_restartphy, 'ALBE', nf90_float, &
77 guez 310 [idim2, dimid_nbsrf], varid)
78 guez 157 call nf95_put_att(ncid_restartphy, varid, 'title', 'albedo de surface')
79    
80     call nf95_def_var(ncid_restartphy, 'SNOW', nf90_float, &
81 guez 310 [idim2, dimid_nbsrf], varid)
82 guez 157 call nf95_put_att(ncid_restartphy, varid, 'title', 'Neige de surface')
83    
84     call nf95_def_var(ncid_restartphy, 'RADS', nf90_float, idim2, varid)
85     call nf95_put_att(ncid_restartphy, varid, 'title', &
86     'Rayonnement net a la surface')
87    
88     call nf95_def_var(ncid_restartphy, 'solsw', nf90_float, idim2, varid)
89     call nf95_put_att(ncid_restartphy, varid, 'title', &
90     'Rayonnement solaire a la surface')
91    
92     call nf95_def_var(ncid_restartphy, 'sollw', nf90_float, idim2, varid)
93     call nf95_put_att(ncid_restartphy, varid, 'title', &
94 guez 308 'Rayonnement IR a la surface')
95 guez 157
96     call nf95_def_var(ncid_restartphy, 'fder', nf90_float, idim2, varid)
97     call nf95_put_att(ncid_restartphy, varid, 'title', 'Derive de flux')
98    
99     call nf95_def_var(ncid_restartphy, 'rain_f', nf90_float, idim2, varid)
100     call nf95_put_att(ncid_restartphy, varid, 'title', 'precipitation liquide')
101    
102     call nf95_def_var(ncid_restartphy, 'snow_f', nf90_float, idim2, varid)
103     call nf95_put_att(ncid_restartphy, varid, 'title', 'precipitation solide')
104    
105     call nf95_def_var(ncid_restartphy, 'RUG', nf90_float, &
106 guez 310 [idim2, dimid_nbsrf], varid)
107 guez 157 call nf95_put_att(ncid_restartphy, varid, 'title', 'rugosite de surface')
108    
109     call nf95_def_var(ncid_restartphy, 'AGESNO', nf90_float, &
110 guez 310 [idim2, dimid_nbsrf], varid)
111 guez 157 call nf95_put_att(ncid_restartphy, varid, 'title', &
112     'Age de la neige surface')
113    
114     call nf95_def_var(ncid_restartphy, 'ZMEA', nf90_float, idim2, varid)
115     call nf95_def_var(ncid_restartphy, 'ZSTD', nf90_float, idim2, varid)
116     call nf95_def_var(ncid_restartphy, 'ZSIG', nf90_float, idim2, varid)
117     call nf95_def_var(ncid_restartphy, 'ZGAM', nf90_float, idim2, varid)
118     call nf95_def_var(ncid_restartphy, 'ZTHE', nf90_float, idim2, varid)
119     call nf95_def_var(ncid_restartphy, 'ZPIC', nf90_float, idim2, varid)
120     call nf95_def_var(ncid_restartphy, 'ZVAL', nf90_float, idim2, varid)
121     call nf95_def_var(ncid_restartphy, 'TANCIEN', nf90_float, &
122 guez 310 [idim2, idim3], varid)
123 guez 157 call nf95_def_var(ncid_restartphy, 'QANCIEN', nf90_float, &
124 guez 310 [idim2, idim3], varid)
125 guez 157
126     call nf95_def_var(ncid_restartphy, 'RUGMER', nf90_float, idim2, varid)
127     call nf95_put_att(ncid_restartphy, varid, 'title', &
128     'Longueur de rugosite sur mer')
129    
130     call nf95_def_var(ncid_restartphy, 'CLWCON', nf90_float, idim2, varid)
131     call nf95_put_att(ncid_restartphy, varid, 'title', 'Eau liquide convective')
132    
133     call nf95_def_var(ncid_restartphy, 'RNEBCON', nf90_float, idim2, varid)
134     call nf95_put_att(ncid_restartphy, varid, 'title', 'Nebulosite convective')
135    
136     call nf95_def_var(ncid_restartphy, 'RATQS', nf90_float, idim2, varid)
137     call nf95_put_att(ncid_restartphy, varid, 'title', 'Ratqs')
138    
139     call nf95_def_var(ncid_restartphy, 'RUNOFFLIC0', nf90_float, idim2, varid)
140     call nf95_put_att(ncid_restartphy, varid, 'title', 'Runofflic0')
141    
142 guez 310 call nf95_def_var(ncid_restartphy, 'sig1', nf90_float, [idim2, idim3], &
143 guez 157 varid)
144     call nf95_put_att(ncid_restartphy, varid, 'long_name', &
145     'section adiabatic updraft')
146    
147 guez 310 call nf95_def_var(ncid_restartphy, 'w01', nf90_float, [idim2, idim3], &
148 guez 157 varid)
149     call nf95_put_att(ncid_restartphy, varid, 'long_name', &
150     'vertical velocity within adiabatic updraft')
151    
152     call nf95_def_var(ncid_restartphy, 'trs', nf90_float, idim2, varid)
153     call nf95_put_att(ncid_restartphy, varid, 'long_name', &
154     'radon concentation in soil')
155    
156     call nf95_enddef(ncid_restartphy)
157    
158     call nf95_put_var(ncid_restartphy, varid_rlon, rlon)
159     call nf95_put_var(ncid_restartphy, varid_rlat, rlat)
160    
161     END SUBROUTINE phyredem0
162    
163     end module phyredem0_m

  ViewVC Help
Powered by ViewVC 1.1.21