From 15ef504edd0f2715d9c869cf2529aaa2a9dc6e63 Mon Sep 17 00:00:00 2001 From: Gaelle Tanguy <gaelle.tanguy@meteo.fr> Date: Fri, 11 Jul 2014 09:44:13 +0000 Subject: [PATCH] Gaelle 11/7/2014 : bug pour champ LES de type SSOL --- tools/diachro/src/EXTRACTDIA/extractdia.f90 | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/tools/diachro/src/EXTRACTDIA/extractdia.f90 b/tools/diachro/src/EXTRACTDIA/extractdia.f90 index d504b4625..b06819b4d 100644 --- a/tools/diachro/src/EXTRACTDIA/extractdia.f90 +++ b/tools/diachro/src/EXTRACTDIA/extractdia.f90 @@ -84,6 +84,9 @@ ! add ALT 3Dfield if KCDL, add the LAT and LON 3Dfields if CONF and *CDL ! 04/11/2009 (G. Tanguy) : add case IJHV,IJZV, IJPV , JIHV, JIZV, JIPV ! 29/03/2011 (G. TANGUY) : add case ZGRB PGRB +! 11/07/2014 (G. TANGUY) : correction pour les donnees LES de type SSOl +! (vlev et field ne correspondaient pas suite à +! mauvais zoom) !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -208,6 +211,7 @@ INTEGER :: ILEVEL2D ! en option : altitude du champ 2D LOGICAL :: LLEVEL2D REAL,DIMENSION(4) :: ZLATLON INTEGER :: INX,INY +REAL,DIMENSION(:,:,:),ALLOCATABLE :: ZALT !------------------------------------------------------------------------------- ! !* 1. INIT @@ -898,7 +902,7 @@ DO JGR=1,10000 ENDIF IF (ikdeb == 0 .AND. ikfin == 0 ) THEN ivarkdeb=NREADKL ; ivarkfin=NREADKH - IF (ivarkdeb/=ivarkfin) THEN ! domK/=1 + IF (ivarkdeb/=ivarkfin .AND. CTYPE/='SSOL') THEN ! domK/=1 ivarkdeb=MAX(1+JPVEXT,NREADKL) ivarkfin=min(ivarzmax,SIZE(XVAR,3)-JPVEXT) ENDIF @@ -993,11 +997,21 @@ DO JGR=1,10000 CLOSE(7) ! CASE('LLHV','llhv','IJHV','jihv') - CALL WRITELLHV(ivarideb,ivarifin,ivarjdeb,ivarjfin, & + IF (CTYPE == 'SSOL') THEN + ALLOCATE(ZALT(1,1,SIZE(XTRAJZ,1))) + ZALT(1,1,:)=XTRAJZ(:,1,1) + CALL WRITELLHV(ivarideb,ivarifin,ivarjdeb,ivarjfin, & ivarkdeb,ivarkfin,ivartinf,ivartsup, & ivartrajinf,ivartrajsup,ivarprocinf,ivarprocsup,& CGROUP,YFILEIN,YFLAGWRITE,YTYPEOUT,& - ilocverbia,iret) + ilocverbia,iret,PALT=ZALT) + ELSE + CALL WRITELLHV(ivarideb,ivarifin,ivarjdeb,ivarjfin, & + ivarkdeb,ivarkfin,ivartinf,ivartsup, & + ivartrajinf,ivartrajsup,ivarprocinf,ivarprocsup,& + CGROUP,YFILEIN,YFLAGWRITE,YTYPEOUT,& + ilocverbia,iret) + ENDIF if (ilocverbia > 0 ) then print*,' WRITELLHV return= ',iret end if -- GitLab