/[lmdze]/trunk/libf/phylmd/Interface_surf/interfoce_lim.f90
ViewVC logotype

Diff of /trunk/libf/phylmd/Interface_surf/interfoce_lim.f90

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 60 by guez, Tue Dec 6 15:07:04 2011 UTC revision 61 by guez, Fri Apr 20 14:58:43 2012 UTC
# Line 16  contains Line 16  contains
16    
17      use abort_gcm_m, only: abort_gcm      use abort_gcm_m, only: abort_gcm
18      use indicesol      use indicesol
19        use netcdf
20    
21      integer, intent(IN) :: itime ! numero du pas de temps courant      integer, intent(IN) :: itime ! numero du pas de temps courant
22      real , intent(IN) :: dtime ! pas de temps de la physique (en s)      real , intent(IN) :: dtime ! pas de temps de la physique (en s)
# Line 51  contains Line 52  contains
52    
53      ! quelques variables pour netcdf      ! quelques variables pour netcdf
54    
     include "netcdf.inc"  
55      integer :: nid, nvarid      integer :: nid, nvarid
56      integer, dimension(2) :: start, epais      integer, dimension(2) :: start, epais
57    
# Line 76  contains Line 76  contains
76    
77         ! Ouverture du fichier         ! Ouverture du fichier
78    
79         ierr = NF_OPEN ('limit.nc', NF_NOWRITE, nid)         ierr = NF90_OPEN ('limit.nc', NF90_NOWRITE, nid)
80         if (ierr.NE.NF_NOERR) then         if (ierr.NE.NF90_NOERR) then
81            abort_message &            abort_message &
82                 = 'Pb d''ouverture du fichier de conditions aux limites'                 = 'Pb d''ouverture du fichier de conditions aux limites'
83            call abort_gcm(modname, abort_message, 1)            call abort_gcm(modname, abort_message, 1)
# Line 94  contains Line 94  contains
94    
95            ! Fraction "ocean"            ! Fraction "ocean"
96    
97            ierr = NF_INQ_VARID(nid, 'FOCE', nvarid)            ierr = NF90_INQ_VARID(nid, 'FOCE', nvarid)
98            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
99               abort_message = 'Le champ <FOCE> est absent'               abort_message = 'Le champ <FOCE> est absent'
100               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
101            endif            endif
102            ierr = NF_GET_VARA_REAL(nid, nvarid, start, epais, pct_tmp(1, is_oce))            ierr = NF90_GET_VAR(nid, nvarid, pct_tmp(:, is_oce), start, epais)
103            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
104               abort_message = 'Lecture echouee pour <FOCE>'               abort_message = 'Lecture echouee pour <FOCE>'
105               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
106            endif            endif
107    
108            ! Fraction "glace de mer"            ! Fraction "glace de mer"
109    
110            ierr = NF_INQ_VARID(nid, 'FSIC', nvarid)            ierr = NF90_INQ_VARID(nid, 'FSIC', nvarid)
111            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
112               abort_message = 'Le champ <FSIC> est absent'               abort_message = 'Le champ <FSIC> est absent'
113               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
114            endif            endif
115            ierr = NF_GET_VARA_REAL(nid, nvarid, start, epais, pct_tmp(1, is_sic))            ierr = NF90_GET_VAR(nid, nvarid, pct_tmp(:, is_sic), start, epais)
116            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
117               abort_message = 'Lecture echouee pour <FSIC>'               abort_message = 'Lecture echouee pour <FSIC>'
118               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
119            endif            endif
120    
121            ! Fraction "terre"            ! Fraction "terre"
122    
123            ierr = NF_INQ_VARID(nid, 'FTER', nvarid)            ierr = NF90_INQ_VARID(nid, 'FTER', nvarid)
124            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
125               abort_message = 'Le champ <FTER> est absent'               abort_message = 'Le champ <FTER> est absent'
126               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
127            endif            endif
128            ierr = NF_GET_VARA_REAL(nid, nvarid, start, epais, pct_tmp(1, is_ter))            ierr = NF90_GET_VAR(nid, nvarid, pct_tmp(:, is_ter), start, epais)
129            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
130               abort_message = 'Lecture echouee pour <FTER>'               abort_message = 'Lecture echouee pour <FTER>'
131               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
132            endif            endif
133    
134            ! Fraction "glacier terre"            ! Fraction "glacier terre"
135    
136            ierr = NF_INQ_VARID(nid, 'FLIC', nvarid)            ierr = NF90_INQ_VARID(nid, 'FLIC', nvarid)
137            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
138               abort_message = 'Le champ <FLIC> est absent'               abort_message = 'Le champ <FLIC> est absent'
139               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
140            endif            endif
141            ierr = NF_GET_VARA_REAL(nid, nvarid, start, epais, pct_tmp(1, is_lic))            ierr = NF90_GET_VAR(nid, nvarid, pct_tmp(:, is_lic), start, epais)
142            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
143               abort_message = 'Lecture echouee pour <FLIC>'               abort_message = 'Lecture echouee pour <FLIC>'
144               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
145            endif            endif
146    
147         else ! on en est toujours a rnatur         else ! on en est toujours a rnatur
148    
149            ierr = NF_INQ_VARID(nid, 'NAT', nvarid)            ierr = NF90_INQ_VARID(nid, 'NAT', nvarid)
150            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
151               abort_message = 'Le champ <NAT> est absent'               abort_message = 'Le champ <NAT> est absent'
152               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
153            endif            endif
154            ierr = NF_GET_VARA_REAL(nid, nvarid, start, epais, nat_lu)            ierr = NF90_GET_VAR(nid, nvarid, nat_lu, start, epais)
155            if (ierr /= NF_NOERR) then            if (ierr /= NF90_NOERR) then
156               abort_message = 'Lecture echouee pour <NAT>'               abort_message = 'Lecture echouee pour <NAT>'
157               call abort_gcm(modname, abort_message, 1)               call abort_gcm(modname, abort_message, 1)
158            endif            endif
# Line 176  contains Line 176  contains
176    
177         ! Lecture SST         ! Lecture SST
178    
179         ierr = NF_INQ_VARID(nid, 'SST', nvarid)         ierr = NF90_INQ_VARID(nid, 'SST', nvarid)
180         if (ierr /= NF_NOERR) then         if (ierr /= NF90_NOERR) then
181            abort_message = 'Le champ <SST> est absent'            abort_message = 'Le champ <SST> est absent'
182            call abort_gcm(modname, abort_message, 1)            call abort_gcm(modname, abort_message, 1)
183         endif         endif
184         ierr = NF_GET_VARA_REAL(nid, nvarid, start, epais, sst_lu)         ierr = NF90_GET_VAR(nid, nvarid, sst_lu, start, epais)
185         if (ierr /= NF_NOERR) then         if (ierr /= NF90_NOERR) then
186            abort_message = 'Lecture echouee pour <SST>'            abort_message = 'Lecture echouee pour <SST>'
187            call abort_gcm(modname, abort_message, 1)            call abort_gcm(modname, abort_message, 1)
188         endif         endif
# Line 190  contains Line 190  contains
190    
191         ! Fin de lecture         ! Fin de lecture
192    
193         ierr = NF_CLOSE(nid)         ierr = NF90_CLOSE(nid)
194         deja_lu = .true.         deja_lu = .true.
195         jour_lu = jour         jour_lu = jour
196      endif      endif

Legend:
Removed from v.60  
changed lines
  Added in v.61

  ViewVC Help
Powered by ViewVC 1.1.21