Está en la página 1de 7

C

SUBROUTINE TRANSPOR2D(DTT,FC,FZ,FN,FP,FDET,
1
FCO,FZO,FNO,FPO,FDETO)
INCLUDE 'comblk98.h'
INCLUDE 'TRANS.H'
PARAMETER (IM=77,JM=98,IMM1=IM-1,JMM1=JM-1)
PARAMETER (DX=500,DY=500,DT=10)

C
OPEN (1,FILE='HASIL.TXT',STATUS='UNKNOWN')
C
OPEN (2,FILE='URESIDU-1.TXT',STATUS='OLD')
C
OPEN (3,FILE='VRESIDU-1.TXT',STATUS='OLD')
C
OPEN (4,FILE='BATI.BTM',STATUS='OLD')
C
OPEN (11,FILE='CHL.TXT',STATUS='UNKNOWN')
C
OPEN (12,FILE='ZOO.TXT',STATUS='UNKNOWN')
C
OPEN (13,FILE='DIN.TXT',STATUS='UNKNOWN')
C
OPEN (14,FILE='DIP.TXT',STATUS='UNKNOWN')
C
OPEN (15,FILE='DET.TXT',STATUS='UNKNOWN')
C --- BACA DATA ARUS-U
C
DO J=JM,1,-1
C
READ(2,*) (UAF(I,J),I=1,IM)
C
ENDDO
C
CLOSE(2)
C --- BACA DATA ARUS-V
C
DO J=JM,1,-1
C
READ(3,*) (VAF(I,J),I=1,IM)
C
ENDDO
C
CLOSE(3)
C-----BACA DATA KEDALAMAN
C
DO J=JM,1,-1
C
READ(4,*) (H(I,J),I=1,IM)
C
ENDDO
C
CLOSE(4)
C

DATA PI/3.141592654/,EPS/1.E-7/

C-----REDFIELD RATIO
C
C : N : P
C
40% : 7.2% : 1%
C
30ugCHL = 1 ugC
NCLK=1/30
NKCL=30
NKN=7.2/40
NKP=1/40
BAN=14
BAP=31
C-----KOEFISIEN
AD=100
KSN=3.
KSP=0.1
SC=0.33/8640
SD=1/8640
C
SC=0.
CC
SD=0.
SOLOPT=0.5
)
SOL=1.153
in)
SOLOPT=128.404
SOL=326.1775
VM=1.5/8640
RMAX=1.5/8640

!CHLOROPHYL KE CARBON
!CARBON KE CHLOROPHYL
!CARBON KE NITROGEN
!CARBON KE PHOSPHATE
!BERAT ATOM N
!BERAT ATOM P
!KOEFISIEN DIFUSI (M2/DET)
!KONSTANTA HALF-SATURATION N (uM)
!KONSTANTA HALF-SATURATION P (uM)
!KEC. TENGGELAM CHLOROPHYL (m/HARI)
!KEC. TENGGELAM DETRITUS (m/HARI)
!INTENSITAS CAHAYA OPTIMUM (gcal/cm2/min
!PAR rataan selama satu hari (gcal/cm2/m

!FOTOSINTESIS MAX (per HARI)


!MAX GRAZING RATE (per HARI)

DXEX = 500.
CX=(DTT/DXEX)*SQRT(9.8*51.0)
CC
SYARAT AWAL
C
DO 10 J=1,JM
C
DO 10 I=1,IM
C
FCO(I,J)=0.24057/30
C
FZO(I,J)=9.467
C
FNO(I,J)=0.04
C
FPO(I,J)=0.163
C
FDETO(I,J)=(0.24057/30*0.32)+(9.467*0.1) !ug C/L
C 10 CONTINUE
C
C

!ug CHL/L
!ug C/L
!uM
!uM

DO 100 K=1,500
IF (MOD(K,10).EQ.0) WRITE (*,*) K
DO 40 J=1,JM
DO 40 I=1,IM

NILAI AWAL KONSENTRASI POLUTAN


FNO(120,71)=4.232
FNO(120,70)=13.959
FPO(120,71)=4.442
FPO(120,70)=13.563
WRITE(*,*)'SELESAI HARGA AWAL'

C-----KOEFISIEN BIOKIMIAWI
V1N(I,J)=FNO(I,J)/(KSN+FNO(I,J))
C

PLUS14
V1P(I,J)=FPO(I,J)/(KSP+FPO(I,J))
V2=SOL/SOLOPT*EXP(1-(SOL/SOLOPT))
V3=(29.5/25)*EXP(1-(29.5/25))
V4=(31.7/30)*EXP(1-(31.7/30))
A1(I,J)=VM*MIN(V1N(I,J),V1P(I,J))*V2*V3*V4 !FOTOSINTESIS
A1N(I,J)=VM*V1N(I,J)*V2*V3*V4
A1P(I,J)=VM*V1P(I,J)*V2*V3*V4

WRITE (*,*)
FZO(75,71)
A2=0.32/8640
i fito(per HARI)

!mortalitas alam

IF (FCO(I,J).GT.(0.28/30)) THEN
A3(I,J)=RMAX*(1-EXP((0.47/30)*((0.28/30)-FCO(I,J)))) !max pemangsa
an
ELSE
A3(I,J)=0
ENDIF
C
C

WRITE(*,*)'HITUNG BIOKIMIA'
WRITE (*,*) FCO(76,70), 0.28/30
A4=0.1/8640
i zoo(per HARI)

!mortalitas alam

A5(I,J)=0.2*RMAX*(1-EXP((0.47/30)*((0.28/30)-FCO(I,J)))) !produksi
!kotoran zoo
A6=0.3*RMAX

!urine zoo

A7=0.5/8640

!dekomposisi (per HARI)

UUF=(UAF(I,J)+UAF(I+1,J))/2
UUB=(UAF(I-1,J)+UAF(I,J))/2
VVF=(VAF(I,J)+VAF(I,J+1))/2
VVB=(VAF(I,J-1)+VAF(I,J))/2
C

IF (H(I,J).GT.0) THEN

C-----PERSAMAAN UNTUK CHLOROPHYL-A (C)


GRUC(I,J)=1/DX(I,J)*(FCO(I+1,J)-FCO(I,J))
GRVC(I,J)=1/DY(I,J)*(FCO(I,J+1)-FCO(I,J))
CRVUC(I,J)=1/DX(I,J)*(GRUC(I,J)-GRUC(I-1,J))
CRVVC(I,J)=1/DY(I,J)*(GRVC(I,J)-GRVC(I,J-1))
BTGUC1(I,J)=((FCO(I,J)+FCO(I+1,J))/2)1
(DX(I,J)*DX(I,J)/8*CRVUC(I,J))
BTGVC1(I,J)=((FCO(I,J)+FCO(I,J+1))/2)1
(DY(I,J)*DY(I,J)/8*CRVVC(I,J))
BTGUC2(I,J)=((FCO(I-1,J)+FCO(I,J))/2)1
(DX(I,J)*DX(I,J)/8*CRVUC(I,J))
BTGVC2(I,J)=((FCO(I,J-1)+FCO(I,J))/2)1
(DY(I,J)*DY(I,J)/8*CRVVC(I,J))
FC(I,J)=FCO(I,J)-(DTT/DX(I,J)*((((UUF+ABS(UUF))/2*BTGUC1(I,J))
1 -((UUB+ABS(UUB))/2*BTGUC1(I-1,J)))+(((UUF-ABS(UUF))
2 /2*BTGUC2(I+1,J))-((UUB-ABS(UUB))/2*BTGUC2(I,J)))
3 -(AD*DX(I,J)*CRVUC(I,J))))-(DTT/DY(I,J)*((((VVF+ABS(VVF))/2
4 *BTGVC1(I,J))-((VVB+ABS(VVB))/2*BTGVC1(I,J-1)))
5 +(((VVF-ABS(VVF))/2*BTGVC2(I,J+1))-((VVB-ABS(VVB))/2
6 *BTGVC2(I,J)))-(AD*DY(I,J)*CRVVC(I,J))))+(DTT*A1(I,J)*FCO(I,J))
7 -(DTT*A2*FCO(I,J))-(DTT*A3(I,J)*FZO(I,J))
8 -(DTT*SC*FCO(I,J)/H(I,J))
IF(FC(I,J).LE.0) FC(I,J)=0
IF(H(I,J).EQ.0) FC(I,J)=0
FCHL(I,J)=FC(I,J)*30
C

WRITE (*,*) FC(76,70), A1(76,70), A2, A3(76,70)

PERSAMAAN UNTUK ZOOPLANKTON (Z)

1
2
3
4
1
2
3
4
5
6
7

GRUZ(I,J)=1/DX(I,J)*(FZO(I+1,J)-FZO(I,J))
GRVZ(I,J)=1/DY(I,J)*(FZO(I,J+1)-FZO(I,J))
CRVUZ(I,J)=1/DX(I,J)*(GRUZ(I,J)-GRUZ(I-1,J))
CRVVZ(I,J)=1/DY(I,J)*(GRVZ(I,J)-GRVZ(I,J-1))
BTGUZ1(I,J)=((FZO(I,J)+FZO(I+1,J))/2)(DX(I,J)*DX(I,J)/8*CRVUZ(I,J))
BTGVZ1(I,J)=((FZO(I,J)+FZO(I,J+1))/2)(DY(I,J)*DY(I,J)/8*CRVVZ(I,J))
BTGUZ2(I,J)=((FZO(I-1,J)+FZO(I,J))/2)(DX(I,J)*DX(I,J)/8*CRVUZ(I,J))
BTGVZ2(I,J)=((FZO(I,J-1)+FZO(I,J))/2)(DY(I,J)*DY(I,J)/8*CRVVZ(I,J))
FZ(I,J)=FZO(I,J)-(DTT/DX(I,J)*((((UUF+ABS(UUF))/2*BTGUZ1(I,J))
-((UUB+ABS(UUB))/2*BTGUZ1(I-1,J)))+(((UUF-ABS(UUF))
/2*BTGUZ2(I+1,J))-((UUB-ABS(UUB))/2*BTGUZ2(I,J)))
-(AD*DX(I,J)*CRVUZ(I,J))))-(DTT/DY(I,J)*((((VVF+ABS(VVF))/2
*BTGVZ1(I,J))-((VVB+ABS(VVB))/2*BTGVZ1(I,J-1)))
+(((VVF-ABS(VVF))/2*BTGVZ2(I,J+1))-((VVB-ABS(VVB))/2
*BTGVZ2(I,J)))-(AD*DY(I,J)*CRVVZ(I,J))))+
(DTT*A3(I,J)*FZO(I,J))

-(DTT*A4*FZO(I,J))-(DTT*A5(I,J)*FZO(I,J))-(DTT*A6*FZO(I,J))
IF (FZ(I,J).LE.0) FZ(I,J)=0
IF(H(I,J).EQ.0) FZ(I,J)=0

C
C

WRITE(*,*)'HITUNG ZOOPLANKTON'
WRITE (*,*) FZ(73,70)
!,FCO(73,70),A3(73,70),A5(73,70)

PERSAMAAN UNTUK DISOLVED INORGANIK NITRAT (N)

1
2
3
4
1
2
3
4
5
6
7
8

GRUN(I,J)=1/DX(I,J)*(FNO(I+1,J)-FNO(I,J))
GRVN(I,J)=1/DY(I,J)*(FNO(I,J+1)-FNO(I,J))
CRVUN(I,J)=1/DX(I,J)*(GRUN(I,J)-GRUN(I-1,J))
CRVVN(I,J)=1/DY(I,J)*(GRVN(I,J)-GRVN(I,J-1))
BTGUN1(I,J)=((FNO(I,J)+FNO(I+1,J))/2)(DX(I,J)*DX(I,J)/8*CRVUN(I,J))
BTGVN1(I,J)=((FNO(I,J)+FNO(I,J+1))/2)(DY(I,J)*DY(I,J)/8*CRVVN(I,J))
BTGUN2(I,J)=((FNO(I-1,J)+FNO(I,J))/2)(DX(I,J)*DX(I,J)/8*CRVUN(I,J))
BTGVN2(I,J)=((FNO(I,J-1)+FNO(I,J))/2)(DY(I,J)*DY(I,J)/8*CRVVN(I,J))
FN(I,J)=FNO(I,J)-(DTT/DX(I,J)*((((UUF+ABS(UUF))/2*BTGUN1(I,J))
-((UUB+ABS(UUB))/2*BTGUN1(I-1,J)))+(((UUF-ABS(UUF))
/2*BTGUN2(I+1,J))-((UUB-ABS(UUB))/2*BTGUN2(I,J)))
-(AD*DX(I,J)*CRVUN(I,J))))-(DTT/DY(I,J)*((((VVF+ABS(VVF))/2
*BTGVN1(I,J))-((VVB+ABS(VVB))/2*BTGVN1(I,J-1)))
+(((VVF-ABS(VVF))/2*BTGVN2(I,J+1))-((VVB-ABS(VVB))/2
*BTGVN2(I,J)))-(AD*DY(I,J)*CRVVN(I,J))))-(DTT*A1N(I,J)*FCO(I,J)
*NKN/BAN)+(DTT*A6*FZO(I,J)*NKN/BAN)
+(DTT*A7*FDETO(I,J)*NKN/BAN)
IF(FN(I,J).LE.0) FN(I,J)=0
IF(H(I,J).EQ.0) FN(I,J)=0

TULIS HASIL

C
C
C
C

IF((j.eq.1).and.(i.eq.1)) THEN
PLUS=PLUS+1
WRITE(*,*)PLUS,FN(I,J)
ENDIF

C
C

WRITE(*,*)'HITUNG NITRAT'
WRITE (*,*) FN(3,70)

PERSAMAAN UNTUK DISOLVED INORGANIC PHOSPHATE (P)

1
2
3
4
1

GRUP(I,J)=1/DX(I,J)*(FPO(I+1,J)-FPO(I,J))
GRVP(I,J)=1/DY(I,J)*(FPO(I,J+1)-FPO(I,J))
CRVUP(I,J)=1/DX(I,J)*(GRUP(I,J)-GRUP(I-1,J))
CRVVP(I,J)=1/DY(I,J)*(GRVP(I,J)-GRVP(I,J-1))
BTGUP1(I,J)=((FPO(I,J)+FPO(I+1,J))/2)(DX(I,J)*DX(I,J)/8*CRVUP(I,J))
BTGVP1(I,J)=((FPO(I,J)+FPO(I,J+1))/2)(DY(I,J)*DY(I,J)/8*CRVVP(I,J))
BTGUP2(I,J)=((FPO(I-1,J)+FPO(I,J))/2)(DX(I,J)*DX(I,J)/8*CRVUP(I,J))
BTGVP2(I,J)=((FPO(I,J-1)+FPO(I,J))/2)(DY(I,J)*DY(I,J)/8*CRVVP(I,J))
FP(I,J)=FPO(I,J)-(DTT/DX(I,J)*((((UUF+ABS(UUF))/2*BTGUP1(I,J))
-((UUB+ABS(UUB))/2*BTGUP1(I-1,J)))+(((UUF-ABS(UUF))

2
3
4
5
6
7
8

C
C
C

/2*BTGUP2(I+1,J))-((UUB-ABS(UUB))/2*BTGUP2(I,J)))
-(AD*DX(I,J)*CRVUP(I,J))))-(DTT/DY(I,J)*((((VVF+ABS(VVF))/2
*BTGVP1(I,J))-((VVB+ABS(VVB))/2*BTGVP1(I,J-1)))
+(((VVF-ABS(VVF))/2*BTGVP2(I,J+1))-((VVB-ABS(VVB))/2
*BTGVP2(I,J)))-(AD*DY(I,J)*CRVVP(I,J))))-(DTT*A1P(I,J)*FCO(I,J)
*NKP/BAP)+(DTT*A6*FZO(I,J)*NKP/BAP)
+(DTT*A7*FDETO(I,J)*NKP/BAP)
IF(FP(I,J).LE.0) FP(I,J)=0
IF(H(I,J).EQ.0) FP(I,J)=0
WRITE(*,*)'HITUNG FOSFAT'
WRITE (*,*) FN(73,71), FP(73,71)
PERSAMAAN UNTUK DETRITUS (D)

GRUD(I,J)=1/DX(I,J)*(FDETO(I+1,J)-FDETO(I,J))
GRVD(I,J)=1/DY(I,J)*(FDETO(I,J+1)-FDETO(I,J))
CRVUD(I,J)=1/DX(I,J)*(GRUD(I,J)-GRUD(I-1,J))
CRVVD(I,J)=1/DY(I,J)*(GRVD(I,J)-GRVD(I,J-1))
BTGUD1(I,J)=((FDETO(I,J)+FDETO(I+1,J))/2)1
(DX(I,J)*DX(I,J)/8*CRVUD(I,J))
BTGVD1(I,J)=((FDETO(I,J)+FDETO(I,J+1))/2)2
(DY(I,J)*DY(I,J)/8*CRVVD(I,J))
BTGUD2(I,J)=((FDETO(I-1,J)+FDETO(I,J))/2)3
(DX(I,J)*DX(I,J)/8*CRVUD(I,J))
BTGVD2(I,J)=((FDETO(I,J-1)+FDETO(I,J))/2)4
(DY(I,J)*DY(I,J)/8*CRVVD(I,J))
FDET(I,J)=FDETO(I,J)-(DTT/DX(I,J)*((((UUF+ABS(UUF))/2*BTGUD1(I,J))
1
-((UUB+ABS(UUB))/2*BTGUD1(I-1,J)))+(((UUF-ABS(UUF))
2
/2*BTGUD2(I+1,J))-((UUB-ABS(UUB))/2*BTGUD2(I,J)))
3
-(AD*DX(I,J)*CRVUD(I,J))))-(DTT/DY(I,J)*((((VVF+ABS(VVF))/2
4
*BTGVD1(I,J))-((VVB+ABS(VVB))/2*BTGVD1(I,J-1)))
5
+(((VVF-ABS(VVF))/2*BTGVD2(I,J+1))-((VVB-ABS(VVB))/2
6
*BTGVD2(I,J)))-(AD*DY(I,J)*CRVVD(I,J))))+(DTT*A2*FCO(I,J))
7 +(DTT*A4*FZO(I,J))+(DTT*A5(I,J)*FZO(I,J))-(DTT*A7*FDETO(I,J))
8
-(DTT*SD*FDETO(I,J)/H(I,J))
IF(FDET(I,J).LE.0) FDET(I,J)=0
IF(H(I,J).EQ.0) FDET(I,J)=0
C
C

WRITE (*,*) FDET(73,70)


ENDIF
FN(120,71)=4.232
FN(120,70)=13.959
FP(120,71)=4.442
FP(120,70)=13.563
40 CONTINUE

C
c
c
c
c
c
c
c
c
c

BATAS TERBUKA BARAT


DO 70 J=1,8
DO 70 I=1
FN(I,J)=0.063
FP(I,J)=0.526
FC(I,J)=1.20285/30
FCHL(I,J)=1.20285
FZ(I,J)=1.
FDET(I,J)=(1.20285/30)+1
70 CONTINUE

C
c
c
c
c
c
c
c
c
c

BATAS TERBUKA SELATAN TIMUR


DO 80 J=1
DO 80 I=1,20
FN(I,J)=0.1
FP(I,J)=0.1
FC(I,J)=1./30
FCHL(I,J)=1.
FZ(I,J)=1.
FDET(I,J)=(1./30)+1
80 CONTINUE

C
c
c
c
c
c
c
c
c
c

BATAS TERBUKA SELATAN BARAT


DO 90 J=1
DO 90 I=90,113
FN(I,J)=0.1
FP(I,J)=0.1
FC(I,J)=1./30
FCHL(I,J)=1.
FZ(I,J)=1.
FDET(I,J)=(1./30)+1
90 CONTINUE

C
C

SYARAT BATAS
DO 20 J=21,89
DO 20 I=21,89
FC(I,2)=(CX*FCO(I,3))+((1-CX)*FCO(I,2))
FC(I,1)=FC(I,2)
FCHL(I,2)=FC(I,2)/30
FCHL(I,1)=FCHL(I,2)
FZ(1,2)=(CX*FZO(I,3))+((1-CX)*FZO(I,2))
FZ(I,1)=FZ(I,2)
FN(I,2)=(CX*FNO(I,3))+((1-CX)*FNO(I,2))
FN(I,1)=FN(2,J)
FP(I,2)=(CX*FPO(I,3))+((1-CX)*FPO(I,2))
FP(I,1)=FP(2,J)
FDET(I,2)=(CX*FDETO(I,3))+((1-CX)*FDETO(I,2))
FDET(I,1)=FDET(I,2)
20

C
C
C
C
C
C
C
C 50
C
C
c
c
c
c
c
c
c
c

CONTINUE
IF (K.EQ.500) THEN
DO 50 J=JM,1,-1
WRITE (11,'(77F10.6)')
WRITE (12,'(77F10.6)')
WRITE (13,'(77F10.6)')
WRITE (14,'(77F10.6)')
WRITE (15,'(77F10.6)')
CONTINUE
ENDIF

TRANSFER VARIABEL
DO 60 J=1,JM
DO 60 I=1,IM
FCO(I,J)=FC(I,J)
FZO(I,J)=FZ(I,J)
FNO(I,J)=FN(I,J)
FPO(I,J)=FP(I,J)
FDETO(I,J)=FDET(I,J)
60 CONTINUE

(FCHL(I,J),I=1,IM)
(FZ(I,J),I=1,IM)
(FN(I,J),I=1,IM)
(FP(I,J),I=1,IM)
(FDET(I,J),I=1,IM)

C 100 CONTINUE
RETURN
END

También podría gustarte