From 423e9d994b1863389440628421b4bced3f6f1acd Mon Sep 17 00:00:00 2001 From: Gaelle DELAUTIER <gaelle.delautier@meteo.fr> Date: Tue, 24 Jul 2018 09:46:16 +0200 Subject: [PATCH] Gaelle 24/07/2018 : bug surfex 8.1 --- src/SURFEX/prep_hor_ocean_field.F90 | 9 +++++---- src/SURFEX/read_z1d_netcdf.F90 | 8 ++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/SURFEX/prep_hor_ocean_field.F90 b/src/SURFEX/prep_hor_ocean_field.F90 index 7f654d671..9bb9915bd 100644 --- a/src/SURFEX/prep_hor_ocean_field.F90 +++ b/src/SURFEX/prep_hor_ocean_field.F90 @@ -84,7 +84,7 @@ REAL, POINTER, DIMENSION(:,:,:) ::ZFIELDIN=>NULL()!field to interpolate horiz REAL, POINTER, DIMENSION(:,:) ::ZFIELD=>NULL() !field to interpolate horizontally REAL, ALLOCATABLE, DIMENSION(:,:,:)::ZFIELDOUT!field interpolated horizontally ! -INTEGER :: JLEV ! loop on oceanic vertical level +INTEGER :: JLEV, JLEV2 ! loop on oceanic vertical level INTEGER :: IK1 REAL(KIND=JPRB) :: ZHOOK_HANDLE !---------------------------------------------------------------------------- @@ -114,10 +114,11 @@ END IF ALLOCATE(ZFIELDOUT (KLAT,SIZE(ZFIELDIN,2),SIZE(ZFIELDIN,3)) ) ALLOCATE(ZFIELD(SIZE(ZFIELDIN,1),SIZE(ZFIELDIN,3))) ! -DO JLEV=1,SIZE(ZFIELDIN,2) +DO JLEV=NOCKMIN,NOCKMAX + JLEV2 = JLEV - NOCKMIN + 1 WHERE (PSEABATHY(:)-XZHOC(JLEV)>0.) LINTERP(:) = .FALSE. - ZFIELD(:,:)=ZFIELDIN(:,JLEV,:) - CALL HOR_INTERPOL(DTCO, U, GCP, KLUOUT,ZFIELD,ZFIELDOUT(:,JLEV,:)) + ZFIELD(:,:)=ZFIELDIN(:,JLEV2,:) + CALL HOR_INTERPOL(DTCO, U, GCP, KLUOUT,ZFIELD,ZFIELDOUT(:,JLEV2,:)) LINTERP(:) = .TRUE. ENDDO ! diff --git a/src/SURFEX/read_z1d_netcdf.F90 b/src/SURFEX/read_z1d_netcdf.F90 index 48f339892..af433b739 100644 --- a/src/SURFEX/read_z1d_netcdf.F90 +++ b/src/SURFEX/read_z1d_netcdf.F90 @@ -61,14 +61,14 @@ IF (CTYPE_SEAFLX=="NETCDF") THEN YFILENAME=TRIM(CFILE_SEAFLX) YNCVARNAME="depth" CALL READ_DIM_CDF(YFILENAME,YNCVARNAME,JDIMENSION) - NOCKMAX=JDIMENSION - ALLOCATE(XZHOC(0:JDIMENSION)) + NOCKMAX=JDIMENSION-1 + ALLOCATE(XZHOC(0:NOCKMAX)) XZHOC(0)=0. ! !* 2. Read the array in the netcdf file ! --------------------------------- - CALL READ_Z1D_CDF(YFILENAME,YNCVARNAME,XZHOC(1:JDIMENSION)) - IF (XZHOC(2)>0) XZHOC(:)=-XZHOC(:) + CALL READ_Z1D_CDF(YFILENAME,YNCVARNAME,XZHOC(0:NOCKMAX)) + IF (XZHOC(1)>0) XZHOC(:)=-XZHOC(:) ! WRITE(0,*) 'Oceanic vertical grid readed in netcdf file' ! WRITE(0,*) 'Number of level',NOCKMAX+1 ! WRITE(0,*) 'Depth of vertical level',XZHOC(:) -- GitLab