Skip to content

Commit 2dfe3ac

Browse files
committed
Remove old radius_1d_rj_r and a_r_1d_rj_r set routines
1 parent 74cf68c commit 2dfe3ac

File tree

10 files changed

+76
-72
lines changed

10 files changed

+76
-72
lines changed

src/Fortran_libraries/PARALLEL_src/CONST_SPH_GRID/copy_sph_1d_global_index.f90

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -200,16 +200,7 @@ subroutine copy_sph_1d_gl_idx_rj &
200200
sph_rj%radius_1d_rj_r(i) = s3d_radius%radius_1d_gl(j)
201201
end do
202202
!
203-
!$omp parallel do private(i)
204-
do i = 1, sph_rj%nidx_rj(1)
205-
sph_rj%a_r_1d_rj_r(i) = one / sph_rj%radius_1d_rj_r(i)
206-
sph_rj%ar_1d_rj(i,1) = sph_rj%a_r_1d_rj_r(i)
207-
sph_rj%ar_1d_rj(i,2) = sph_rj%ar_1d_rj(i,1) &
208-
& * sph_rj%a_r_1d_rj_r(i)
209-
sph_rj%ar_1d_rj(i,3) = sph_rj%ar_1d_rj(i,2) &
210-
& * sph_rj%a_r_1d_rj_r(i)
211-
end do
212-
!$omp end parallel do
203+
call set_sph_one_over_radius_rj(sph_rj)
213204
!
214205
end subroutine copy_sph_1d_gl_idx_rj
215206
!

src/Fortran_libraries/PARALLEL_src/SPH_SHELL_src/init_sph_trans.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ subroutine initialize_legendre_trans &
115115
& (sph%sph_rtm%nidx_rtm, sph%sph_rlm%nidx_rlm, idx_trns)
116116
!
117117
call radial_4_sph_trans &
118-
& (sph%sph_rtp, sph%sph_rtm, sph%sph_rlm, sph%sph_rj)
118+
& (sph%sph_rtp, sph%sph_rtm, sph%sph_rlm)
119119
call set_mdx_rlm_rtm(sph%sph_params%l_truncation, &
120120
& sph%sph_rtm%nidx_rtm, sph%sph_rlm%nidx_rlm, &
121121
& sph%sph_rtm%idx_gl_1d_rtm_m, sph%sph_rlm%idx_gl_1d_rlm_j, &

src/Fortran_libraries/PARALLEL_src/SPH_SHELL_src/parallel_load_data_4_sph.f90

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,7 @@ end subroutine sph_rj_index_flags_and_params
300300
subroutine set_radius_dat_sph_MHD &
301301
& (radial_rj_grp, sph_params, sph_rj)
302302
!
303+
use m_spheric_constants
303304
use set_radius_4_sph_dynamo
304305
!
305306
type(group_data), intent(in) :: radial_rj_grp
@@ -315,9 +316,13 @@ subroutine set_radius_dat_sph_MHD &
315316
& (sph_rj%nidx_rj(1), sph_rj%radius_1d_rj_r, radial_rj_grp, &
316317
& sph_params%iflag_radial_grid, sph_params%nlayer_ICB, &
317318
& sph_params%nlayer_CMB, sph_params%nlayer_2_center, &
318-
& sph_rj%ar_1d_rj, sph_rj%r_ele_rj, sph_rj%ar_ele_rj, &
319+
& sph_rj%r_ele_rj, sph_rj%ar_ele_rj, &
319320
& sph_params%radius_ICB, sph_params%radius_CMB, &
320321
& sph_params%R_earth)
322+
if(sph_params%iflag_radial_grid .eq. igrid_error) then
323+
call calypso_mpi_abort(ierr_sph, &
324+
& 'Numbedr of radial layers are 0 or negative!')
325+
end if
321326
!
322327
end subroutine set_radius_dat_sph_MHD
323328
!

src/Fortran_libraries/PARALLEL_src/SPH_SHELL_src/set_params_sph_trans.f90

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,10 @@
2323
!! & (nidx_rtm, idx_gl_1d_mphi, mn_rlm)
2424
!! subroutine set_sin_theta_rtm &
2525
!! & (nth_rtm, g_colat_rtm, asin_theta_1d_rtm)
26-
!! subroutine radial_4_sph_trans(sph_rtp, sph_rtm, sph_rlm, sph_rj)
26+
!! subroutine radial_4_sph_trans(sph_rtp, sph_rtm, sph_rlm)
2727
!! type(sph_rtp_grid), intent(inout) :: sph_rtp
2828
!! type(sph_rtm_grid), intent(inout) :: sph_rtm
2929
!! type(sph_rlm_grid), intent(inout) :: sph_rlm
30-
!! type(sph_rj_grid), intent(inout) :: sph_rj
3130
!!@endverbatim
3231
!
3332
module set_params_sph_trans
@@ -245,14 +244,13 @@ end subroutine set_sin_theta_rtp
245244
! -----------------------------------------------------------------------
246245
! -----------------------------------------------------------------------
247246
!
248-
subroutine radial_4_sph_trans(sph_rtp, sph_rtm, sph_rlm, sph_rj)
247+
subroutine radial_4_sph_trans(sph_rtp, sph_rtm, sph_rlm)
249248
!
250249
use t_spheric_parameter
251250
!
252251
type(sph_rtp_grid), intent(inout) :: sph_rtp
253252
type(sph_rtm_grid), intent(inout) :: sph_rtm
254253
type(sph_rlm_grid), intent(inout) :: sph_rlm
255-
type(sph_rj_grid), intent(inout) :: sph_rj
256254
!
257255
!
258256
!$omp parallel workshare
@@ -262,8 +260,6 @@ subroutine radial_4_sph_trans(sph_rtp, sph_rtm, sph_rlm, sph_rj)
262260
& = one / sph_rtm%radius_1d_rtm_r(1:sph_rtm%nidx_rtm(1))
263261
sph_rlm%a_r_1d_rlm_r(1:sph_rlm%nidx_rlm(1)) &
264262
& = one / sph_rlm%radius_1d_rlm_r(1:sph_rlm%nidx_rlm(1))
265-
sph_rj%a_r_1d_rj_r(1:sph_rj%nidx_rj(1)) &
266-
& = one / sph_rj%radius_1d_rj_r(1:sph_rj%nidx_rj(1))
267263
!$omp end parallel workshare
268264
!
269265
end subroutine radial_4_sph_trans

src/Fortran_libraries/SERIAL_src/SPH_SPECTR_src/copy_sph_rj_mode_4_IO.f90

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -66,25 +66,6 @@ subroutine copy_sph_node_4_rj_from_IO(sph_IO, sph_rj, &
6666
& = sph_IO%idx_gl_sph(1:sph_rj%nnod_rj,i)
6767
end do
6868
!
69-
!$omp parallel workshare
70-
sph_rj%idx_gl_1d_rj_r(1:sph_rj%nidx_rj(1)) &
71-
& = sph_IO%idx_gl_1(1:sph_rj%nidx_rj(1))
72-
!
73-
sph_rj%radius_1d_rj_r(1:sph_rj%nidx_rj(1)) &
74-
& = sph_IO%r_gl_1(1:sph_rj%nidx_rj(1))
75-
sph_rj%a_r_1d_rj_r(1:sph_rj%nidx_rj(1)) &
76-
& = one / sph_rj%radius_1d_rj_r(1:sph_rj%nidx_rj(1))
77-
!
78-
sph_rj%ar_1d_rj(1:sph_rj%nidx_rj(1),1) &
79-
& = sph_rj%a_r_1d_rj_r(1:sph_rj%nidx_rj(1))
80-
sph_rj%ar_1d_rj(1:sph_rj%nidx_rj(1),2) &
81-
& = sph_rj%ar_1d_rj(1:sph_rj%nidx_rj(1),1) &
82-
& * sph_rj%a_r_1d_rj_r(1:sph_rj%nidx_rj(1))
83-
sph_rj%ar_1d_rj(1:sph_rj%nidx_rj(1),3) &
84-
& = sph_rj%ar_1d_rj(1:sph_rj%nidx_rj(1),2) &
85-
& * sph_rj%a_r_1d_rj_r(1:sph_rj%nidx_rj(1))
86-
!$omp end parallel workshare
87-
!
8869
!$omp parallel workshare
8970
sph_rj%idx_gl_1d_rj_j(1:sph_rj%nidx_rj(2),1) &
9071
& = sph_IO%idx_gl_2(1:sph_rj%nidx_rj(2),1)
@@ -93,6 +74,16 @@ subroutine copy_sph_node_4_rj_from_IO(sph_IO, sph_rj, &
9374
sph_rj%idx_gl_1d_rj_j(1:sph_rj%nidx_rj(2),3) &
9475
& = sph_IO%idx_gl_2(1:sph_rj%nidx_rj(2),3)
9576
!$omp end parallel workshare
77+
!
78+
!$omp parallel workshare
79+
sph_rj%idx_gl_1d_rj_r(1:sph_rj%nidx_rj(1)) &
80+
& = sph_IO%idx_gl_1(1:sph_rj%nidx_rj(1))
81+
!
82+
sph_rj%radius_1d_rj_r(1:sph_rj%nidx_rj(1)) &
83+
& = sph_IO%r_gl_1(1:sph_rj%nidx_rj(1))
84+
!$omp end parallel workshare
85+
!
86+
call set_sph_one_over_radius_rj(sph_rj)
9687
!
9788
end subroutine copy_sph_node_4_rj_from_IO
9889
!

src/Fortran_libraries/SERIAL_src/SPH_SPECTR_src/m_spheric_constants.f90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ module m_spheric_constants
2121
!
2222
use m_precision
2323
!
24+
integer(kind = kint), parameter :: igrid_error = -999
2425
integer(kind = kint), parameter :: igrid_half_Chebyshev = 3
2526
integer(kind = kint), parameter :: igrid_Chebyshev = 2
2627
integer(kind = kint), parameter :: igrid_non_equidist = 1

src/Fortran_libraries/SERIAL_src/SPH_SPECTR_src/set_radial_grid_sph_shell.f90

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,24 +114,32 @@ subroutine set_radial_distance_flag(num_layer, nlayer_ICB, &
114114
!
115115
real(kind = kreal), allocatable :: r_eq(:), r_ch(:), r_hch(:)
116116
!
117+
if(num_layer .le. 0) then
118+
iflag_rgrid = igrid_error
119+
return
120+
end if
117121
!
118122
allocate( r_eq(num_layer) )
119123
allocate( r_ch(num_layer) )
120124
allocate( r_hch(num_layer) )
121125
!
122-
call set_equi_distance_shell(num_layer, nlayer_ICB, nlayer_CMB, &
123-
& r_ICB, r_CMB, r_eq)
126+
r_eq(1:num_layer) = 0.0d0
127+
r_ch(1:num_layer) = 0.0d0
128+
r_hch(1:num_layer) = 0.0d0
129+
!
130+
call set_equi_distance_shell(num_layer, nlayer_ICB, &
131+
& nlayer_CMB, r_ICB, r_CMB, r_eq)
124132
call set_chebyshev_distance_shell(num_layer, nlayer_ICB, &
125-
& nlayer_CMB, r_ICB, r_CMB, r_ch)
133+
& nlayer_CMB, r_ICB, r_CMB, r_ch)
126134
call half_chebyshev_distance_shell(num_layer, nlayer_CMB, &
127-
& r_CMB, r_hch)
135+
& r_CMB, r_hch)
128136
!
129137
!
130-
diff_eq_max = abs( r_grid(1) - r_eq(1)) / r_eq(1)
131-
diff_ch_max = abs( r_grid(1) - r_ch(1)) / r_ch(1)
132-
diff_hch_max = abs( r_grid(1) - r_hch(1)) / r_hch(1)
138+
diff_eq_max = 0.0d0
139+
diff_ch_max = 0.0d0
140+
diff_hch_max = 0.0d0
133141
!
134-
do k = 2, num_layer
142+
do k = 1, num_layer
135143
diff = abs( r_grid(k) - r_eq(k)) / r_eq(k)
136144
diff_eq_max = max(diff_eq_max,diff)
137145
!

src/Fortran_libraries/SERIAL_src/SPH_SPECTR_src/set_radius_4_sph_dynamo.f90

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@
1313
!! subroutine set_radius_dat_4_sph_dynamo &
1414
!! & (nri, radius_1d_rj_r, radial_rj_grp, iflag_radial_grid,&
1515
!! & nlayer_ICB, nlayer_CMB, nlayer_2_center, &
16-
!! & ar_1d_rj, r_ele_rj, ar_ele_rj, r_ICB, r_CMB, R_earth)
16+
!! & r_ele_rj, ar_ele_rj, r_ICB, r_CMB, R_earth)
1717
!! type(group_data), intent(in) :: radial_rj_grp
18-
!!***********************************************************************
19-
!!*
20-
!!* ar_1d_rj(k,1) : 1 / r
21-
!!* ar_1d_rj(k,2) : 1 / r**2
22-
!!* ar_1d_rj(k,3) : 1 / r**3
23-
!!*
24-
!!***********************************************************************
18+
!! integer(kind = kint), intent(in) :: nri
19+
!! real(kind = kreal), intent(in) :: radius_1d_rj_r(nri)
20+
!!
21+
!! integer(kind = kint), intent(inout) :: iflag_radial_grid
22+
!! integer(kind = kint), intent(inout) :: nlayer_ICB
23+
!! integer(kind = kint), intent(inout) :: nlayer_CMB
24+
!! integer(kind = kint), intent(inout) :: nlayer_2_center
25+
!! real(kind = kreal), intent(inout) :: r_ele_rj(nri)
26+
!! real(kind = kreal), intent(inout) :: ar_ele_rj(nri,3)
27+
!! real(kind = kreal), intent(inout) :: R_earth(0:2)
28+
!! real(kind = kreal), intent(inout) :: r_ICB, r_CMB
2529
!!@endverbatim
2630
!
2731
!
@@ -47,7 +51,7 @@ module set_radius_4_sph_dynamo
4751
subroutine set_radius_dat_4_sph_dynamo &
4852
& (nri, radius_1d_rj_r, radial_rj_grp, iflag_radial_grid, &
4953
& nlayer_ICB, nlayer_CMB, nlayer_2_center, &
50-
& ar_1d_rj, r_ele_rj, ar_ele_rj, r_ICB, r_CMB, R_earth)
54+
& r_ele_rj, ar_ele_rj, r_ICB, r_CMB, R_earth)
5155
!
5256
use set_radial_grid_sph_shell
5357
use skip_comment_f
@@ -61,7 +65,6 @@ subroutine set_radius_dat_4_sph_dynamo &
6165
integer(kind = kint), intent(inout) :: nlayer_ICB
6266
integer(kind = kint), intent(inout) :: nlayer_CMB
6367
integer(kind = kint), intent(inout) :: nlayer_2_center
64-
real(kind = kreal), intent(inout) :: ar_1d_rj(nri,3)
6568
real(kind = kreal), intent(inout) :: r_ele_rj(nri)
6669
real(kind = kreal), intent(inout) :: ar_ele_rj(nri,3)
6770
real(kind = kreal), intent(inout) :: R_earth(0:2)
@@ -97,13 +100,8 @@ subroutine set_radius_dat_4_sph_dynamo &
97100
!
98101
call set_radial_distance_flag(nri, nlayer_ICB, nlayer_CMB, &
99102
& r_ICB, r_CMB, radius_1d_rj_r, iflag_radial_grid)
103+
if(iflag_radial_grid .eq. igrid_error) return
100104
!
101-
!
102-
do k = 1, nri
103-
ar_1d_rj(k,1) = one / radius_1d_rj_r(k)
104-
ar_1d_rj(k,2) = ar_1d_rj(k,1)**2
105-
ar_1d_rj(k,3) = ar_1d_rj(k,1)**3
106-
end do
107105
!
108106
r_ele_rj(1) = half * radius_1d_rj_r(1)
109107
do k = 2, nri

src/Fortran_libraries/SERIAL_src/SPH_SPECTR_src/t_spheric_rj_data.f90

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
!! subroutine dealloc_rj_param_smp(sph_rj)
1818
!! type(sph_rj_grid), intent(inout) :: sph_rj
1919
!!
20+
!! subroutine set_sph_one_over_radius_rj(sph_rj)
21+
!! type(sph_rj_grid), intent(inout) :: sph_rj
2022
!! subroutine copy_spheric_rj_data &
2123
!! & (ltr_org, rj_org, ltr_new, rj_new)
2224
!! type(sph_rj_grid), intent(in) :: rj_org
@@ -228,6 +230,27 @@ end subroutine dealloc_rj_param_smp
228230
!
229231
! -----------------------------------------------------------------------
230232
! -----------------------------------------------------------------------
233+
!
234+
subroutine set_sph_one_over_radius_rj(sph_rj)
235+
!
236+
type(sph_rj_grid), intent(inout) :: sph_rj
237+
!
238+
integer(kind = kint) :: i
239+
!
240+
!$omp parallel do private(i)
241+
do i = 1, sph_rj%nidx_rj(1)
242+
sph_rj%a_r_1d_rj_r(i) = one / sph_rj%radius_1d_rj_r(i)
243+
sph_rj%ar_1d_rj(i,1) = sph_rj%a_r_1d_rj_r(i)
244+
sph_rj%ar_1d_rj(i,2) = sph_rj%ar_1d_rj(i,1) &
245+
& * sph_rj%a_r_1d_rj_r(i)
246+
sph_rj%ar_1d_rj(i,3) = sph_rj%ar_1d_rj(i,2) &
247+
& * sph_rj%a_r_1d_rj_r(i)
248+
end do
249+
!$omp end parallel do
250+
!
251+
end subroutine set_sph_one_over_radius_rj
252+
!
253+
! -----------------------------------------------------------------------
231254
!
232255
subroutine copy_spheric_rj_data &
233256
& (ltr_org, rj_org, ltr_new, rj_new)

src/programs/data_utilities/Rayleigh_link/t_convert_from_rayleigh.f90

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,8 @@ subroutine copy_rayleigh_radial_data(ra_rst, org_sph)
192192
org_sph%sph_rj%radius_1d_rj_r(k) = ra_rst%r_org(kr)
193193
end do
194194
!$omp end parallel do
195-
!$omp parallel do private(k)
196-
do k = 1, org_sph%sph_rj%nidx_rj(1)
197-
org_sph%sph_rj%a_r_1d_rj_r(k) &
198-
& = one / org_sph%sph_rj%radius_1d_rj_r(k)
199-
org_sph%sph_rj%ar_1d_rj(k,1) = org_sph%sph_rj%a_r_1d_rj_r(k)
200-
org_sph%sph_rj%ar_1d_rj(k,2) = org_sph%sph_rj%ar_1d_rj(k,1) &
201-
& * org_sph%sph_rj%a_r_1d_rj_r(k)
202-
org_sph%sph_rj%ar_1d_rj(k,3) = org_sph%sph_rj%ar_1d_rj(k,2) &
203-
& * org_sph%sph_rj%a_r_1d_rj_r(k)
204-
end do
205-
!$omp end parallel do
195+
!
196+
call set_sph_one_over_radius_rj(sph_rj)
206197
!
207198
end subroutine copy_rayleigh_radial_data
208199
!

0 commit comments

Comments
 (0)