/[lmdze]/trunk/dyn3d/limit.f
ViewVC logotype

Diff of /trunk/dyn3d/limit.f

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

revision 15 by guez, Fri Aug 1 15:24:12 2008 UTC revision 34 by guez, Wed Jun 2 11:01:12 2010 UTC
# Line 1  Line 1 
1  module limit_mod  module limit_mod
2    
   ! This module is clean: no C preprocessor directive, no include line.  
   
3    IMPLICIT none    IMPLICIT none
4    
5  contains  contains
# Line 15  contains Line 13  contains
13      ! Both grids must be regular.      ! Both grids must be regular.
14    
15      use dimens_m, only: iim, jjm      use dimens_m, only: iim, jjm
     use comconst, only: daysec, dtvr  
16      use indicesol, only: epsfra, nbsrf, is_ter, is_oce, is_lic, is_sic      use indicesol, only: epsfra, nbsrf, is_ter, is_oce, is_lic, is_sic
17      use dimphy, only: klon, zmasq      use dimphy, only: klon, zmasq
     use conf_gcm_m, only: day_step  
18      use comgeom, only: rlonu, rlatv      use comgeom, only: rlonu, rlatv
19      use etat0_mod, only: pctsrf      use etat0_mod, only: pctsrf
20      use start_init_orog_m, only: mask      use start_init_orog_m, only: mask
# Line 27  contains Line 23  contains
23      use numer_rec, only: spline, splint      use numer_rec, only: spline, splint
24      use grid_change, only: dyn_phy      use grid_change, only: dyn_phy
25    
26      use netcdf95, only: handle_err, nf95_get_coord, NF95_CLOSE, NF95_DEF_DIM, &      use netcdf95, only: handle_err, nf95_gw_var, NF95_CLOSE, NF95_DEF_DIM, &
27           nf95_enddef, NF95_CREATE, nf95_inq_dimid, nf95_inquire_dimension, &           nf95_enddef, NF95_CREATE, nf95_inq_dimid, nf95_inquire_dimension, &
28           nf95_inq_varid, NF95_OPEN           nf95_inq_varid, NF95_OPEN
29      use netcdf, only: NF90_CLOBBER, nf90_def_var, NF90_FLOAT, NF90_GET_VAR, &      use netcdf, only: NF90_CLOBBER, nf90_def_var, NF90_FLOAT, NF90_GET_VAR, &
# Line 86  contains Line 82  contains
82      read (unit=*, nml=limit_nml)      read (unit=*, nml=limit_nml)
83      write(unit=*, nml=limit_nml)      write(unit=*, nml=limit_nml)
84    
     ! Initializations:  
     dtvr = daysec / real(day_step)  
     CALL inigeom  
   
85      ! Process rugosity:      ! Process rugosity:
86    
87      PRINT *, 'Processing rugosity...'      PRINT *, 'Processing rugosity...'
# Line 97  contains Line 89  contains
89    
90      ! Read coordinate variables:      ! Read coordinate variables:
91    
92      call nf95_get_coord(ncid, "longitude", dlon_ini)      call nf95_inq_varid(ncid, "longitude", varid)
93        call nf95_gw_var(ncid, varid, dlon_ini)
94      imdep = size(dlon_ini)      imdep = size(dlon_ini)
95    
96      call nf95_get_coord(ncid, "latitude", dlat_ini)      call nf95_inq_varid(ncid, "latitude", varid)
97        call nf95_gw_var(ncid, varid, dlat_ini)
98      jmdep = size(dlat_ini)      jmdep = size(dlat_ini)
99    
100      call nf95_get_coord(ncid, "temps", timeyear)      call nf95_inq_varid(ncid, "temps", varid)
101        call nf95_gw_var(ncid, varid, timeyear)
102      lmdep = size(timeyear)      lmdep = size(timeyear)
103    
104      ALLOCATE(champ(imdep, jmdep), champtime(iim, jjm + 1, lmdep))      ALLOCATE(champ(imdep, jmdep), champtime(iim, jjm + 1, lmdep))
# Line 148  contains Line 143  contains
143      PRINT *, 'Processing sea ice...'      PRINT *, 'Processing sea ice...'
144      call NF95_OPEN('amipbc_sic_1x1.nc', NF90_NOWRITE, ncid)      call NF95_OPEN('amipbc_sic_1x1.nc', NF90_NOWRITE, ncid)
145    
146      call nf95_get_coord(ncid, "longitude", dlon_ini)      call nf95_inq_varid(ncid, "longitude", varid)
147        call nf95_gw_var(ncid, varid, dlon_ini)
148      imdep = size(dlon_ini)      imdep = size(dlon_ini)
149    
150      call nf95_get_coord(ncid, "latitude", dlat_ini)      call nf95_inq_varid(ncid, "latitude", varid)
151        call nf95_gw_var(ncid, varid, dlat_ini)
152      jmdep = size(dlat_ini)      jmdep = size(dlat_ini)
153    
154      call nf95_inq_dimid(ncid, "time", dimid)      call nf95_inq_dimid(ncid, "time", dimid)
155      call NF95_INQuire_DIMension(ncid, dimid, len=lmdep)      call NF95_INQuire_DIMension(ncid, dimid, nclen=lmdep)
156      print *, 'lmdep = ', lmdep      print *, 'lmdep = ', lmdep
157      ! PM 28/02/2002 : nouvelle coordonnée temporelle, fichiers AMIP      ! PM 28/02/2002 : nouvelle coordonnée temporelle, fichiers AMIP
158      ! pas en jours      ! pas en jours
# Line 245  contains Line 242  contains
242      PRINT *, 'Traitement de la sst'      PRINT *, 'Traitement de la sst'
243      call NF95_OPEN('amipbc_sst_1x1.nc', NF90_NOWRITE, ncid)      call NF95_OPEN('amipbc_sst_1x1.nc', NF90_NOWRITE, ncid)
244    
245      call nf95_get_coord(ncid, "longitude", dlon_ini)      call nf95_inq_varid(ncid, "longitude", varid)
246        call nf95_gw_var(ncid, varid, dlon_ini)
247      imdep = size(dlon_ini)      imdep = size(dlon_ini)
248    
249      call nf95_get_coord(ncid, "latitude", dlat_ini)      call nf95_inq_varid(ncid, "latitude", varid)
250        call nf95_gw_var(ncid, varid, dlat_ini)
251      jmdep = size(dlat_ini)      jmdep = size(dlat_ini)
252    
253      call nf95_inq_dimid(ncid, "time", dimid)      call nf95_inq_dimid(ncid, "time", dimid)
254      call NF95_INQuire_DIMension(ncid, dimid, len=lmdep)      call NF95_INQuire_DIMension(ncid, dimid, nclen=lmdep)
255      print *, 'lmdep = ', lmdep      print *, 'lmdep = ', lmdep
256      !PM28/02/2002 : nouvelle coord temporelle fichiers AMIP pas en jours      !PM28/02/2002 : nouvelle coord temporelle fichiers AMIP pas en jours
257      !        Ici on suppose qu'on a 12 mois (de 30 jours).      !        Ici on suppose qu'on a 12 mois (de 30 jours).
# Line 314  contains Line 313  contains
313      PRINT *, 'Traitement de l albedo'      PRINT *, 'Traitement de l albedo'
314      call NF95_OPEN('Albedo.nc', NF90_NOWRITE, ncid)      call NF95_OPEN('Albedo.nc', NF90_NOWRITE, ncid)
315    
316      call nf95_get_coord(ncid, "longitude", dlon_ini)      call nf95_inq_varid(ncid, "longitude", varid)
317        call nf95_gw_var(ncid, varid, dlon_ini)
318      imdep = size(dlon_ini)      imdep = size(dlon_ini)
319    
320      call nf95_get_coord(ncid, "latitude", dlat_ini)      call nf95_inq_varid(ncid, "latitude", varid)
321        call nf95_gw_var(ncid, varid, dlat_ini)
322      jmdep = size(dlat_ini)      jmdep = size(dlat_ini)
323    
324      call nf95_get_coord(ncid, "temps", timeyear)      call nf95_inq_varid(ncid, "temps", varid)
325        call nf95_gw_var(ncid, varid, timeyear)
326      lmdep = size(timeyear)      lmdep = size(timeyear)
327    
328      ALLOCATE ( champ(imdep, jmdep), champtime(iim, jjm + 1, lmdep))      ALLOCATE ( champ(imdep, jmdep), champtime(iim, jjm + 1, lmdep))

Legend:
Removed from v.15  
changed lines
  Added in v.34

  ViewVC Help
Powered by ViewVC 1.1.21