diff --git a/tools/diachro/src/DIAPRO/caresolv.f90 b/tools/diachro/src/DIAPRO/caresolv.f90 index 44800d0534f97ae4a5b1626750b268761cf15fa4..2adabcfaef5a7f7d0687abb8912e52872a11bcee 100644 --- a/tools/diachro/src/DIAPRO/caresolv.f90 +++ b/tools/diachro/src/DIAPRO/caresolv.f90 @@ -326,6 +326,7 @@ INTEGER :: INDNPHCOL6,INDNPHCOL7,INDNPHCOL8 INTEGER :: INDNPHSTY1,INDNPHSTY2,INDNPHSTY3,INDNPHSTY4,INDNPHSTY5 INTEGER :: INDNPHSTY6,INDNPHSTY7,INDNPHSTY8 INTEGER :: INDLPHCOLUSER,INDLPHSTYUSER +INTEGER :: INDLPATCH #ifdef RHODES INTEGER :: ISTAF #endif @@ -341,7 +342,7 @@ INTEGER :: INBV, IND9999 INTEGER :: INDQ1,INDQ2 INTEGER,DIMENSION(30,100) :: IIMIN !!!!!!!!!!!!JOEL!!!!!!!!!! -INTEGER,DIMENSION(602) :: IT +INTEGER,DIMENSION(603) :: IT REAL,DIMENSION(100) :: ZISOLEV REAL :: ZISO, ZX, ZY LOGICAl :: GXI=.FALSE., GXJ=.FALSE. @@ -1168,6 +1169,7 @@ INDL90TITYT=INDEX(YCARIN,'L90TITYT') INDL90TITYM=INDEX(YCARIN,'L90TITYM') INDL90TITYB=INDEX(YCARIN,'L90TITYB') ! +INDLPATCH=INDEX(YCARIN,'LPATCH') if(nverbia >0)then print *,' ***caresolv AV CARMEMORY' endif @@ -1307,7 +1309,7 @@ endif INDCVARNPV11+INDCVARNPV12+INDCVARNPV13+INDCVARNPV14+INDCVARNPV15+& INDL90TITYT+INDL90TITYM+INDL90TITYB+& INDLVARNPHUSER + INDCVARNPH1+INDCVARNPH2+INDCVARNPH3+INDCVARNPH4+& - INDCVARNPH5+ INDCVARNPH6+INDCVARNPH7+INDCVARNPH8 + INDCVARNPH5+ INDCVARNPH6+INDCVARNPH7+INDCVARNPH8+INDLPATCH ! print *,' ***caresolv INDPARTIEL D ',INDPARTIEL ! IF(INDPARTIEL + & @@ -2166,6 +2168,10 @@ ENDIF IF(INDL90TITYB /= 0)THEN CALL RESOLVL(YCARIN(1:LEN_TRIM(YCARIN)),INDL90TITYB,L90TITYB) ENDIF +IF(INDLPATCH /= 0)THEN + CALL RESOLVL(YCARIN(1:LEN_TRIM(YCARIN)),INDLPATCH,LPATCH) +ENDIF + !!! NOV 2009 IF(NVERBIA > 0)THEN print *,' CARESOLV LDEFCV2,LDEFCV2LL,LDEFCV2IND,LDEFCV2CC ',LDEFCV2,LDEFCV2LL,LDEFCV2IND,LDEFCV2CC @@ -4550,7 +4556,7 @@ IT(592)=INDCVARNPH4; IT(593)=INDCVARNPH5; IT(594)=INDCVARNPH6 IT(594)=INDCVARNPH7; IT(596)=INDCVARNPH8; IT(597)=INDXPOSTITYT; IT(598)=INDXPOSTITYM;IT(599)=INDXPOSTITYB IT(600)=INDXYPOSTITYT; IT(601)=INDXYPOSTITYM;IT(602)=INDXYPOSTITYB - +IT(603)=INDLPATCH DO J=1,SIZE(IT) IF(IT(J) /=0 )THEN INDIM=MIN(INDIM,IT(J)) @@ -4560,7 +4566,11 @@ if(nverbia >0)then print *,'*** CARESOLV INDIM ',INDIM endif -INDP = INDEX(YCARIN,'_P_') +IF (LPATCH) THEN + INDP = 0 +ELSE + INDP = INDEX(YCARIN,'_P_') +ENDIF INDT = INDEX(YCARIN,'_T_') INDK = INDEX(YCARIN,'_K_') INDZ = INDEX(YCARIN,'_Z_') @@ -4835,7 +4845,11 @@ ELSE CALL EXTRACT_AND_OPEN_FILES(YCARIN(1:LEN_TRIM(YCARIN)),YCAROUT) ENDIF NFILESCUR(J)=NUMFILECUR - INDP = INDEX(YCARIN,'_P_') + IF (LPATCH) THEN + INDP = 0 + ELSE + INDP = INDEX(YCARIN,'_P_') + ENDIF INDT = INDEX(YCARIN,'_T_') INDK = INDEX(YCARIN,'_K_') INDZ = INDEX(YCARIN,'_Z_')