--- trunk/phylmd/phyredem.f 2014/03/05 14:57:53 82 +++ trunk/phylmd/phyredem.f 2014/07/07 17:45:21 101 @@ -23,36 +23,40 @@ nf95_def_var, nf95_enddef, nf95_redef, nf95_put_var, nf95_close USE temps, ONLY: itau_phy - CHARACTER(len=*) fichnom + CHARACTER(len=*), INTENT(IN):: fichnom REAL, INTENT(IN):: rlat(klon), rlon(klon) REAL, INTENT(IN):: pctsrf(klon, nbsrf) - REAL tsol(klon, nbsrf) - REAL tsoil(klon, nsoilmx, nbsrf) - REAL tslab(klon), seaice(klon) !IM "slab" ocean - REAL qsurf(klon, nbsrf) - REAL, intent(in):: qsol(klon) - REAL snow(klon, nbsrf) - REAL albedo(klon, nbsrf) - REAL alblw(klon, nbsrf) - REAL evap(klon, nbsrf) + REAL, INTENT(IN):: tsol(:, :) ! (klon, nbsrf) + REAL, INTENT(IN):: tsoil(:, :, :) ! (klon, nsoilmx, nbsrf) + REAL, INTENT(IN):: tslab(:), seaice(:) ! (klon) slab ocean + REAL, INTENT(IN):: qsurf(:, :) ! (klon, nbsrf) + + REAL, intent(in):: qsol(:) ! (klon) + ! column-density of water in soil, in kg m-2 + + REAL, INTENT(IN):: snow(klon, nbsrf) + REAL, INTENT(IN):: albedo(klon, nbsrf) + REAL, INTENT(IN):: alblw(klon, nbsrf) + REAL, INTENT(IN):: evap(klon, nbsrf) REAL, INTENT(IN):: rain_fall(klon) - REAL snow_fall(klon) - REAL solsw(klon) + REAL, INTENT(IN):: snow_fall(klon) + REAL, INTENT(IN):: solsw(klon) REAL, INTENT(IN):: sollw(klon) - REAL fder(klon) - REAL radsol(klon) - REAL frugs(klon, nbsrf) - REAL agesno(klon, nbsrf) + REAL, INTENT(IN):: fder(klon) + REAL, INTENT(IN):: radsol(klon) + REAL, INTENT(IN):: frugs(klon, nbsrf) + REAL, INTENT(IN):: agesno(klon, nbsrf) REAL, INTENT(IN):: zmea(klon) REAL, intent(in):: zstd(klon) REAL, intent(in):: zsig(klon) - REAL zgam(klon) - REAL zthe(klon) - REAL zpic(klon) - REAL zval(klon) - REAL t_ancien(klon, klev), q_ancien(klon, klev) - REAL rnebcon(klon, klev), ratqs(klon, klev), clwcon(klon, klev) - REAL run_off_lic_0(klon) + REAL, intent(in):: zgam(klon) + REAL, intent(in):: zthe(klon) + REAL, intent(in):: zpic(klon) + REAL, intent(in):: zval(klon) + REAL, intent(in):: t_ancien(klon, klev), q_ancien(klon, klev) + REAL, intent(in):: rnebcon(klon, klev), ratqs(klon, klev) + REAL, intent(in):: clwcon(klon, klev) + REAL, intent(in):: run_off_lic_0(klon) real, intent(in):: sig1(klon, klev) ! section adiabatic updraft real, intent(in):: w01(klon, klev) @@ -60,7 +64,7 @@ ! Local: - INTEGER ncid, idim2, idim3 + INTEGER ncid, idim2, idim3, dimid_nbsrf integer varid, varid_run_off_lic_0, varid_sig1, varid_w01, varid_rlon integer varid_rlat, varid_zmasq, varid_fter, varid_flic, varid_foce integer varid_fsic @@ -79,6 +83,7 @@ call nf95_def_dim(ncid, 'points_physiques', klon, idim2) call nf95_def_dim(ncid, 'klev', klev, idim3) + call nf95_def_dim(ncid, 'nbsrf', nbsrf, dimid_nbsrf) call nf95_def_var(ncid, 'longitude', nf90_float, idim2, varid_rlon) call nf95_def_var(ncid, 'latitude', nf90_float, idim2, varid_rlat) @@ -110,20 +115,11 @@ call nf95_put_var(ncid, varid_foce, pctsrf(:, is_oce)) call nf95_put_var(ncid, varid_fsic, pctsrf(:, is_sic)) - DO nsrf = 1, nbsrf - IF (nsrf<=99) THEN - WRITE (str2, '(i2.2)') nsrf - call nf95_redef(ncid) - call nf95_def_var(ncid, 'TS'//str2, nf90_float, idim2, varid) - call nf95_put_att(ncid, varid, 'title', & - 'Temperature de surface No.'//str2) - call nf95_enddef(ncid) - ELSE - PRINT *, 'Trop de sous-mailles' - STOP 1 - END IF - call nf95_put_var(ncid, varid, tsol(:, nsrf)) - END DO + call nf95_redef(ncid) + call nf95_def_var(ncid, 'TS', nf90_float, (/idim2, dimid_nbsrf/), varid) + call nf95_put_att(ncid, varid, 'title', 'surface temperature') + call nf95_enddef(ncid) + call nf95_put_var(ncid, varid, tsol) DO nsrf = 1, nbsrf DO isoil = 1, nsoilmx