--- trunk/libf/dyn3d/limit.f90 2008/08/01 15:24:12 15 +++ trunk/libf/dyn3d/limit.f90 2010/03/05 16:43:45 25 @@ -1,7 +1,5 @@ module limit_mod - ! This module is clean: no C preprocessor directive, no include line. - IMPLICIT none contains @@ -15,10 +13,8 @@ ! Both grids must be regular. use dimens_m, only: iim, jjm - use comconst, only: daysec, dtvr use indicesol, only: epsfra, nbsrf, is_ter, is_oce, is_lic, is_sic use dimphy, only: klon, zmasq - use conf_gcm_m, only: day_step use comgeom, only: rlonu, rlatv use etat0_mod, only: pctsrf use start_init_orog_m, only: mask @@ -27,7 +23,7 @@ use numer_rec, only: spline, splint use grid_change, only: dyn_phy - 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, & nf95_enddef, NF95_CREATE, nf95_inq_dimid, nf95_inquire_dimension, & nf95_inq_varid, NF95_OPEN use netcdf, only: NF90_CLOBBER, nf90_def_var, NF90_FLOAT, NF90_GET_VAR, & @@ -86,10 +82,6 @@ read (unit=*, nml=limit_nml) write(unit=*, nml=limit_nml) - ! Initializations: - dtvr = daysec / real(day_step) - CALL inigeom - ! Process rugosity: PRINT *, 'Processing rugosity...' @@ -97,13 +89,16 @@ ! Read coordinate variables: - call nf95_get_coord(ncid, "longitude", dlon_ini) + call nf95_inq_varid(ncid, "longitude", varid) + call nf95_gw_var(ncid, varid, dlon_ini) imdep = size(dlon_ini) - call nf95_get_coord(ncid, "latitude", dlat_ini) + call nf95_inq_varid(ncid, "latitude", varid) + call nf95_gw_var(ncid, varid, dlat_ini) jmdep = size(dlat_ini) - call nf95_get_coord(ncid, "temps", timeyear) + call nf95_inq_varid(ncid, "temps", varid) + call nf95_gw_var(ncid, varid, timeyear) lmdep = size(timeyear) ALLOCATE(champ(imdep, jmdep), champtime(iim, jjm + 1, lmdep)) @@ -148,10 +143,12 @@ PRINT *, 'Processing sea ice...' call NF95_OPEN('amipbc_sic_1x1.nc', NF90_NOWRITE, ncid) - call nf95_get_coord(ncid, "longitude", dlon_ini) + call nf95_inq_varid(ncid, "longitude", varid) + call nf95_gw_var(ncid, varid, dlon_ini) imdep = size(dlon_ini) - call nf95_get_coord(ncid, "latitude", dlat_ini) + call nf95_inq_varid(ncid, "latitude", varid) + call nf95_gw_var(ncid, varid, dlat_ini) jmdep = size(dlat_ini) call nf95_inq_dimid(ncid, "time", dimid) @@ -245,10 +242,12 @@ PRINT *, 'Traitement de la sst' call NF95_OPEN('amipbc_sst_1x1.nc', NF90_NOWRITE, ncid) - call nf95_get_coord(ncid, "longitude", dlon_ini) + call nf95_inq_varid(ncid, "longitude", varid) + call nf95_gw_var(ncid, varid, dlon_ini) imdep = size(dlon_ini) - call nf95_get_coord(ncid, "latitude", dlat_ini) + call nf95_inq_varid(ncid, "latitude", varid) + call nf95_gw_var(ncid, varid, dlat_ini) jmdep = size(dlat_ini) call nf95_inq_dimid(ncid, "time", dimid) @@ -314,13 +313,16 @@ PRINT *, 'Traitement de l albedo' call NF95_OPEN('Albedo.nc', NF90_NOWRITE, ncid) - call nf95_get_coord(ncid, "longitude", dlon_ini) + call nf95_inq_varid(ncid, "longitude", varid) + call nf95_gw_var(ncid, varid, dlon_ini) imdep = size(dlon_ini) - call nf95_get_coord(ncid, "latitude", dlat_ini) + call nf95_inq_varid(ncid, "latitude", varid) + call nf95_gw_var(ncid, varid, dlat_ini) jmdep = size(dlat_ini) - call nf95_get_coord(ncid, "temps", timeyear) + call nf95_inq_varid(ncid, "temps", varid) + call nf95_gw_var(ncid, varid, timeyear) lmdep = size(timeyear) ALLOCATE ( champ(imdep, jmdep), champtime(iim, jjm + 1, lmdep))