Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
D
DOUAR WSMP
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
HUGG
DOUAR WSMP
Commits
7f68430c
Commit
7f68430c
authored
13 years ago
by
Dave Whipp
Browse files
Options
Downloads
Patches
Plain Diff
Added sp11 and sp12 as input options for the defining the surface geometry
parent
6a1206fb
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/create_surfaces.f90
+8
-5
8 additions, 5 deletions
src/create_surfaces.f90
src/module_definitions.f90
+3
-3
3 additions, 3 deletions
src/module_definitions.f90
src/read_input_file.f90
+8
-0
8 additions, 0 deletions
src/read_input_file.f90
with
19 additions
and
8 deletions
src/create_surfaces.f90
+
8
−
5
View file @
7f68430c
...
@@ -50,7 +50,7 @@ integer,dimension(:), allocatable :: hulltriangles,vis_tlist,vis_elist
...
@@ -50,7 +50,7 @@ integer,dimension(:), allocatable :: hulltriangles,vis_tlist,vis_elist
integer
,
dimension
(:),
allocatable
::
add_tlist
,
nb
integer
,
dimension
(:),
allocatable
::
add_tlist
,
nb
integer
,
dimension
(:,:),
allocatable
::
vertices
,
neighbour
,
nn
integer
,
dimension
(:,:),
allocatable
::
vertices
,
neighbour
,
nn
logical
*
1
,
dimension
(:),
allocatable
::
lt_work
,
ln_work
logical
*
1
,
dimension
(:),
allocatable
::
lt_work
,
ln_work
double precision
::
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
double precision
::
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
,
sp11
,
sp12
double precision
::
x1
,
x2
,
x3
,
y1
,
y2
,
y3
,
z1
,
z2
,
z3
,
xne
,
yne
,
zne
,
xyzn
double precision
::
x1
,
x2
,
x3
,
y1
,
y2
,
y3
,
z1
,
z2
,
z3
,
xne
,
yne
,
zne
,
xyzn
double precision
::
delta
,
eps
,
epsil
,
xtemp
,
ytemp
,
delta_angle
,
delta_radius
,
angle
double precision
::
delta
,
eps
,
epsil
,
xtemp
,
ytemp
,
delta_angle
,
delta_radius
,
angle
double precision
::
xx
,
yy
,
xini
,
xend
,
yini
,
yend
,
dx
,
dy
,
dist
double precision
::
xx
,
yy
,
xini
,
xend
,
yini
,
yend
,
dx
,
dy
,
dist
...
@@ -133,6 +133,8 @@ else
...
@@ -133,6 +133,8 @@ else
sp08
=
surface
%
sp08
sp08
=
surface
%
sp08
sp09
=
surface
%
sp09
sp09
=
surface
%
sp09
sp10
=
surface
%
sp10
sp10
=
surface
%
sp10
sp11
=
surface
%
sp11
sp12
=
surface
%
sp12
surface_type
=
surface
%
surface_type
surface_type
=
surface
%
surface_type
levelt
=
surface
%
levelt
levelt
=
surface
%
levelt
...
@@ -430,7 +432,7 @@ else
...
@@ -430,7 +432,7 @@ else
!----------------------------------------------|
!----------------------------------------------|
call
zpoints
(
surface
%
nsurface
,
surface
%
x
,
surface
%
y
,
surface
%
z
,
surface_type
,
&
call
zpoints
(
surface
%
nsurface
,
surface
%
x
,
surface
%
y
,
surface
%
z
,
surface_type
,
&
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
)
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
,
sp11
,
sp12
)
!----------------------------------------------|
!----------------------------------------------|
!----computing the normals---------------------|
!----computing the normals---------------------|
...
@@ -452,7 +454,7 @@ end subroutine create_surf
...
@@ -452,7 +454,7 @@ end subroutine create_surf
!------------------------------------------------------------------------------|
!------------------------------------------------------------------------------|
subroutine
zpoints
(
ns
,
x
,
y
,
z
,
surface_type
,
&
subroutine
zpoints
(
ns
,
x
,
y
,
z
,
surface_type
,
&
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
)
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
,
sp11
,
sp12
)
!------------------------------------------------------------------------------|
!------------------------------------------------------------------------------|
!(((((((((((((((( Purpose of the routine ))))))))))))))))))))))))))))))))))))))
!(((((((((((((((( Purpose of the routine ))))))))))))))))))))))))))))))))))))))
...
@@ -462,7 +464,7 @@ subroutine zpoints (ns,x,y,z,surface_type, &
...
@@ -462,7 +464,7 @@ subroutine zpoints (ns,x,y,z,surface_type, &
! ns is the number of points
! ns is the number of points
! x,y,z are the coordinates of the points
! x,y,z are the coordinates of the points
! surface_type is the type of surface under consideration
! surface_type is the type of surface under consideration
! sp01..sp1
0
are the surface parameters (not all are necessarily used)
! sp01..sp1
2
are the surface parameters (not all are necessarily used)
!------------------------------------------------------------------------------|
!------------------------------------------------------------------------------|
!(((((((((((((((( declaration of the subroutine arguments ))))))))))))))))))))
!(((((((((((((((( declaration of the subroutine arguments ))))))))))))))))))))
!------------------------------------------------------------------------------|
!------------------------------------------------------------------------------|
...
@@ -474,7 +476,7 @@ implicit none
...
@@ -474,7 +476,7 @@ implicit none
integer
ns
integer
ns
double precision
x
(
ns
),
y
(
ns
),
z
(
ns
)
double precision
x
(
ns
),
y
(
ns
),
z
(
ns
)
integer
surface_type
integer
surface_type
double precision
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
double precision
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
,
sp11
,
sp12
!------------------------------------------------------------------------------|
!------------------------------------------------------------------------------|
!(((((((((((((((( declaration of the subroutine internal variables )))))))))))))
!(((((((((((((((( declaration of the subroutine internal variables )))))))))))))
...
@@ -665,6 +667,7 @@ select case(surface_type)
...
@@ -665,6 +667,7 @@ select case(surface_type)
! sp08 is the angle of the first kink (theta1)
! sp08 is the angle of the first kink (theta1)
! sp09 is the y position of the second kink (y2)
! sp09 is the y position of the second kink (y2)
! sp10 is the angle of the second kink (theta2)
! sp10 is the angle of the second kink (theta2)
! sp11 is the dip angle of the outer 'flat' region
psi
=
sp03
*
pi
/
180.d0
psi
=
sp03
*
pi
/
180.d0
theta1
=
sp08
*
pi
/
180.d0
theta1
=
sp08
*
pi
/
180.d0
theta2
=
sp10
*
pi
/
180.d0
theta2
=
sp10
*
pi
/
180.d0
...
...
This diff is collapsed.
Click to expand it.
src/module_definitions.f90
+
3
−
3
View file @
7f68430c
...
@@ -27,8 +27,8 @@ module definitions
...
@@ -27,8 +27,8 @@ module definitions
integer
nsurface
,
nt
integer
nsurface
,
nt
double precision
,
dimension
(:),
pointer
::
r
,
s
,
x
,
y
,
z
,
xn
,
yn
,
zn
,
u
,
v
,
w
double precision
,
dimension
(:),
pointer
::
r
,
s
,
x
,
y
,
z
,
xn
,
yn
,
zn
,
u
,
v
,
w
integer
levelt
,
itype
,
material
,
surface_type
integer
levelt
,
itype
,
material
,
surface_type
double precision
::
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
double precision
::
sp01
,
sp02
,
sp03
,
sp04
,
sp05
,
sp06
,
sp07
,
sp08
,
sp09
,
sp10
,
sp11
double precision
activation_time
double precision
::
sp12
,
activation_time
integer
,
dimension
(:,:),
pointer
::
icon
integer
,
dimension
(:,:),
pointer
::
icon
logical
rand
logical
rand
integer
leveloct
integer
leveloct
...
@@ -330,7 +330,7 @@ module definitions
...
@@ -330,7 +330,7 @@ module definitions
end
interface
end
interface
!=====[ZISODISP================================================================
!=====[ZISODISP
]
================================================================
! type ziso is used to store the isostatic deflection of the basal boundary
! type ziso is used to store the isostatic deflection of the basal boundary
! due to isostasy
! due to isostasy
...
...
This diff is collapsed.
Click to expand it.
src/read_input_file.f90
+
8
−
0
View file @
7f68430c
...
@@ -422,6 +422,10 @@ do i=1,params%ns
...
@@ -422,6 +422,10 @@ do i=1,params%ns
if
(
iproc
==
0
)
call
scanfile
(
params
%
infile
,
'surface_param_09_'
//
cm
(
il
:
3
),
surface
(
i
)
%
sp09
,
ires
)
if
(
iproc
==
0
)
call
scanfile
(
params
%
infile
,
'surface_param_09_'
//
cm
(
il
:
3
),
surface
(
i
)
%
sp09
,
ires
)
surface
(
i
)
%
sp10
=
0.d0
surface
(
i
)
%
sp10
=
0.d0
if
(
iproc
==
0
)
call
scanfile
(
params
%
infile
,
'surface_param_10_'
//
cm
(
il
:
3
),
surface
(
i
)
%
sp10
,
ires
)
if
(
iproc
==
0
)
call
scanfile
(
params
%
infile
,
'surface_param_10_'
//
cm
(
il
:
3
),
surface
(
i
)
%
sp10
,
ires
)
surface
(
i
)
%
sp11
=
0.d0
if
(
iproc
==
0
)
call
scanfile
(
params
%
infile
,
'surface_param_11_'
//
cm
(
il
:
3
),
surface
(
i
)
%
sp11
,
ires
)
surface
(
i
)
%
sp12
=
0.d0
if
(
iproc
==
0
)
call
scanfile
(
params
%
infile
,
'surface_param_12_'
//
cm
(
il
:
3
),
surface
(
i
)
%
sp12
,
ires
)
call
mpi_bcast
(
surface
(
i
)
%
sp01
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp01
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp02
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp02
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
...
@@ -433,6 +437,8 @@ do i=1,params%ns
...
@@ -433,6 +437,8 @@ do i=1,params%ns
call
mpi_bcast
(
surface
(
i
)
%
sp08
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp08
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp09
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp09
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp10
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp10
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp11
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
call
mpi_bcast
(
surface
(
i
)
%
sp12
,
1
,
mpi_double_precision
,
0
,
mpi_comm_world
,
ierr
)
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp01'
,
surface
(
i
)
%
sp01
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp01'
,
surface
(
i
)
%
sp01
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp02'
,
surface
(
i
)
%
sp02
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp02'
,
surface
(
i
)
%
sp02
...
@@ -444,6 +450,8 @@ do i=1,params%ns
...
@@ -444,6 +450,8 @@ do i=1,params%ns
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp08'
,
surface
(
i
)
%
sp08
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp08'
,
surface
(
i
)
%
sp08
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp09'
,
surface
(
i
)
%
sp09
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp09'
,
surface
(
i
)
%
sp09
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp10'
,
surface
(
i
)
%
sp10
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp10'
,
surface
(
i
)
%
sp10
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp11'
,
surface
(
i
)
%
sp11
write
(
threadinfo
%
Logunit
,
*
)
'surface '
,
i
,
'sp12'
,
surface
(
i
)
%
sp12
surface
(
i
)
%
activation_time
=
-1.d0
surface
(
i
)
%
activation_time
=
-1.d0
if
(
iproc
==
0
)
call
scanfile
(
params
%
infile
,
'activation_time_'
//
cm
(
il
:
3
),
surface
(
i
)
%
activation_time
,
ires
)
if
(
iproc
==
0
)
call
scanfile
(
params
%
infile
,
'activation_time_'
//
cm
(
il
:
3
),
surface
(
i
)
%
activation_time
,
ires
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment