From d38ad5f9ce7950a714581a0ede8f333ae2f924c1 Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Tue, 2 Apr 2013 10:02:14 +0000 Subject: [PATCH] Started implementing a change for the number of points in the depth profile. --- trimsp/src/trimspNL.F | 56 ++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/trimsp/src/trimspNL.F b/trimsp/src/trimspNL.F index 3148b83..7d7d874 100644 --- a/trimsp/src/trimspNL.F +++ b/trimsp/src/trimspNL.F @@ -203,12 +203,19 @@ c #endif IMPLICIT NONE -C These parameters are related to the maximum number of layers +C These parameters are related to the maximum number of layers MAXNL +C and define the number of points in the depth distribution MAXD + INTEGER MAXD,MAXD1,MAXD2,MAXD5,MAXDNL5 + PARAMETER (MAXD=200) + PARAMETER (MAXD1=MAXD+1) + PARAMETER (MAXD2=MAXD+2) + PARAMETER (MAXD5=MAXD*5) INTEGER MAXNL,MAXNL5,MAXNLp25,MAXNL5p2,MAXNLm15 PARAMETER (MAXNL=100) PARAMETER (MAXNL5=MAXNL*5) PARAMETER (MAXNLp25=MAXNL*MAXNL5) - PARAMETER (MAXNL5p2=MAXNL5*MAXNL5*100) + PARAMETER (MAXDNL5=MAXNL*MAXD5) + PARAMETER (MAXNL5p2=MAXNL5*MAXNL5*MAXD) PARAMETER (MAXNLm15=(MAXNL-1)*5) LOGICAL TEST(64),TESTR(2000),TEST1(2000) LOGICAL EQUAL @@ -225,10 +232,11 @@ C These parameters are related to the maximum number of layers INTEGER*4 JJR(2000,2),INOUT(2000,2),LRR(2000,2) INTEGER*4 IDMAX(2000),IKR(2000) INTEGER*4 number_in_layer(MAXNL),laufzahl - INTEGER*4 IRP(0:101),IPL(100),IPLB(100),IPLT(100) - INTEGER*4 ICD(100,MAXNL5),ICDT(100),ICDJT(MAXNL5) ,ICDIRJ(MAXNL5 - & ,MAXNL5),ICDR(100,MAXNL5),ICDTR(100),ICDJTR(MAXNL5) - & ,ICDIRI(100,MAXNL5,MAXNL5) ,ICDIRN(100,MAXNL5),ICDITR(MAXNL5) + INTEGER*4 IRP(0:MAXD1),IPL(MAXD),IPLB(MAXD),IPLT(MAXD) + INTEGER*4 ICD(MAXD,MAXNL5),ICDT(MAXD),ICDJT(MAXNL5) + & ,ICDIRJ(MAXNL5,MAXNL5),ICDR(MAXD,MAXNL5),ICDTR(MAXD) + & ,ICDJTR(MAXNL5),ICDIRI(MAXD,MAXNL5,MAXNL5) + & ,ICDIRN(MAXD,MAXNL5),ICDITR(MAXNL5) INTEGER*4 KADB(20),KADT(20),KADS(20),KADST(20) ,KADRIP(20,MAXNLm15 & ),KADRIS(20,MAXNLm15),KADROP(20,MAXNLm15),KADROS(20,MAXNLm15) & ,KADSJ(20,MAXNLm15),KADSL(20,6),KDSTJ(20,MAXNLm15),KDSTL(20,6 @@ -283,14 +291,14 @@ C REAL Variables & ,STR(2000),ASIGTR(2000),EX4R(2000) ,X2(2000),RR(2000) & ,VR(2000) ,V1R(2000),CXR(2000),CYR(2000),CZR(2000) ,SXR(2000) & ,C2R(2000),S2R(2000),CUR(2000) - REAL*8 RIRP(0:101) ,CASMOT(100),PHON(100),DENT(100),ION(100) - & ,DMGN(100) ,CASMOTR(100),PHONR(100),DENTR(100),IONR(100) - & ,DMGNR(100) ,ELGD(100),ELGDR(100) - REAL*8 ELE(100,MAXNL5),ELI(100,MAXNL5),ELP(100,MAXNL5),ELD(100 - & ,MAXNL5) ,ELET(MAXNL5),ELIT(MAXNL5),ELPT(MAXNL5),ELDT(MAXNL5) - & ,ELER(100,MAXNL5),ELIR(100,MAXNL5),ELPR(100,MAXNL5),ELDR(100 - & ,MAXNL5) ,ELETR(MAXNL5),ELITR(MAXNL5),ELPTR(MAXNL5) - & ,ELDTR(MAXNL5) + REAL*8 RIRP(0:MAXD1),CASMOT(MAXD),PHON(MAXD),DENT(MAXD),ION(MAXD) + & ,DMGN(MAXD),CASMOTR(MAXD),PHONR(MAXD),DENTR(MAXD),IONR(MAXD) + & ,DMGNR(MAXD),ELGD(MAXD),ELGDR(MAXD) + REAL*8 ELE(MAXD,MAXNL5),ELI(MAXD,MAXNL5),ELP(MAXD,MAXNL5) + & ,ELD(MAXD,MAXNL5) ,ELET(MAXNL5),ELIT(MAXNL5),ELPT(MAXNL5) + & ,ELDT(MAXNL5),ELER(MAXD,MAXNL5),ELIR(MAXD,MAXNL5),ELPR(MAXD + & ,MAXNL5),ELDR(MAXD,MAXNL5) ,ELETR(MAXNL5),ELITR(MAXNL5) + & ,ELPTR(MAXNL5),ELDTR(MAXNL5) REAL*8 AI(20),RKADB(20),RKADT(20) ,RKADS(20),RKADST(20) & ,RKADSJ(20,MAXNLm15),RKADSL(20,MAXNL),RKDSTJ(20,MAXNLm15) & ,RKDSTL(20,MAXNL) @@ -481,18 +489,18 @@ C CHARACTER Variables DATA EEL/0.D0/,EEL2/0.D0/,EEL3/0.D0/,EEL4/0.D0/ DATA EEL5/0.D0/,EEL6/0.D0/ DATA ENUCL/64*0.D0/,EN2LT/0.D0/,TAUPSI/64*0.D0/ - DATA EINEL/64*0.D0/,CASMOT/100*0.D0/,DENT/100*0.D0/ - DATA DMGN/100*0.D0/,ION/100*0.D0/,PHON/100*0.D0/ - DATA PHONR/100*0.D0/ - DATA ELGD/100*0.D0/,ELGDR/100*0.D0/ - DATA ICDT/100*0/,ICDTR/100*0/ - DATA ICDR/MAXNLp25*0/,ICDIRN/MAXNLp25*0/,IONR/100*0.D0/ - DATA DENTR/100*0.D0/,DMGNR/100*0.D0/ - DATA IPL/100*0/,IPLB/100*0/,IPLT/100*0/ + DATA EINEL/64*0.D0/,CASMOT/MAXD*0.D0/,DENT/MAXD*0.D0/ + DATA DMGN/MAXD*0.D0/,ION/MAXD*0.D0/,PHON/MAXD*0.D0/ + DATA PHONR/MAXD*0.D0/ + DATA ELGD/MAXD*0.D0/,ELGDR/MAXD*0.D0/ + DATA ICDT/MAXD*0/,ICDTR/MAXD*0/ + DATA ICDR/MAXDNL5*0/,ICDIRN/MAXDNL5*0/,IONR/MAXD*0.D0/ + DATA DENTR/MAXD*0.D0/,DMGNR/MAXD*0.D0/ + DATA IPL/MAXD*0/,IPLB/MAXD*0/,IPLT/MAXD*0/,IRP/MAXD2*0/ DATA IRPL/MAXNL*0/ DATA ICDJT/MAXNL5*0/,ICDJTR/MAXNL5*0/,ICDITR/MAXNL5*0/ - DATA ICD/MAXNLp25*0/,ELP/MAXNLp25*0.D0/,ELD/MAXNLp25*0.D0/ - DATA ELE/MAXNLp25*0.D0/,ELI/MAXNLp25*0.D0/ + DATA ICD/MAXDNL5*0/,ELP/MAXDNL5*0.D0/,ELD/MAXDNL5*0.D0/ + DATA ELE/MAXDNL5*0.D0/,ELI/MAXDNL5*0.D0/ DATA ICDIRI/MAXNL5p2*0/ DATA ICSUM/0/,ICSUMS/0/,ICDI/0/,ISPA/0/,ISPAT/0/ DATA Z2/MAXNL*0.D0/,M2/MAXNL*0.D0/