5 (dt,ta,rho4aed2,v2dpar,nplan,sali4aed2,temp4aed2,windspd,npoin2,&
6 npoin3,thick4aed2,benth4aed2,rain)
55 INTEGER ,
INTENT(IN) :: NPLAN,NPOIN2,NPOIN3
56 DOUBLE PRECISION,
INTENT(IN) :: DT
57 TYPE(bief_obj),
INTENT(IN) :: TA,V2DPAR
58 TYPE(bief_obj),
INTENT(IN) :: RAIN,WINDSPD
59 TYPE(bief_obj),
INTENT(IN) :: RHO4AED2,THICK4AED2,BENTH4AED2
60 TYPE(bief_obj),
INTENT(IN) :: TEMP4AED2,SALI4AED2
65 INTEGER,
PARAMETER :: REALKIND = 8
67 INTEGER,
PARAMETER :: DOUBLEKIND = 8
70 LOGICAL :: INIT = .false.
71 LOGICAL :: DISABLE = .false.
73 CHARACTER(LEN=30) :: MODEL
75 REAL(DOUBLEKIND) :: DT_UPDATE
76 REAL(DOUBLEKIND) :: T_UPDATE
82 CHARACTER(LEN=30),
ALLOCATABLE,
DIMENSION(:) :: NAMES
83 CHARACTER(LEN=30),
ALLOCATABLE,
DIMENSION(:) :: BEN_NAMES
84 CHARACTER(LEN=30),
ALLOCATABLE,
DIMENSION(:) :: DIAG_NAMES
85 INTEGER,
POINTER,
DIMENSION(:) :: SURF_MAP
86 INTEGER,
POINTER,
DIMENSION(:) :: BENTH_MAP
87 INTEGER,
POINTER,
DIMENSION(:) :: NL
88 INTEGER,
POINTER,
DIMENSION(:,:) :: MAT_ID
89 REAL(REALKIND),
POINTER,
DIMENSION(:) :: THICK
90 REAL(REALKIND),
POINTER,
DIMENSION(:) :: DEPTH
91 REAL(REALKIND),
POINTER,
DIMENSION(:,:) :: DCDT
92 REAL(REALKIND),
POINTER,
DIMENSION(:) :: SAL
93 REAL(REALKIND),
POINTER,
DIMENSION(:) :: TEMP
94 REAL(REALKIND),
POINTER,
DIMENSION(:) :: TSS
95 REAL(REALKIND),
POINTER,
DIMENSION(:) :: VVEL
96 REAL(REALKIND),
POINTER,
DIMENSION(:,:) :: PAR
97 REAL(REALKIND),
POINTER,
DIMENSION(:,:) :: CC
98 REAL(REALKIND),
POINTER,
DIMENSION(:,:) :: DIAG
99 REAL(REALKIND),
POINTER,
DIMENSION(:) :: DENSITY
100 REAL(REALKIND),
POINTER,
DIMENSION(:) :: I_0
101 REAL(REALKIND),
POINTER,
DIMENSION(:) :: WIND
102 REAL(REALKIND),
POINTER,
DIMENSION(:) :: PRECIP
103 REAL(REALKIND),
POINTER,
DIMENSION(:) :: USTAR_BED
104 REAL(REALKIND),
POINTER,
DIMENSION(:) :: USTAR_SURF
105 REAL(REALKIND),
POINTER,
DIMENSION(:) :: AIR_TEMP
107 REAL(REALKIND),
POINTER,
DIMENSION(:) :: BIOSHADE
108 REAL(REALKIND),
POINTER,
DIMENSION(:) :: BIODRAG
109 REAL(REALKIND),
POINTER,
DIMENSION(:) :: SOLARSHADE
110 REAL(REALKIND),
POINTER,
DIMENSION(:) :: RAINLOSS
112 LOGICAL,
POINTER,
DIMENSION(:) :: ACTIVE
113 REAL(REALKIND),
POINTER,
DIMENSION(:) :: AREA
114 REAL(REALKIND),
POINTER,
DIMENSION(:) :: BATHY
129 WRITE(
lu,*)
'INITIALISING "AED2" EXTERNAL MODULE:' 134 ALLOCATE(wq%CC(1:
nwqvars,1:npoin3),stat=rc1)
135 IF (rc1.NE.0) stop
'ALLOCATE_MEMORY(): ERROR ALLOCATING (WQ%CC)' 137 ALLOCATE(wq%DIAG(1:
nwqdiags,1:npoin3),stat=rc1)
138 IF (rc1.NE.0) stop
'ALLOCATE_MEMORY(): ERROR ALLOCATING (WQ%DIAG)' 140 ALLOCATE(wq%TEMP(1:npoin3),stat=rc1)
141 IF (rc1.NE.0) stop
'ALLOCATE_MEMORY(): ERROR ALLOCATING (WQ%TEMP)' 143 ALLOCATE(wq%SAL(1:npoin3),stat=rc1)
144 IF (rc1.NE.0) stop
'ALLOCATE_MEMORY(): ERROR ALLOCATING (WQ%SAL)' 146 ALLOCATE(wq%DENSITY(1:npoin3),stat=rc1)
148 stop
'ALLOCATE_MEMORY(): ERROR ALLOCATING (WQ%DENSITY)' 151 ALLOCATE(wq%THICK(1:npoin3),stat=rc1)
152 IF(rc1.NE.0) stop
'ALLOCATE_MEMORY(): ERROR ALLOCATING (WQ%THICK)' 154 ALLOCATE(wq%TSS(1:npoin3),stat=rc1)
155 IF (rc1.NE.0) stop
'ALLOCATE_MEMORY(): ERROR ALLOCATING (WQ%TSS)' 160 ALLOCATE(wq%BIOSHADE(1:npoin3),stat=rc1)
161 ALLOCATE(wq%BIODRAG(1:npoin3),stat=rc1)
164 ALLOCATE(wq%AREA(1:npoin2),stat=rc1)
165 ALLOCATE(wq%I_0(1:npoin2),stat=rc1)
166 ALLOCATE(wq%WIND(1:npoin2),stat=rc1)
167 ALLOCATE(wq%PRECIP(1:npoin2),stat=rc1)
168 ALLOCATE(wq%AIR_TEMP(1:npoin2),stat=rc1)
169 ALLOCATE(wq%USTAR_BED(1:npoin2),stat=rc1)
170 ALLOCATE(wq%USTAR_SURF(1:npoin2),stat=rc1)
171 ALLOCATE(wq%DEPTH(1:npoin2),stat=rc1)
172 ALLOCATE(wq%BATHY(1:npoin2),stat=rc1)
173 ALLOCATE(wq%MAT_ID(1:2,1:npoin2),stat=rc1)
174 ALLOCATE(wq%ACTIVE(1:npoin2),stat=rc1)
175 ALLOCATE(wq%SURF_MAP (1:npoin2),stat=rc1)
176 ALLOCATE(wq%BENTH_MAP (1:npoin2),stat=rc1)
184 IF ( .NOT.
ASSOCIATED(wq%CC) .OR. .NOT.
ASSOCIATED(wq%DIAG) )
THEN 185 WRITE(
lu,*)
'WATER QUALITY VARIABLES NOT ASSOCIATED' 190 wq%SURF_MAP,wq%BENTH_MAP)
191 WRITE(
lu,*)
'EXIT INIT_VAR_AED2_MODELS' 199 wq%CC(j,i) = ta%ADR(j+2)%P%R(i)
214 wq%TEMP => temp4aed2%R
215 wq%SAL => sali4aed2%R
218 wq%DENSITY => rho4aed2%R
220 wq%THICK => thick4aed2%R
222 wq%AIR_TEMP =>
tair%R
232 wq%BENTH_MAP => benth4aed2%I
273 WRITE(
lu,*)
'SET_ENV_AED2_MODELS SUCCESSFUL'
type(bief_obj), target, public tair
subroutine t3d_construct_aed2(DT, TA, RHO4AED2, V2DPAR, NPLAN, SALI4AED2, TEMP4AED2, WINDSPD, NPOIN2, NPOIN3, THICK4AED2, BENTH4AED2, RAIN)
type(bief_obj), target rayaed2
subroutine, public set_env_aed2_models(DT_, TEMP_, SALT_, RHO_, H_, TSS_, RAD_, EXTCOEFF_, AREA_, I_0_, WND_, RAIN_, AIR_TEMP_, USTAR_BED_, USTAR_SURF_, Z_, BATHY_, MAT_ID_, ACTIVE_, BENTH_MAP_, BIODRAG_, SOLARSHADE_, RAINLOSS_)
subroutine, public init_var_aed2_models(NCELLS, CC_, CC_DIAG_, NWQ, NWQBEN, SM, BM)