40 call system(
"mkdir -p ./results")
43 call system(
"mkdir -p ./results/slices")
70 call decomp_2d_finalize
89 character(len=8) :: date1
90 character(len=10) :: time1
91 character(len=5) :: zone1
92 integer,
dimension(8) :: d1
94 print *,
'!**********************************************************!' 95 print *,
'! HERCULES V1.1 !' 96 print *,
'!**********************************************************!' 101 print *,
'Configurations: Closed Channel' 103 print *,
'Configurations: Open Channel' 105 print *,
'ochannel error' 110 write(*,
'(A8,F8.3,A14,F8.3,A14,F8.3)'), &
111 ' Lx =',
lx,
' Ly =',
ly,
' Lz =',
lz 114 write(*,
'(A8,I8,A14,I8,A14,I8)'), &
115 ' Nx =',
nx,
' Ny =',
ny,
' Nz =',
nz 120 write(*,
'(A8,F8.1,A14,F8.1,A14,F8.2)'), &
123 elseif (
dp_opt .eq. 2)
then 125 write(*,
'(A8,F8.1,A14,F8.3,A14,F8.2)'), &
128 elseif (
dp_opt .eq. 3)
then 130 write(*,
'(A8,F8.5,A14,F8.2,A14,F8.2)'), &
133 write(*,
'(A8,F8.5,A14,F8.3,A14,F8.3)'), &
134 ' f =',
fc,
' Ug =',
ug,
' Vg =',
vg 139 write(*,
'(A8,F8.2,A14,F8.2,A14,F8.2)'), &
143 write(*,
'(A8,I8,A14,F8.4)'),
' Its =',
imax,
' dt =',
dt 144 write(*,
'(A11,I5)'),
' IsScalar: ',
isscalar 145 write(*,
'(A11,I5)'),
' Isdamp : ',
isdamp 146 write(*,
'(A11,F5.2)'),
' zstretch: ',
zstretch 147 write(*,
'(A11,F5.2)'),
' u_mrf : ',
u_mrf 148 write(*,
'(A11,I5)'),
' Nprc : ',
nprc 153 write(*,
'(A36)'),
' Spatial Derivatives : 2nd Order CDS' 155 write(*,
'(A36)'),
' Spatial Derivatives : 4th Order CDS' 157 write(*,
'(A36)'),
' Spatial Derivatives : Fourier ' 159 print *,
'cds cheme error' 164 if (
cds .eq. 3 .and.
issk .eq. 1)
then 165 write(*,
'(A25)'),
' Skew-Symmetric : On' 166 elseif (
cds .eq. 3 .and.
issk .ne. 1)
then 167 write(*,
'(A26)'),
' Skew-Symmetric : Off' 173 write(*,
'(A33)'),
' Time Scheme : AB2 and CN' 175 write(*,
'(A33)'),
' Time Scheme : RK3 and CN' 177 print *,
'dts scheme error' 184 print *,
'dP Option : Constant Friction' 186 print *,
'dP Option : Constant Mass Flow Rate' 188 print *,
'dP Option : Constant Geostrophic Wind' 190 print *,
'dp_opt error' 195 print *,
'Cooling Surface : On' 196 write(*,
'(A22,F8.4)'), &
199 print *,
'Cooling Surface : Off' 201 print *,
'is_ri_var error' 208 call date_and_time(date1,time1,zone1,d1)
209 write(*,
'(A21,A8,A2,I2,A1,I2,A1,I2)'), &
210 ' Simulation Started: ',date1,
', ',d1(5),
':',d1(6),
':',d1(7)
228 character(len=8) :: date1
229 character(len=10) :: time1
230 character(len=5) :: zone1
231 integer,
dimension(8) :: d1
234 call date_and_time(date1,time1,zone1,d1)
235 write(*,
'(A22,A8,A2,I2,A1,I2,A1,I2)'),
' Simulation finished: ',date1, &
236 ', ',d1(5),
':',d1(6),
':',d1(7)
239 print *,
'!***********************************************************!' 240 print *,
'! Simulation Finished!! !' 241 print *,
'!***********************************************************!' real(mytype), save, protected ri_str
integer, save, protected is_ri_var
integer, save, protected myid
integer, save, protected isxy2d
integer, save, protected ochannel
integer, save, protected nprc
integer, save, protected ny
integer, save, protected isyz2d
real(mytype), save, protected fc
integer, save, protected issk
real(mytype), save, protected dt
integer, save, protected dts
subroutine initiate_indices
real(mytype), save, protected nu
real(mytype), save, protected ttop
integer, save, protected nz
real(mytype), save, protected ly
real(mytype), save, protected ug
integer, save, protected p_row
integer, save, protected isscalar
real(mytype), save, protected alpha
real(mytype), save, protected vg
real(mytype), save, protected t_ref
integer, save, protected isxz2d
real(mytype), save, protected u_mrf
integer, save, protected p_col
integer, save, protected cds
integer, save, protected isdamp
real(mytype), save, protected lz
integer, save, protected imax
real(mytype), save, protected lx
real(mytype), save, protected zstretch
integer, save, protected nx
real(mytype), save, protected ri_end
subroutine initiate_parameters
real(mytype), save, protected got
real(mytype), save, protected tbot
integer, save, protected dp_opt